Appearance
创建表
CREATE TABLE [IF NOT EXISTS] 表名 ( 字段1, 数据类型 [约束条件] [默认值], 字段2, 数据类型 [约束条件] [默认值], ...,
[表约束条件] );
方式一
sqlCREATE TABLE IF NOT EXISTS mytable ( id INT, # 数据类型 VARCHAR 必须指明长度 emp_name VARCHAR(15), hire_data DATE );方式二
sql# 基于现有表创建新的表,同时导入查询的数据。 CREATE TABLE mytable2 AS # 查询语句中字段的别名会作为新创建的表的字段的名称 SELECT last_name, salary sal # FROM 数据库.表明 FROM employees; # 复制表结构及其数据 CREATE TABLE employees_copy AS SELECT * FROM employees; # 复制表结构 CREATE TABLE employees_copy2 AS SELECT * FROM employees WHERE NULL;
查看表
sql
DESC mytable;
SHOW CREATE TABLE mytable;
SELECT * FROM mytable;修改表
添加一个字段
sql# 默认添加到最后一个字段 ALTER TABLE mytable # 一共有 10 位,小数位 2 位,整数位 8 位。 # 必须指定数据类型 ADD salary DOUBLE(10, 2); ALTER TABLE mytable ADD phone_number VARCHAR(20) # 添加到最前面 FIRST; ALTER TABLE mytable ADD email VARCHAR(45) # 添加到 emp_name 后面 AFTER emp_name;修改一个字段(数据类型、长度、默认值、位置)
sql# 修改长度 ALTER TABLE mytable MODIFY emp_name VARCHAR(20); # 修改长度和默认值 ALTER TABLE mytable MODIFY emp_name VARCHAR(20) DEFAULT 'foo'; # 修改位置 ALTER TABLE mytable MODIFY emp_name VARCHAR(20) AFTER salary;重命名一个字段
sqlALTER TABLE mytable # 必须指定数据类型 CHANGE salary monthly_salary DOUBLE(10, 2);删除一个字段
sqlALTER TABLE mytable DROP COLUMN email;
重命名表
方式一
sqlRENAME TABLE mytable TO my;方式二
sqlALTER TABLE mytable RENAME TO my;
删除表
表结构和数据都被清空
sql
DROP TABLE mytable;
# 或
DROP TABLE IF EXISTS mytable;清空表
表结构还存在,数据被清空。
sql
TRUNCATE TABLE mytable;