1主键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键。
2外键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
前提是原来表中没有设置主键,若原先已有主键则会报错。
1、首先新建一张表,设置主键字段,这个等下要关联另外表的外键,如图。
2、然后在新建一张表,添加一个外键的字段,如图。
3、点击外键功能,切换页面如图,这里就可以设置外键了。
4、然后在d出的对话框中,先取个外键的名称,在选择外键字段,如图。
5、然后选择自己外键表所在的数据库,如图。
6、最后选择外键表,再选择外键表主键字段即外键,如图,这样点击保存外键就创建成功了。
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字段中的内容,他就会报错。
1 单击“Office 按钮” ,然后单击“打开”。
2 在“打开”对话框中,选择并打开数据库。
3 在导航窗格中,右键单击要设置主键的表,然后在快捷菜单上,单击“设计视图”。
4 选择要用作主键的一个或多个字段。
5 要选择一个字段,请单击所需字段的行选择器。
6 要选择多个字段,请按住 Ctrl,然后单击每个字段的行选择器。
7 在“设计”选项卡上的“工具”组中,单击“主键”。
以上就是关于sql怎么设置主键全部的内容,包括:sql怎么设置主键、设置数据库外键时如何区分那个为主键表那个为外键表、sql用命令创建主键与外键。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)