微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建表(加约束)

--在自己创建的数据库中创建表

use SB         --使用某个数据库,格式: ues 数据库
create table 123   --格式:create table 自定义的表名
(     --字段名一般为有一定意义的英文
names char (15),-- 格式:字段名 类型 () 括号里面的是允许输入的长度
age int,   --int型的后面不要接长度
years text (20)   --最后一个字段后面不要逗号
)

--在创建表时就可以对字段加上约束:
create table 123
(
names char (15) primary key identity(1,1),--加主键约束,还有标识列属性(两者构成实体完整性)
age int not null,    --加非空约束,不打"not null"认为:可以为空
years text (20) foreign key references 456(years),   --加外键约束,格式:foreign key references 关联的表名(字段名)
class char (20) default '哈哈'   --加认值约束
school char (30) check(school='十五' or school='十') --加检查约束,格式:check (条件表达式)    --
)

--如果在表创建好了以后再加约束,则格式分别为:

-- 主键:
alter table 表名
add constraint PK_字段名 --"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名)   --字段名同上

--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)

--外键约束:
alter table 表名
add constraint FK_字段名 --"FK"为外键的缩写
foreign key 字段名 references 关联的表名 (关联的字段名) --注意'关联的表名'和'关联的字段名'

--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式)   --条件表达式中的条件用关系运算符连接

--认值约束:
alter table 表名
add constraint DF_字段名
default '认值' for 字段名 --其中的'认值'为你想要认的值,注意'for'

--删除创建的约束:
alter table 表名
drop constraint 约束名   --约束名为你前面创建的如:PK_字段 这样的约束名
     --注意:如果约束是在创建表的时候创建的,则不能用命令删除
     --只能在'企业管理器'里面删除

 

sql 级联删除

sqlserver 支持级联更新和删除
oracle 只支持级联删除

 

alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on delete cascade

语法:Foreign Key(column[,...n])references referenced_table_name[(ref_column[,...n])][on delete cascade][on update cascade]注释:column:列名referenced_table_name:外键参考的主键表名称ref_name:外键要参考的表的主键列on delete:删除级联on update:更新级联

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐