CREATE TABLE [IF NOT EXISTS] 表名(
字段1, 数据类型 [约束条件] [默认值],
字段2, 数据类型 [约束条件] [默认值],
字段3, 数据类型 [约束条件] [默认值],
……
[表约束条件]
);
加上了IF NOT EXISTS关键字,则表示:如果当前数据库中不存在要创建的数据表,则创建数据表;如果当前数据库中已经存在要创建的数据表,则忽略建表语句,不再创建数据表。[ ]内的都是可选的,根据实际情况;其它的都是必须写的。
举例:
CREATE TABLE emp (
– int类型
emp_id INT,
– 最多保存20个中英文字符
emp_name VARCHAR(20),
– 总位数不超过15位
salary DOUBLE(10,2),
– 日期类型
birthday DATE
);
emp表结构显示:
- 方式二:
语法格式:
CREATE TABLE 表名
AS
查询语句;
举例:
#将employees表中所有的数据添加到emp1中
CREATE TABLE emp1 AS SELECT * FROM employees;
#创建的emp2是空表,是一个表结构
CREATE TABLE emp2 AS SELECT * FROM employees WHERE 1=2;
2、查看表结构
在MySQL中创建好数据表之后,可以查看数据表的结构。MySQL支持使用DESCRIBE/DESC
语句查看数据表结构,也支持使用SHOW CREATE TABLE
语句查看数据表结构。
语法格式如下:
SHOW CREATE TABLE 表名;
使用SHOW CREATE TABLE
语句不仅可以查看表创建时的详细语句,还可以查看存储引擎和字符编码。
修改表指的是修改数据库中已经存在的数据表的结构,而不是修改表中的数据,不要弄错了。
使用 ALTER TABLE 语句可以实现:
- 1、向已有的表中添加列
语法格式:
#【FIRST|AFTER 字段名】是把要插入的字段名放在已经存在的字段的前面或者后面
ALTER TABLE 表名 ADD 【COLUMN】 字段名 字段类型 【FIRST|AFTER 字段名】;
举例:
#向dept表中添加新的一列,列名是job_id,数据类型是varchar(15)
#添加新列默认的位置是放在最后面
ALTER TABLE dept
ADD job_id varchar(15);
- 2、修改现有表中的列
可以修改列的数据类型,长度、默认值和位置
语法格式:
ALTER TABLE 表名 MODIFY 【COLUMN】 字段名 字段类型 【DEFAULT 默认值】【FIRST|AFTER 字段名】;
举例:
#修改dept表中last_name中的数据类型是varchar(30)
ALTER TABLE dept
MODIFY last_name VARCHAR(30);
#修改dept表中salary中的数据类型是double(9,2),默认值是1000
ALTER TABLE dept
MODIFY salary double(9,2) default 1000;
- 3、删除现有表中的列
语法格式:
ALTER TABLE 表名 DROP 【COLUMN】字段名
举例:
ALTER TABLE dept
DROP job_id;
- 4、重命名现有表中的列
语法格式:
ALTER TABLE 表名 CHANGE 【column】 列名 新列名 新数据类型;
举例:
ALTER TABLE dept
CHANGE department_name dept_name varchar(15);
4、重命名表
语法格式:
RENAME TABLE emp
TO myemp;
5、删除表
语法格式: