- 创建表的方法 以及表的完整性约束
- 查看表的结构
- 修改表
- 删除表
1.1 创建表的语法:
CREATE TABLE 表名(
属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束]
)
完整性约束条件有:
约束条件 | 说明 |
---|---|
PRIMARY KEY | 标记该属性为该表的主键,唯一标识 |
FOREIGN KEY | 外键,与其他表的主键相联系 |
NOT NULL | 不为空 |
UNIQUE | 唯一 |
AUTO_INCREMENT | 自动增加,mysql的SQL语言特性 |
DEFAULT | 为该属性设置默认值 |
例如:
CREATE TABLE EXAMPLE0(
ID INT(4) PRIMARY KEY NOT NULL UNIQUE auto_increment,
NAME VARCHAR(20) NOT NULL ,
SEX BOOLEAN
);
1.2 设置表的主键:
属性名 数据类型 PRIMARY KEY
PRIMARY KEY (属性名1,属性名2,属性名3......)
例如:
CREATE TABLE EXAMPLE1(
STU_ID INT PRIMARY KEY,
STU_NAME VARCHAR(20),
STU_SEX BOOLEAN
);
CREATE TABLE EXAMPLE2(
STU_ID INT,
COURSE_ID INT,
GRADE_ID INT,
PRIMARY KEY(STU_ID,COURSE_ID)
);
1.3设置外键
语法:
CONSTRAINT 外键别名 FOREIGN KEY (属性名1,属性名2 ....)
REFERENCE 表名 (属性名1,属性名2 ....)
CREATE TABLE EXAMPLE3(
ID INT PRIMARY KEY,
STU_ID INT,
COURSE_ID INT,
CONSTRAINT c_fk FOREIGN KEY (STU_ID,COURSE_ID)
REFERENCES EXAMPLE2(STU_ID,COURSE_ID)//创建外键
);
1.4设置表的惟一性约束:
AUTO_INCREMENT 是MySQL数据库中的特殊约束条件。用于为表中的新记录自动生成唯一ID。一个表中只能有一个AUTO_INCREMENT约束,且该字段必须为主键的一部分。该约束的字段可以是任意的整形类型(TINYINT,SAMLLINT,MEDIUMAINT,INT,INTEGER,BIGINT)。默认情况下,该字段从一开始自增。插入该处的值为null或者0时从当前值自增。更多内容
语法:
属性名 数据类型 AUTO_INCREMENT
CREATE TABLE EXAMPLE4(
ID INT(5) PRIMARY KEY AUTO_INCREMENT NOT NULL,
STU_ID INT(10) UNIQUE,
NAME varchar(20) NOT NULL
);
如果插入的第一条记录的id设置为8,那么下一条就会使9,一次递增。
1.5 设置默认值
属性名 数据类型 DEFAULT 默认值
CREATE TABLE EXAMPLE5(
ID INT PRIMARY KEY auto_increment,
STU_ID INT unique,
NAME VARCHAR(20) NOT NULL,
ENGLISH varchar(20) default 'ZERO',
MATH float default 10
);
2.1查看表的基本结构语句DESCRIBE
DESCRIBE 表名
//可以缩写为 DESC 表名
例如:
2.2查看表的详细结构语句SHOW CREATE TABLE
3.0 修改表
3.1修改表名
ALTER TABLE 旧表名 RENAME [TO] 新表名;
3.2 修改字段的数据类型
ALTER TABLE 表名 MODIFY 属性名 数据类型;
例:
ALTER TABLE EXAMPLE0 MODIFY NAME VARCHAR(30);
3.3修改字段名
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
3.4 增加字段
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束] [FIRST|AFTER属性名2];
[FIRST|AFTER 属性名2] 用来指定增加的字段的位置:
FIRST | AFTER 属性名2 | NULL |
---|---|---|
第一个字段 | 在属性名2 之后 | 最后一个字段 |
无法添加primary key 约束的字段。
3.4 删除字段
ALTER TABLE 表名 DROP 属性名;
3.5 修改字段的排列位置
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2
//可同时修改属性的数据类型。
3.6 更换表的储存引擎
alter table 表名 engine=引擎名;
3.7 删除外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
4.0 删除表
4.1 删除没有被关联的表
DROP TABLE 表名;
4.2 删除被其他表关联的表
一种方法是先删除关联,再删除该表。