数据库原理
1.关于表的操作
- 1、创建表
| - 使用create table <表名>
的形式,创建一个表 - 2、删除表
| - 使用drop table <表名>
的形式,删除一个表 - 3 、修改表
| - 使用alter table <表名>
+操作命令
的形式,修改表
操作命令: - 用于向表中添加列:
add <新增列名> <数据类型> <是否为null>
eg:alter table dept add dp_count nvarchar(3) null
- 用于修改列的数据类型:
alter column <列名> <数据类型> <是否为null>
eg:alter table dept alter column dp_count int null
- 用于删除表中指定列:
drop column <列名>
eg:alter table dept drop column dp_count
- 将表中的某列属性更改为NOT NULL:
alter column <列属性名> <数据类型> <是否为NULL>
eg:将student表中的st_sex列属性更改为NOT NULL
answer:alter table student alter column st_sex nvarchar(8) not null
默认值约束( DEFAULT ),但是添加了之后无法删除,就是当指定列属性输入为空时,默认赋值为指定的值:
add default <‘指定的值‘> for <列属性>
eg :alter table student add default ‘福建省‘ for st_from
2.数据完整性
- 默认值对象,通过创建默认值对象,以绑定后解除绑定,再删除默认值对象的形式给空值赋值:
| -create default <对象名>
,创建默认值对象
| -exec sp_bindefault <默认值对象名> , ‘表名.列名‘
,绑定给指定列
| -exec sp_unbindefault ‘表名.列名‘
,解除跟列的绑定,解除之后就不会赋予属性默认值了。
| -drop default <默认值对象名>
,删除默认值对象 - 检查约束(CHECK),如果发现表中存在不符合规定的值,会报错:
add check(规定的属性取值范围)
eg :ALTER TABLE student ADD CHECK (score >= 0 AND score <= 100)
- 主键(primary key)的添加:
add primary key (<作为主键的属性>)
eg :alter table student add primary key (st_id)
- 唯一性约束(unique):
add unique (<要进行唯一性约束的属性>)
eg :alter table student add unique (dp_nm)
- 向表中添加标识列:
add <列名> int identity(<第一行的默认值>,<相邻两个标识列间的增量>) not null
eg :alter table student ADD id INT IDENTITY (1,1) NOT NULL
外键(foreign key),建立完外键之后,往参照表中添加元素的时候要考虑到被参照表中是否存在这个元素,即主键->外键的联系是否存在:
add foreign key(作为外键的属性名称) references <被参照表> (被参照表的主键名称)
eg :alter table student ADD FOREIGN KEY (st_dpid)
REFERENCES dept(dp_id)