第一章 Create
CREATE DATABASE info;
CREATE TABLE STUDENT(
stu_id INT NOT NULL PRIMARY KEY,
stu_name VARCHAR(20) NOT NULL ,
stu_age INT CHECK(STU_AGE > 0 ), -- AND OR NOT 相当于C语言的&& || !
stu_gender VARCHAR(20) ,CHECK(STU_GENDER IN('MALE','FEMALE'))-- SQL语句里面字符出用的是单引号
/* PRIMARY KEY(STU_ID) 可以是单个,也可以是多个(用 , 隔开)*/
);
CREATE TABLE CLASS(
class_id INT NOT NULL PRIMARY KEY,
class_name VARCHAR(20) NOT NULL,
class_teacher VARCHAR(20) NOT NULL
);
CREATE TABLE SCORE(
stu_id INT NOT NULL REFERENCES STUDENT(STU_ID),
class_id INT NOT NULL REFERENCES CLASS(CLASS_ID),
stu_score INT NOT NULL
/* CONSTRAINT XXX[外键约束] FOREIGN KEY(XXX) REFERENCES XXX(YYYY)[必须是依赖表的某一主键] */
);
/*
NOT NULL 非空约束
UNIQUE 唯一性约束
DEFAULT XXX 默认约束
AUTO_INCREMENT 自动增加1
*/
第二章 Delete&Drop
ALTER TABLE <表名> DROP <字段>
# 查看表的基本结构
DESC 表名;
# 查看表的详细结构
SHOW CREATE TABLE <表名G>;# \G 让显示结果更加直观
# 更改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>
# 更改字段
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
# 更改字段为表的第一个字段
ALTER TABLE <表名> MODIFY <字段名> <数据类型> FIRST
# 更改字段放在某一指定列的后面
ALTER TABLE <表名> MODIFY <字段1> AFTER <字段2>
# 修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型> # 新数据类型不能为空
# 添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型>
# 更改存储引擎
ALTER TABLE <表名> ENGINE=<更改后的存储引擎>
# 删除表的外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
# 删除没有被关联的表
DROP TABLE IF EXISTS <没有被关联的表名>
# 删除被关联的表(先删除子表的外键,然后再删父表)