SQL主键:Primary Key
主键必须包含值,换句话说,所有记录的主键都不能出现相同的值。此外,主键必须是一个具体的值,不能是 NULL 值。
当主键包含多个字段时,又称为复键(Composite Primary Key)。
注意事项
在设计主键时,应使用尽可能少的字段,这不但能减少存储空间,还能查询性能。主键包含的字段越少,所需要的存储空间就越小,就性能而言,更少的数据意味着更快速地处理。SQL 规定,主键长度不能超过 900 个字节。Oracle 规定,主键不能超过 32 个字段。
示例
下面的 SQL 语句将创建 website 表,并将 id 字段定义为主键:
一行将 id 字段定义为主键。CREATE TABLE website (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
url VARCHAR(30),
age TINYINT UNSIGNED NOT NULL,
alexa INT UNSIGNED NOT NULL,
uv FLOAT DEFAULT '0',
country CHAR(3) NOT NULL ,
PRIMARY KEY (id)
);
如果 website 表和 id 字段都已经存在,则可以使用 ALTER TABLE 令添加主键,语法如下:
ALTER TABLE website ADD PRIMARY KEY (id);
注意,只有在创建数据表时,那些被声明为不能包含 NULL 值的字段,才能使用 ALTER TABLE 令添加为主键。
主键包含多个字段
在创建数据表时,为多个字段添加主键可以使用下面的 SQL 语句:
一行将 id 和 url 字段设置为主键。CREATE TABLE website (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
url VARCHAR(30),
age TINYINT UNSIGNED NOT NULL,
alexa INT UNSIGNED NOT NULL,
uv FLOAT DEFAULT '0',
country CHAR(3) NOT NULL ,
PRIMARY KEY (id, url)
);
如果 website 表已经存在,则可以使用下面的 SQL 语句在 id 和 url 字段上添加主键:
ALTER TABLE website
ADD CONSTRAINT PK_CUSTID PRIMARY KEY (id, url);
删除主键
使用下面的语句可以删除表的主键约束:
ALTER TABLE website DROP PRIMARY KEY;
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 和柳亚子(和柳亚子先生于田)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
