SQL Server数据库操作:创建、删除、备份及表管理
需积分: 9 192 浏览量
更新于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 上传
2011-10-14 上传
2020-12-16 上传
2024-05-09 上传
小可爱小可爱小可爱
- 粉丝: 0
- 资源: 18
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践