SQL Server数据库操作:创建、删除、备份及表管理
需积分: 9 156 浏览量
更新于2024-07-30
收藏 82KB DOC 举报
"这篇资料主要介绍了如何在SQL Server中创建、删除数据库,以及进行数据库备份。同时,它还涵盖了创建和操作表、序列、主键、索引、视图等数据库对象的相关命令和技巧。"
在SQL Server中,创建数据库是一项基本操作。首先,我们可以通过查询`sysdatabases`系统表来判断数据库是否已经存在。如果存在,可以使用`DROP DATABASE`语句删除。例如:
```sql
IF EXISTS (SELECT * FROM sys.databases WHERE name = 'databaseName')
BEGIN
DROP DATABASE databaseName
END
GO
CREATE DATABASE database-name
```
删除数据库的命令很简单,只需要`DROP DATABASE dbname`即可。
数据库的备份至关重要。在SQL Server中,可以使用`sp_addumpdevice`存储过程创建备份设备,然后使用`BACKUP DATABASE`命令进行备份。如:
```sql
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
BACKUP DATABASE pubs TO testBack
```
创建新表时,使用`CREATE TABLE`语句定义表结构,例如:
```sql
CREATE TABLE tabname (
col1 type1 NOT NULL PRIMARY KEY,
col2 type2 NOT NULL
)
```
复制已有表的数据到新表有两种方法。A方法是切换到原数据库并使用`SELECT INTO`:
```sql
USE 原数据库名
GO
SELECT * INTO 目的数据库名.dbo.目的表名 FROM 原表名
```
B方法是使用`CREATE TABLE AS SELECT`:
```sql
CREATE TABLE tab_new AS SELECT col1, col2… FROM tab_old WITH NOCHECK CONSTRAINTS
```
序列在SQL Server中可以通过`CREATE SEQUENCE`定义,例如:
```sql
CREATE SEQUENCE SIMON_SEQUENCE
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;
```
增加或修改表结构,如添加列,使用`ALTER TABLE ADD COLUMN`:
```sql
ALTER TABLE tabname ADD column coltype
```
添加主键:
```sql
ALTER TABLE tabname ADD PRIMARY KEY (col)
```
创建索引:
```sql
CREATE [UNIQUE] INDEX idxname ON tabname (col….)
```
删除索引:
```sql
DROP INDEX idxname ON tabname
```
视图的创建和删除:
```sql
CREATE VIEW viewname AS SELECT statement
DROP VIEW viewname
```
这些基本操作构成了SQL Server中数据库管理的基础。了解并熟练掌握这些命令对于数据库管理和开发至关重要。需要注意的是,一旦添加了主键和索引,通常不允许直接删除或更改其属性,需要先删除再重建。同样,列添加后通常不能删除,且在某些数据库系统(如DB2)中,列的数据类型也无法更改,只能扩展varchar类型的长度。
2020-07-07 上传
2021-10-11 上传
2022-06-05 上传
2024-08-03 上传
2024-05-09 上传
2024-07-04 上传
2024-09-24 上传
2023-04-10 上传
2023-06-10 上传
小可爱小可爱小可爱
- 粉丝: 0
- 资源: 18
最新资源
- AIserver-0.0.9-py3-none-any.whl.zip
- VC++使用SkinMagic换肤的简单实例
- 电信设备-轧机用四列圆柱滚子轴承喷油塞.zip
- devgroups:世界各地的大量开发者团体名单
- 用户级线程包
- xxl-job-executor:与xxl-job-executor的集成
- Java---Linker
- WebServer:基于模拟Proactor的C ++轻量级web服务器
- SkinPPWTL.dll 实现Windows XP的开始菜单(VC++)
- AIOrqlite-0.1.3-py3-none-any.whl.zip
- d3-playground:我在 Ember.js 中使用 D3 的冒险
- elastic_appsearch
- machine-learning-papers-summary:机器学习论文笔记
- 润滑脂
- osm-grandma:QBUS X OSM | OSM-GRANDMA Granny Revive脚本| 高质量RP | 100%免费
- Excel表格+Word文档各类各行业模板-节目主持人报名表.zip