|
SQL Server概要总结
---------张荣
目录
-----------------------------------------------------------------------------
配置数据库选项
附加、分离数据库
数据类型(系统数据类型、用户数据类型)
数据库操作(创建、修改、删除)
表操作以及约束(创建、修改、删除以及各种约束)
数据插入、更新、删除
数据查询(数据查询、聚合函数、分组、联接)
数据库安全模型(SQL身份验证、Windows身份验证)
事务
视图
存储过程
触发器
配置数据库选项
(设置数据库是否只读)
sp_dboption ‘数据库名’,’read only’,’True|false’
如:设置’pubs’数据库为只读
sp_dboption ‘pubs’, ‘read only’,’True’
----------------------------------------------------------
(设置数据库是否自动自动周期性收缩)
sp_dboption ‘数据库名’,’autoshrink’,’True|false’
----------------------------------------------------------
(设置数据库是否为单用户)
sp_dboption ‘数据库名’,’single user’,’True|false’
-------------------------------------------------------------------------------
附加、分离数据库
分离数据库:sp_detach_db ‘数据库名’
如:sp_detach_db ‘pubs’
附加数据库:sp_attach_db ‘数据库名’,’主文件’
如:sp_attach_db ‘pubs’,’D:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf’
-------------------------------------------------------------------------------
数据库操作
----------创建数据库
xp_cmdshell ‘md 新建文件夹名’
比如:xp_cmdshell ‘md f:\dbName’(在本机f盘下建立文件夹dbName)
create database ‘数据库名’
on [primary]
(
name=逻辑名,
filename=‘主数据文件实际路径+主文件名.mdf’,
size=初始化大小(默认为1MB),
maxsize=文件最大大小,
filegrowth=文件增长大小
),
[filegroup 文件组名]
(
name=逻辑名,
filename=‘次数据文件实际路径+次文件名.ndf’,
size=初始化大小(默认为1MB),
maxsize=文件最大大小,
filegrowth=文件增长大小
)
log on
(
name=逻辑名,
filename=‘日志文件实际路径+日志文件名.ldf’,
size=初始化大小(默认为1MB),
maxsize=文件最大大小,
filegrowth=文件增长大小
)
注:逻辑名不能相同
比如:创建一个名叫dbStudent的数据库
xp_cmdshell ‘md f:\student’
create database dbStudent
on
--主数据文件
(
name=stu_data,
filename=‘f:\student\stu_data.mdf ‘,
size=1,
maxsize=5,
filegrowth=1
),
--次要数据文件1
(
name=stu_data1,
filename=‘f:\student\stu_data1.ndf’,
size=1,
maxsize=3,
filegrowth=1
),
--次要数据文件2
(
name=stu_data2,
filename=‘f:\student\stu_data2.ndf’,
size=1,
maxsize=3,
filegrowth=1
)
log on
--日志文件
(
name=stu_log,
filename=‘f:\student\stu_data.ldf’,
size=1,
maxsize=4,
filegrowth=1
)
----------修改数据库
1. 修改数据库名
alter database 数据库名
modify name=新数据库名
2. 修改数据库
(1) 添加文件
alter database 数据库名
add file
(
name=逻辑名,
filename=‘文件实际路径+文件名’,
size=初始化大小(默认为1MB),
maxsize=文件最大大小,
filegrowth=文件增长大小
)
[to filegroup 文件组名]
(2) 修改文件
alter database数据库名
modify file
(
name=逻辑名,
filename=‘文件实际路径+文件名’,
size=初始化大小(默认为1MB),
maxsize=文件最大大小,
filegrowth=文件增长大小
)
(3) 删除文件
alter database 数据库名
remove file 逻辑名
----------删除数据库
drop database 数据库名
-------------------------------------------------------------------------------
表操作以及约束
----------创建表
create table 表名
(
列1 数据类型 约束,
列2 数据类型 约束,
……
)
----------修改表
(1) 修改现有列的数据类型或者加not null
alter table 表名
alter column 列名 类型 not null
(2) 新加一列
alter table 表名
add 列名 类型 是否为空
(3) 删除一列
drop column 列名
----------删除表
drop table 表名
----------约束
(下面以创建表后,添加约束为例)
(1) primary key 主键 (不能再null列上添加主键)
alter table 表名
add constraint 约束名 primary key(列1,列2…)
(2) unique 唯一
alter table 表名
add constraint 约束名 unique(列1,列2…)
(3) identity 自动增长
create table 表名
(
列1 整数类型 identity(初始值,增长值)
…
)
(4) foreign key 外键
alter table 表名
add constraint 约束名 foreign key(外键列) references 主表名(主键列)
比如:(修改B表的u_id列引用A表的id列)
alter table B
add constraint fk_B foreign key(u_id) references A(id)
(5) default 默认约束
alter table 表名
add constraint 约束名 default(默认值) for 列
(6) check 检查约束
alter table 表名
add constraint 约束名 check(列…)
-----------------------------------------------------------------------------
|
|