MySql -- primary key主键约束
4、primary key主键约束
在一张表中:
1) 主键约束是 NOT NULL、UNIQUE唯一的记录。
2) 主键约束必须是唯一的值。
3) 主键约束列不能包含 NULL 值。
注意:每个表都应该有一个主键,并且每个表只能有一个主键。
-- 我们创建一张表
CREATE TABLE `test`.`info2`(
`id` INT(11) NOT NULL,
`idCard` VARCHAR(18) NOT NULL,
`mobile` VARCHAR(11)
) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci;
添加主键约束、
-- 直接使用 PRIMARY KEY (`id`),就可以为 id 字段添加主键约束
CREATE TABLE `test`.`info2`(
`id` INT(11) NOT NULL,
`idCard` VARCHAR(18) NOT NULL,
`mobile` VARCHAR(11),
PRIMARY KEY (`id`)
) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci; -- 如果已经存在表,可以使用sql语句添加。
ALTER TABLE `info2` ADD PRIMARY KEY (`id`); -- 主键约束可以使用多个字段组成
ALTER TABLE `info2` ADD PRIMARY KEY (`id`,`idCard`); 结果:
FIELD TYPE COLLATION NULL KEY DEFAULT Extra PRIVILEGES COMMENT
------ ---------------- ---------------- ------ ------ ------- -------------- ------------------------------- ---------
id INT(11) UNSIGNED (NULL) NO PRI (NULL) AUTO_INCREMENT SELECT,INSERT,UPDATE,REFERENCES
idCard VARCHAR(18) utf8_estonian_ci NO PRI (NULL) SELECT,INSERT,UPDATE,REFERENCES
mobile VARCHAR(11) utf8_estonian_ci YES (NULL) SELECT,INSERT,UPDATE,REFERENCES -- 如果已经存在约束的,可以使用下面的语句进行修改
-- 操作思路为先删除原来的,再添加新的
ALTER TABLE `info2` DROP PRIMARY KEY, ADD PRIMARY KEY (`id`);
移除主键约束:
-- 移除主键的方法较为简单,直接使用 DROP PRIMARY KEY 就可以把全部的主键约束移除
ALTER TABLE `info2` DROP PRIMARY KEY;
MySql -- primary key主键约束的更多相关文章
- FOREIGN KEY 外键约束; UNIQUE和PRIMARY KEY 主键约束、CREATE INDEX建立索引的使用
1)foreign key 是个约束,意思是说如果你给A字段设置了外键约束,以后你要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值.这个的意义就是约束了数据的完 ...
- 关于数据库主从表、主键PRIMARY KEY 外键约束 FOREIGN KEY 约束----NOT NULL,DEFAULT,CHECK
如果由两个列共同组成主键,而且一个子表将主键作为可为空值的外键来继承,就可能得到错误的数据.可在一个外键列中插入有效的值,但在另一个外键列中插入空值.然后,可添加一个数据表检查约束,在可为空的外键中检 ...
- MySQL数据类型--与MySQL零距离接触2-12主键约束
定义一个主键,可以用PRIMARY KEY,也可以用KEY. 主键约束的字段禁止为空. 写入4条记录,查看它的自动编号: 自动编号确实是1 2 3 4 AUTO_INCREMENT字段必须定义为主键, ...
- MySQL中的主键约束和外键约束
1.主键约束 表通常具有包含唯一标识表中每一行的值的一列或一组列. 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性. 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束. 如 ...
- mysql 约束条件 primary key 主键
primary key字段的值不为空且唯一 约束:not null unique 存储引擎:innodb 对于innodb来说,一张表内必须有一个主键 单列做主键多列做主键(复合主键) 通常都是id字 ...
- SQL约束(主键约束、外键约束、自动递增、不允许空值、值唯一、值默认、值限制范围)
NOT NULL 不允许空值约束 NOT NULL 约束强制列不接受 NULL 值(NULL值就是没有值或缺值).NOT NULL 约束强制字段始终包含值,即不向字段添加值,就无法插入新记录或者更新记 ...
- [置顶] T-sql sql server 设置主键约束、标示列、唯一约束、默认值、约束、创建表
----选择数据库 use ythome go ----查看表是否存在 if Exists ( select * from sysobjects where name='sys_menu' and t ...
- 如何在MySQL中设置外键约束以及外键的作用
1.外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 2.外键的配置 1)先创建一个主表,代码如下: #创建表studen ...
- Sql Server约束的学习一(主键约束、外键约束、唯一约束)
一.约束的分类 1.实体约束 实体约束是关于行的,比如某一行出现的值不允许出现在其他行,例如主键约束. 2.域约束 域约束是关于列的,对于所有行,某一列有那些约束,例如检查约束. 3.参照完整性约束 ...
随机推荐
- JavaScirpt 一些基本知识
var name = prompt('请输入你的姓名:'); //弹出输入框 var age = prompt('请输入你的年龄'); var sex = prompt('请输入你的性别'); 检测字 ...
- css样式-区域内文字不会被选中
要注意浏览器的兼容性: -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;
- 与soul上的一个妹子聊天有感
写此篇的原因: 妹子说,我考上公务员了~,当时自己自己顿时哽咽了,不知道说什么,习惯性的说了句,恭喜恭喜啊.感受到妹子的欢喜与喜悦,我也没必要打扰她的兴致,她开心就好了嘛. 每个人的成就都是自己奋斗的 ...
- STM32CubeMX自建MDK工程的基本步骤
根据需要调节各总线频率 最下方选项,√去掉,不用实时更新库,选择自己库所在路径就好. 点击左侧, 选择"Code Generator", 选择.c 和 .h文件不分开 最后,点击& ...
- 【Linux远程连接工具】Xshell、Xftp家庭/学生版(免费使用)
注:Xshell.Xftp家庭/学生版无需激活,可以免费使用! 1.步骤一: 官网下载地址:https://www.netsarang.com/zh/ 选择[所有下载]->[家庭/学校免费] ...
- Docker最全教程——从理论到实战(二十)
前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...
- 删除在wireshark中保存的filter的方法
现在想删除下图的filter,方法是:Edit->preferences->Filter Expressions
- R语言函数化学习笔记3
R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...
- 优化公式排版和Beamer相关知识
做优化的同学可能会碰到排列形如 max ******* s.t. ***** = * ***** > *** ... 的格式 既要要求 max 和 s ...
- Wannafly Camp 2020 Day 2A 托米的字符串
#include <bits/stdc++.h> using namespace std; const int N = 1000005; int n; char str[N]; int a ...