
1、为了方便大家理解,使用一个例子来帮助大家理解。意思大概就是通过引用表二中的字段完成对表一字段的约束。方法:
2、这里一共两个表,先创建外键表,因为先有外键,主键才能引用。首先创建数据库,新建查询。
3、新建外键表【teacher】,输入命令:create table teacher。添加需要的字段teacher_xingming并设置它为【主键】。输入命令:teacher_xingming nchar(10) primary key,
4、选中需要执行的命令行,单击【执行】,下方会有是否成功的提示。现在对表进行刷新 *** 作后,会发现已经成功创建了一个新表【teacher】。
5、接下来就要创建学生表了,create table student(\tstudent_xingming nchar(10) primary key not null,——该程序段意思为创建一个【student】表,表中新建一个主键【student_xingming字段,类型为nchar(10) ,并不允许为空。】
6、继续写,输入:student_banji nchar(10) not null,——表中新建一个【student_banji字段,类型为nchar(10) ,并不允许为空。】
7、创建外键,输入命令student_jiaoshi nchar(10) foreign key references teacher(teacher_xingming)看起来很长,实际意思很简单:表中新建一个【student_jiaoshi字段】,它是外键,nchar(10)类型,它来至 teacher_xingming中的内容。
8、选中,点击【执行】,没有错误,就说明成功了。刷新一下表,看看是不是多了一个表【student】?所有约束已经创建好了。
9、来试一下看看是否真正实现所说的功能。打开【teacher表】,填写“刘老师”。打开【student表】,前面任意填,最后填写“刘老师”,没有错误说明没问题。
10、如何想测试约束是否真的有效,填写其他内容,看看是否成功,只要不是【teacher】字段中的内容,他就会报错。
主键约束:唯一,不重复,不能为空 primary key
一个表中有且只有一个主键约束
1.创建表的同时创建主键约束
格式一:
create table 表名(
列名1 数据类型 primary key,
列名2 数据类型
)
主键约束名字的写法: PK_列名
格式二:
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字 primary key(列名1)
)
格式三:
create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名1)
)
2.针对已经存在的表,添加主键约束
格式一:
alter table 表名 modify 列名 数据类型 primary key;
格式二:
alter table 表名 add primary key(列名)
格式三:
alter table 表名 add constraint 主键约束的名字 primary key(列名)
3.删除主键约束
格式:alter table 表名 drop primary key
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)