MYSQL:主键
转自:https://www.cnblogs.com/MrSaver/p/6337439.html
MYSQL:基础—主键
1.什么是主键
表中的每一行都应该具有可以唯一标识自己的一列(或一组列)。而这个承担标识作用的列称为主键。
如果没有主键,数据的管理将会十分混乱。比如会存在多条一模一样的记录,删除和修改特定行十分困难。
2.那些列可以作为主键:
任何列都可以作为主键,只要它满足以下条件:
• 任何两行都不具有相同的主键值。就是说这列的值都是互不相同的。
• 每个行都必须具有一个主键值。主键列不允许设置为NULL。
• 主键列的值不建议进行修改和更新。
3.声明主键的方法
在创建表的时候决定是否有主键:
1.最简单的:
CREATE TABLE t1( id int not null, name char(20) );
2.带主键的:
CREATE TABLE t1( id int not null primary key, name char(20) );
3.带复合主键的:
CREATE TABLE t1( id int not null, name char(20), primary key (id,name) );
4.主键自增的:
create table dd( id int primary key not null auto_increment, name varchar(20), time timestamp default current_timestamp );
创建完后再决定主键
create table t( id int not null, name varchar(200) not null, time timestamp default, current_timestamp ); alter table t add primary key (id);