SQL Server学习之创建表

CREATE TABLE 表名
(
	列名1 数据类型和长度1 列说明1,
	列名1 数据类型和长度1 列说明1,
	......
	列名1 数据类型和长度1 列说明1,
)

表约束

  • 主键(PRIMARY KEY)约束
    • 语法:primary key(列名1,列名2,列名3…)
create table Student
(
	StuID char(10),
	StuName varchar(50) not null,
	StuSex char(2),
	StuClass varchar(50) not null,
	StuScore float,
	PostCode char(6),
	DepID int not null,
	primary key(StuID),
)
  • 唯一性(UNIQUE例)约束 :唯一性约束可以保证除主键外的其他一个或多个列的数据唯一性,以防止在列中输入重复的值。唯一性约束允许一个空值
    语法:constratnt 约束名 unioue(列名)
    例: 为姓名创建唯一性约束
constraint uqeStuName unique(StuName),
  • 检查(CHECK)约束:检查约束指定表中一列或多了可以接受的数据值或格式。例如,表“Student”中的“StuScore”列的值应该大于或等于0
    语法:constraint 约束名 check (逻辑表达式) | (字段名in | between | like)
    例:“StuScore”列的值大于等于0:
constraint chkStuScore check(StuScore>=0),
  • in和between
    例:定义"StuSex"列的值只能是“男”和“女”,"StuScore"列为0-100之间
constraint chkStuSex check(StuSex in('男','女')),
constraint chkStuScore check(StuScore between 0 and 100),
  • like:[]表示取值范围
    如:[0-9]表示数字
    [a,b,z]只能取值a,b,或z
    如:定义列PostCode的值是由6位数字组成的字符串
    同时StuID列由A、B、Z打头,后面跟五位数字
constraint chkPostCode check(PostCode like '[0-9][0-9][0-9][0-9][0-09][0-9]'),
constraint chkStuID check(StuID like '[A,B,Z][0-9][0-9][0-9][0-9][0-9]'),
  • 默认(DEFAULT)约束:指定一个列定义一个默认值,如果没有输入该列的值,则将该列的值设置为默认值(注意:这个约束需要写在当前字段上,不能写在后面)
    语法:
    列名 数据类型 DEFAULT 约束表达式
    如:定义StuSex的默认值为“男”
StuSex char(2) default '男',
  • 外部键(FOREIGN KEY)约束:外键约束是用于建立两个表之间的联系。通过将当前表中的某一列关联到另一个表的主键列,两个表之间的连接。当前表中的列就成为外键。(两表中的名字可以不相同),被参照的必须是主键
  • 语法:
    CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 关联表(关联列名)
    例:已存在表“Department”,其主键列“DepID”,创建“Student”表的外键“DepID”,使其参照主键列
constraint fkDepID foreign key(DepID) references Department (DepID),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值