SQL Server从入门到精通(三)
笔记本终于好了,可以给大家更新了今天我们来学习数据表管理,以下所有内容都是根据自学网和百度文库归纳总结
数据表管理
表的基本概念 数据完整性:数据的准确性、可靠性、不准确、不一致的数据,则 导致数据失去了完整性 实体完整性(行):要求表中的所有的行唯一 域完整性约束(列):保证列值符合规定 引用完整性:要求量表相同字段必须一致 主键: v表中一列或几列组合的,能够唯一的标识表中的每一行 √一个表只能有一个主键 √多列组合当主键称为复合主键其值自动被填入 原则:最少性和唯一性 外键: √相对应于主键而言 √一个表可以有多个外键 标识列: √“自动增长列”或“自动编号 √本身没有具体的含义只是用来标识不同的实体 标识列的实现方式 √标识列用来区分不同的实体 √定义成标识列时,需要指定”标识种子”和”标识增量默认值都是1 √标识列通常也被定义为主键 √定义为标识列的列必须是整型 v标识列的数据是自动增加的,不能手动的为标识到插入值 空值:NULL在填入数据值可以不填 默认值:表中的某列,用户不输入数据的时候其值自动被填入 数据类型 char和varchar:汉字占两个字节英文数字或字符占一个 nchar和nvarchar:都占一个字节 固定长度与非固定长度: 身份证号: 住址: 视图创建表 点击右键创建表 后输入数据 输入完成后Ctrl+S后输入表名保存 使用SQL语句创建表 语法: CREATE TABLE 表名 ( 字段1 数据类型 列特征,
) 注意:列特征:是否为主键,是否为空,是否是标识符,是否是默认值 例题:
约束的类型 约束的类型约束的类型: 主键约束:要求主键列不能为窍,要求主键列唯 非空约束:要求该列不能存在空值 唯一约束:要求该列的值必须是唯一的,允许为空,但只能出一同个空值 检查约束:限制某列取值的范围是否合适 默认约束:设计某列的默认值 外键约束:用于在两表之间建立关系,需要指定引用主表是哪一列 主键约束与唯一约束的区别: 1.主键约束所在的列不允许有空值,唯一约束列允许空值 2.每个表中可以有一个主键,多个唯一键 用SQL语句添加约束 T-SQL语句添加约束语法: ALTER TABLE表名 ADD CONSTRAINT约束名约束类型具体的约束说明 约束名的取名规则推荐采用:约束类型_约束列 √主键(PrimaryKey) 约束:如PK_User ld √唯一(Unique Key) 约束:如UQ_User Card ld √默认(Default Key)约束:如DF_User Pass pwd √检查(Check Key) 约束:如CK_Gender v外键(ForeignKey) 约束:如FK_Sort ld 使用SQL语句向已有数据表中添加约束 -SQL语句向已有数据的表添加约束语法: ALTER TABLE表名WITH NO CHECK ADD CONSTRAINT约束名约束类型具体的约束说明对表中现有的数据不做检查,只对添加约束之后再录入的数据进行检查 删除约束 删除外键 语法:alter table 表名 drop constraint 外键约束名 如:alter table s_student drop constraint fk_room;
–添加外键 语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名) 如:alter table t_student add constraint fk_student_room foreign key(fk_room) references t_room(pk_id) –删除主键 语法:alter table 表名 drop constraint 主键约束名 如:alter table s_student drop constraint pk_id; –增加主键 语法:alter 表名 add constraint 主键约束名 primary key(列名) 如:alter s_student add constraint pk_student_id primary key(pk_id);
