1.创建主键语法
创新互联公司服务项目包括钢城网站建设、钢城网站制作、钢城网页制作以及钢城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,钢城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到钢城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
2.创建外键语法
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);
一、mysql 表中如果是单主键的话,那这个主键也会被 系统默认建为 索引
二、mysql 表中如果是复合主键的话,那系统会遵循左对齐原则,即如复合主键 a 和 b字段和c字段..., 默认建的主键索引是abc即主键全有,把所有主键全部建立在一个单独的主键索引中。
主键一般都是设的自增, 可以写null,
insert into table_name values(null,'xx','zz')
工具/原料
电脑 MySQL
方法/步骤
设置主键:
1、通过终端进入到mysql命令行工具。
2、通过use关键字进行到目标数据库里。
3、如原表已有主键,先把原来的主键删除掉,通过DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY;。
4、主键已经没有了。
5、通过命令:ADD PRIMARY KEY来添加ALTER TABLE `jingyan` ADD PRIMARY KEY ( `id` ) 。
6、输入后按下回车键即可看到 query ok执行成功的字符。
7、回到数据库的可视化工具,即可显示现在的表在id列上添加了主键了。
设置外键:
1、创建好主从表。
2、选择主表,点击设计表,进入到表设计界面。
3、点击外键,进入到外键设置界面。
4、先设置外键名称和选择主表的外键字段。
5、然后在设置外键字段对应从表的数据库、表名和字。
6、点击保存就完成外键设置了。
主键是一个索引,mysql的索引是B+树,Mysql会按照键值的大小进行顺序存放,如果我们设置自增id为主键,这个时候主键是按照一种紧凑的接近顺序写入的方式进行存储数据。如果我们用其他字段作为主键的话,此时Mysql不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多额外的开销,同时频繁的移动、分页操作造成了大量的碎片。
- 考虑性能消耗
- 考虑资源消耗
- 考虑分库分表