Mysql 约束
来源:互联网 发布:数据库查询重复值 编辑:程序博客网 时间:2024/05/21 12:40
NOT NULL(非空)
字段不接受NULL值,比如姓名不能为空,id不能为空UNIQUE(唯一)name VARCHAR(20) NOT NULL, #设置姓名非空约束
#修改非空约束为空
ALTER TABLE tb_emp MODIFY sname VARCHAR(20)
#在建表后设置为非空约束
ALTER TABLE tb_emp MODIFY sname VARCHAR(20) NOT NULL;
该字段不允许出现重复的值,NULL可以为多个, 比如手机号码或者邮箱都可以使用唯一约束,主键默认唯一email VARCHAR(100) UNIQUE, #设置邮箱唯一约束
#删除唯一约束
ALTER TABLE tb_emp DROP INDEX email
#在建表后设置为唯一 约束
ALTER TABLE tb_emp MODIFY email VARCHAR(100) UNIQUE
主键约束 = 唯一约束+非空约束
一张表都应该要有一个主键且最多只允许有一个主键,主键值必须唯一,不能有NULLid INT PRIMARY KEY AUTO_INCREMENT, #设置id为主键约束且设置成自动增长
#删除主键约束 ,先要修改之前设置的自动增长
ALTER TABLE tb_emp MODIFY id INT
ALTER TABLE tb_emp DROP PRIMARY KEY
#在建表后设置自动增长,添加成主键
ALTER TABLE tb_emp MODIFY id INT PRIMARY KEY
ALTER TABLE tb_emp MODIFY id INT AUTO_INCREMENT
比如给sex设置check约束, sex varchar(2) check(sex='男' or sex='女'),MySQL可以使用check约束,但check约束对数据验证没有任何作用
比如给性别设置默认值为男sex VARCHAR(2) DEFAULT '男',
#解除默认约束
ALTER TABLE tb_emp MODIFY sex VARCHAR(20)
#建表后添加默认约束
ALTER TABLE tb_emp MODIFY sex VARCHAR(20) DEFAULT '女'
FOREIGN KEY(外键)
一张表的外键指向另一张表的主键
外键参造主表,被参造的就是主表,用外建约束的就是从表
#主表
CREATE TABLE tb_dept(
id INT PRIMARY KEY AUTO_INCREMENT,#主键唯一
NAME VARCHAR(20),
description VARCHAR(200)
);
#从表
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(20) NOT NULL,
sex VARCHAR(2) DEFAULT '男',
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
dept_id INT,
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(id)
);将从表的dept_id与主表的主键字段相连如图:
#删除外键约束
ALTER TABLE tb_emp DROP FOREIGN KEY tb_emp_ibfk_1
/*注意:
添加元素必须先要添加主表,再添加从表
删除元素要先删除从表,再删除主表
*/
- Mysql约束
- Mysql约束
- mysql约束
- MySQL约束
- mysql约束
- mysql约束
- mysql约束
- mysql约束
- MYSQL约束
- MySQL约束
- MySQL约束
- MySQL---约束
- MySQL 约束
- [Mysql] 约束
- MySQL-约束
- Mysql 约束
- mysql--约束
- mysql约束
- C语言中有符号数与无符号数相加
- 互联网注定被抛弃,未来30年属于硬科技!深层逻辑是这样的
- eclipse svn中打开xml文件出现Android xml editor cannot process this input 问题
- OpenCV 3.1.0支持向量机SVM
- OpenGL光照计算原理
- Mysql 约束
- Python3.6 IDLE常用快捷键
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
- LINUX连接不上secucrt(ssh启动失败)
- Java实现Base64加密
- 基于TCP的文件传输
- 迭代器Iterator操作及底层实现
- 《嵌入式linux应用开发完全手册》核心笔记(全)
- 数据结构与算法分析 --- 排序算法