数据库的主键指的是一个列或多个列组合,其值能唯一标注表中的每一行,通过他可以强制表的实体完整性。主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键作用:
1、保证实体的完整性;
2、加快数据库的 *** 作速度;
3、在表中添加记录时,DBMS会自动检查记录的主键值,不允许该值与其他值重复。
扩展资料
主码=主键=主关键字,关键字=候选码 候选关键字=候选码中除去主码的其他候选码。
码:唯一标识实体的属性或属性组合称为码。
候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)
主属性:候选码包含的属性(一个或多个属性)。
主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码。
关键字就是为了方便编程人员在打开数据库的时候知道每个表所代表的值是什么。主要起到注释作用。
索引可以提高查询的速度。
其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询 *** 作,则最好建,这样可以加快检索的速度 。
这是数据库主键自增的固然性质所决定的,数据删除后,主键还是会继续增加的,即主键使用过一次将不会再次使用。
例如:这个表中有10条数据,主键为1-10不间断的数字,那删除第十条数据,继续插入的话,id则会变成11,而不是10。通俗的说就是主键使用过一次将不会再次使用。
每次插入则不需要为主键设置参数,数据库会根据设置的递增条件,自动给出主键值。则第一次插入后主键为1,第二次为2,依次递增。
扩展资料:
Mysql、SqlServer主键自动增长的设置方法:
1、在mysql中把主键定义为自动增长标识符类型
如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
createtablecustomers(idintauto_incrementprimarykeynotnull,namevarchar(15))insertintocustomers(name)values("name1"),("name2")
2、在MSSQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
createtablecustomers(idintidentity(1,1)primarykeynotnull,namevarchar(15))insertintocustomers(name)values("name1"),("name2")identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
参考资料来源:百度百科-主键约束
工具/原料
电脑 MySQL
方法/步骤
设置主键:
1、通过终端进入到mysql命令行工具。
2、通过use关键字进行到目标数据库里。
3、如原表已有主键,先把原来的主键删除掉,通过DROPPRIMARYKEY命令:ALTERTABLE`jingyan`DROPPRIMARYKEY。
4、主键已经没有了。
5、通过命令:ADDPRIMARYKEY来添加ALTERTABLE`jingyan`ADDPRIMARYKEY(`id`)。
6、输入后按下回车键即可看到queryok执行成功的字符。
7、回到数据库的可视化工具,即可显示现在的表在id列上添加了主键了。
设置外键:
1、创建好主从表。
2、选择主表,点击设计表,进入到表设计界面。
3、点击外键,进入到外键设置界面。
4、先设置外键名称和选择主表的外键字段。
5、然后在设置外键字段对应从表的数据库、表名和字。
6、点击保存就完成外键设置了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)