Sqlserver学习笔记
1创建数据库
格式:
CREATEDATABASEdatabase_name
ONPRIMARY(在组文件组中指定文件)
(
name = ’数据库文件逻辑名’(在创建数据库后执行的T-SQL语句中引用文件的名称),
fileName = ’数据库文件物理文件名’(含有具体位置,即具体路径(即存储位置)),
size =文件初始大小,
maxsize =文件可以增长到的最大大小(可以为:unlimited),
fileGrowth =文件的增长增量
)
示例:
--建立名为stud的数据库
CREATEDATABASE stud
ONPRIMARY
(
name='stud',
fileName='E:\数据库\stud.mdf',
size= 50MB,
maxsize= 100MB,
fileGrowth= 10%
)
2增加数据库文件容量(文件初始大小
格式:
ALTERDATABASEdatabase_name
MODIFYFILE(这里是指修改文件属性)
(
name = file_name(这里使用的是逻辑名称),
size = newsize(这里的值只能比原来的大)
)
示例:
--修改数据库stud容量的大小[只能比原来大,就是说只能增大]
ALTERDATABASE stud
MODIFYFILE
(
name='stud',
size= 51MB
)
3减小数据库容量
格式:
DBCCSHRINKDATABASE(’database_name’,收缩比)
示例:
--收缩数据库stud的容量,收缩比为1
DBCCSHRINKDATABASE('stud', 1)
4更改数据库名称(文件逻辑名是不会因此改变的)
格式:
EXECSP_RENAMEDB‘oldname’,’newname’
示例:
--把数据库stud名称改为student
EXECSP_RENAMEDB'stud','student'
5删除数据库
格式:
DROPDATABASEdatabase_name
示例:
--删除以上数据库student[注意:数据库名没有用''号]
DROPDATABASE student
6创建表
示例:
--在数据库student中建立一张stud_TABLE[注意先在可视化界面中选定数据库student]
CREATETABLE stud_TABLE
(
学号 INT PRIMARYKEYIDENTITY,
名称 CHAR(6) NOTNULL,
专业方向VARCHAR(10)NOTNULL,
系部代码CHAR(2) NOTNULL,
备注 VARCHAR(5)
)
以上identity是指把其列为标识。
6查看表信息
格式:
EXECSP_HELPTABLE_name(表名)
示例:
--查看表stud_table的各种信息
EXECSP_HELP stud_TABLE
7使用T-SQL语句来修改表结构。
7.1重命名表
格式:
EXECSP_RENAME‘old_TABLE_name’, ‘new_TABLE_name’
示例:
--把表stud_table改名为stud_table1
EXECSP_RENAME'stud_TABLE','stud_table1'
7.2重命名列
格式:EXECSP_RENAME‘TABLE name.旧列名’,’新列名’
示例:
--把表stud_table1中的"备注"列改名为"其它"
EXECSP_RENAME'stud_table1.备注','其它'
7.3删除表里面的所有数据
格式:
TRUNCATETABLE表名
示例:
TRUNCATETABLE table1
8创建主键,外键约束
8.1创建主键约束
格式:
ALTERTABLE表名
ADDCONSTRAINT pk
PRIMARYKEYCLUSTERED(列名)
以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理
8.2创建外键约束
格式:
ALTER TABLE表名
ADD CONSTRAINTfk
FOREIGN KEY(列名)
REFERENCES表名(列名)
示例:
--新建表table1
CREATETABLE table1
(
id INTNOTNULL,
nameCHAR(20)
)
--在表中添加数据[右击表\打开表\手动输入]
--删除表table1中的全部数据[不可撤销]
TRUNCATETABLE table1
--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束
CREATETABLE table2
(
id INTNOTNULL,
nameCHAR(20)
)
--为表table1添加主键约束
ALTERTABLE table1
ADDCONSTRAINT pk_key
PRIMARYKEYCLUSTERED(id)
--为表table2添加主键约束[注意两个表中的主键名不能一样]
ALTERTABLE table2
ADDCONSTRAINT pk_key2
PRIMARYKEYCLUSTERED(id)
--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]
ALTERTABLE table1
ADDCONSTRAINT fk_key
FOREIGNKEY(id)REFERENCES table2(id)
8创建主键,外键约束
8.1创建主键约束
格式:
ALTERTABLE表名
ADDCONSTRAINT pk
PRIMARYKEYCLUSTERED(列名)
以上CLUSTERED(列名):选择要设置主键的列名,pk是主键的名称,以下同理
8.2创建外键约束
格式:
ALTER TABLE表名
ADD CONSTRAINTfk
FOREIGN KEY(列名)
REFERENCES表名(列名)
示例:
--新建表table1
CREATETABLE table1
(
id INTNOTNULL,
nameCHAR(20)
)
--在表中添加数据[右击表\打开表\手动输入]
--删除表table1中的全部数据[不可撤销]
TRUNCATETABLE table1
--给表table1添加主键约束,选择列为id,把表table2中的id列作为table1的外键约束
CREATETABLE table2
(
id INTNOTNULL,
nameCHAR(20)
)
--为表table1添加主键约束
ALTERTABLE table1
ADDCONSTRAINT pk_key
PRIMARYKEYCLUSTERED(id)
--为表table2添加主键约束[注意两个表中的主键名不能一样]
ALTERTABLE table2
ADDCONSTRAINT pk_key2
PRIMARYKEYCLUSTERED(id)
--为表table1添加外键约束[必须先在被参照表中设置主键才能执行以下语句]
ALTERTABLE table1
ADDCONSTRAINT fk_key
FOREIGNKEY(id)REFERENCES table2(id)