MySQL学习记录(约束+语法+演示分析)三
来源:互联网 发布:eviews怎么导入数据 编辑:程序博客网 时间:2024/06/03 12:40
#1.建表时最后建立约束
CREATE TABLE tb_emp(id INT PRIMARY KEY AUTO_INCREMENT,
NAME CHAR(18) NOT NULL,
sex VARCHAR(2) CHECK(sex='男' OR sex='女'),
age INT CHECK (age > 18 AND age <60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
dept_id INT REFERENCES tb_dept(dept_id) #外键约束不起作用
)
#2.建表最后最后建立约束
CREATE TABLE tb_emp(
id INT AUTO_INCREMENT,
NAME VARCHAR(18),
sex VARCHAR(2) CHECK(sex='男' OR sex='女'),
age INT CHECK (age > 18 AND age < 60),
address VARCHAR(200),
email VARCHAR(100) UNIQUE,
dept_id INT,
PRIMARY KEY(id),
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(dept_id)
)
#3.建表后建立约束,表级
CREATE TABLE tb_emp(
id INT,
NAME VARCHAR(18),
sex VARCHAR(2),
age INT,
address VARCHAR(200),
email VARCHAR(100),
dept_id INT
);
#添加主键
ALTER TABLE tb_emp
ADD PRIMARY KEY (id)
#更改自动增长
ALTER TABLE tb_emp
MODIFY COLUMN id INT AUTO_INCREMENT
#添加外键
ALTER TABLE tb_emp
ADD CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(dept_id)
#添加唯一键
ALTER TABLE tb_emp
ADD UNIQUE (email)
#添加检查约束
ALTER TABLE tb_emp
ADD CONSTRAINT CHECK (age > 18 AND age < 60)
#最常用的方式
#注意:AUTO_INCREMENT(自动增长)只是mysql特有,其他数据库没有
CREATE TABLE tb_emp(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(18) NOT NULL, #非空约束(NOT NULL)
sex VARCHAR(2) DEFAULT '男' CHECK(sex='男' OR sex='女'),
#默认值(DEFAULT) 检查约束(CHECK)
age INT CHECK(age > 18 AND age <60),address VARCHAR(200),
email VARCHAR(100) UNIQUE, #唯一约束(UNIQUE)
dept_id INT,
#CONSTRAINT FOREIGN KEY 外键名[表名+约束名] (外键) REFERENCES 主表(字段)
CONSTRAINT FOREIGN KEY tb_emp_fk (dept_id) REFERENCES tb_dept(dept_id)
)
#删除约束
#修改非空约束
ALTER TABLE tb_emp MODIFY NAME VARCHAR(18)
#删除唯一约束
ALTER TABLE tb_emp DROP INDEX email
#删除主键约束 注意:如果带有自动增长,必须先修改不是自动增长才能在删除主键。
ALTER TABLE tb_emp MODIFY id INT
ALTER TABLE tb_emp DROP PRIMARY KEY
#删除外键约束 注意:删除外键必须是DDL信息的外键名
ALTER TABLE tb_emp DROP FOREIGN KEY tb_emp_ibfk_1
www.java1234.com
- MySQL学习记录(约束+语法+演示分析)三
- MySQL学习记录(简介+语法+演示分析)一
- MySQL学习记录(插入+删除+演示分析)四 DML
- MySQL学习记录(简单查询+演示分析)五 DML
- MySQL学习记录(常用函数+演示分析)六 DML
- MySQL学习记录(子查询+演示分析)八 DML
- MySQL学习记录(索引+演示分析)九 DML
- MySQL学习记录(视图+演示分析)十 DML
- MySQL学习记录(多表连接查询+演示分析)七 DML
- mysql 学习记录(三)--字段
- MySQL约束语法
- (Mysql 三)mysql的约束
- oracle常用语法-约束<三>
- MySQL数据库(三)---约束、修改数据表
- MySQL基础语法(三)
- u-boot 学习记录 (三) 源码分析(start.S)
- Mysql数据库学习(三):表的crud操作、完整性约束、select各种查询
- MySQL学习之约束
- 不能移动的石子合并
- 【修炼十一】联调
- 最大长方体问题
- CArray类中GetAt()函数与ElementAt()函数的区别
- 区间相交问题
- MySQL学习记录(约束+语法+演示分析)三
- 可以移动的石子合并
- 删数问题
- 整除15 问题
- 子集和问题
- 忙碌又贪心的泥瓦匠
- 运动员最佳配对问题
- “Error:ShouldNotReachHere()”错误的原因
- 0-1背包问题