①.、打开navicat工具,连接上mysql服务器,选择完数据库之后,选择一个表右击选择设计表(这里为了演示测试,随便选择一个表即可).
①.、打开CMD,输入mysql -uroot -p命令连接mysql,如下图所示
mysql设置主键的代码是PRIMARY KEY (主键字段).
主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字.一个表只有一个主关键字.主关键字又可以称为主键.
扩展资料:
永远也不要更新主键.实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新.如果主键需要更新,则说明主键应对用户无意义的原则被违反了.
主键应当由计算机自动生成.如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义.一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中.
①主键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键.
foreign key (courseid) );
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
primary key (studentno,courseid) );
前提是原来表中没有设置主键,若原先已有主键则会报错.
①外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
①.)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
age int NOT NULL, #非空约束
) ;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询.代码如下:
#创建分数表
create table score
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接
创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表
删除外键:
alter table drop foreign key '外键名'.
注意:
只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除
主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西.外键是别人执行你的东西.也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊
定义主键和外键主要是为了维护关系数据库的完整性,最后提醒一下大家:
第一段:主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄.身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键.
外键用于与另一张表的关联.是能确定另一张表记录的字段,用于保持数据的一致性.比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键.
自增?
主键自增:
CREATE?TABLE?test
id?INT?UNSIGNED?NOT?NULL?PRIMARY?KEY?AUTO_INCREMENT,
)AUTO_INCREMENT?=?100;
可在建表时可用"AUTO_INCREMENT=n"选项来指定一个自增的初始值.
alter?table?tbname?auto_increment?=?x?;
设置表tbname的唯一auto_increment字段起始值从x开始,如果此表数据量很多的话,这样执行起来会很慢
AUTO_INCREMENT说明:
(1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号.编号从1开始,并1为基数递增.
以上就是土嘎嘎小编为大家整理的mysql主键怎么改相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!