创建用户表
使用SQL语句为指定的表添加约束的方法有两种:
第一种是使用CREATE TABLE 语句在创建表结构的同时添加相关约束
第二种是使用ALTER TABLE语句在已经创建的表中添加约束。
通常建议使用第二种方式
使用CREATE TABLE 语句在创建表结构的同时添加相关约束
CREATE TABLE UserInfo
(
ID INT IDENTITY(1,1) NOT NULL , --编号 自动编号
UserName NVARCHAR(10) NOT NULL, --用户姓名
UserSex NVARCHAR(2) NOT NULL, --性别
PersonID VARCHAR(18) NOT NULL , --身份证号 唯一
Telephone VARCHAR(13) NOT NULL, --电话
UserAddress NVARCHAR(50), --住址
)
CREATE TABLE UserOrder
(
UserId INT IDENTITY(1,1) NOT NULL --编号 自动编号
)
--添加约束
--ALTER TABLE 表名
--ADD CONSTRAINT 约束名 约束类型 具体的约束说明
--1.主键约束(将Id作为主键)
alter table UserInfo
add constranint PK_ID primary key (ID)
--2.唯一约束(身份证号唯一)
alter table UserInfo
add constranint UQ_PersonID unique(PersonID)
--3.默认约束(如果地址不填 默认为“地址不详”)
alter table UserInfo
add constraint DF_UserAddress default('地址不详') for UserAddress
--4.检查约束(姓名男or女)
alter table UserInfoadd
add constraint CK_UserSex check (UserSex='男' or UserSex='女')
--5.添加外键约束 (主表UserInfo和从表UserOrder建立关系,关联字段UserId)
alter table UserOrder
add constraint FK_UserId_UserId foreign key(UserId)references UserInfo(UserId)
--创建用户表
CREATE TABLE UserInfo
(
ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, --编号 主键 自动编号
UserName NVARCHAR(10) NOT NULL CHECK(UserSex='男' or UserSex='女'), --用户姓名
UserSex NVARCHAR(2) NOT NULL, --性别
PersonID VARCHAR(18) NOT NULL UNIQUE, --身份证号 唯一
Telephone VARCHAR(13) NOT NULL, --电话,格式为XXXX-XXXXXXXX或11位手机号
UserAddress NVARCHAR(50) DEFAULT '地址不详', --住址
----CHECK(UserSex='男' or UserSex='女'),
----PRIMARY KEY(ID)
----UNIQUE(PersonID)
----CONSTRAINT 约束名 约束类型(列约束条件,列约束条件)
)
CREATE TABLE UserOrder
(
UserId INT IDENTITY(1,1) NOT NULL FOREIGN KEY REFERENCES UserInfo(ID) --编号 自动编号
----FOREIGN KEY(UserId) REFERENCES UserInfo(ID)
)
--删除约束
--ALTER TABLE 表名
--DROP CONSTRAINT 约束名