表是关系型数据库中保存数据的单元,类似 Excel 中的表,创建表时需要指定字段信息。
创建表
语句格式:
CREATE TABLE 表名 (字段名 字段类型, 字段名 字段类型);
使用 MySQLWorkbench 执行实例:
CREATE TABLE test (id BIGINT, name VARCHAR(255));
查询所有表
语句格式:
SHOW TABLES;
使用 MySQLWorkbench 执行实例:
SHOW TABLES;
查看单个表属性
语句格式:
SHOW CREATE TABLE 表名;
使用 MySQLWorkbench 执行实例:
SHOW CREATE TABLE test;
创建表并指定引擎和字符集
表的引擎分为 Myisam 和 InnoDB:
- Myisam -- 只支持数据的增删改查,不支持高级操作,例如事物和外键等。
- InnoDB -- 支持高级操作,默认引擎。
语句格式:
CREATE TABLE 表名 (字段名 字段类型, 字段名 字段类型) ENGINE = 引擎 CHARSET = 字符集;
使用 MySQLWorkbench 执行实例:
CREATE TABLE test (id BIGINT, name VARCHAR(255)) ENGINE = InnoDB CHARSET = utf8;
查看表字段信息
语句格式:
DESC 表名;
使用 MySQLWorkbench 执行实例:
DESC test;
修改表名字
语句格式:
RENAME TABLE 原表名 TO 新表名;
使用 MySQLWorkbench 执行实例:
RENAME TABLE test TO new_test;
修改表引擎及字符集
语句格式:
ALTER TABLE 表名 ENGINE = 引擎 CHARSET = 字符集;
使用 MySQLWorkbench 执行实例:
ALTER TABLE new_test ENGINE = Myisam CHARSET = gbk;
添加表字段
- 在最后位置添加的语句格式:
ALTER TABLE 表名 ADD 字段名 字段类型;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test ADD age TINYINT;
- 在最前位置添加的语句格式:
ALTER TABLE 表名 ADD 字段名 字段类型 FIRST;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test ADD phone_number BIGINT FIRST;
- 在某个字段的后面添加的语句格式:
ALTER TABLE 表名 ADD 要添加的字段名 字段类型 AFTER 要跟随的字段名;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test ADD role VARCHAR(255) AFTER name;
删除表字段
语句格式:
ALTER TABLE 表名 DROP 字段名;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test DROP role;
修改表字段名字和类型
语句格式:
ALTER TABLE 表名 CHANGE 原字段名 新字段名 新字段类型;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test CHANGE age address VARCHAR(255);
修改表字段位置
- 修改字段为表的第一位语句格式:
ALTER TABLE 表名 MODIFY 字段名 字段类型 FIRST;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test MODIFY id BIGINT FIRST;
- 修改字段到某一字段之后语句格式:
ALTER TABLE 表名 MODIFY 要修改位置的字段名 字段类型 AFTER 要跟随的字段名;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test MODIFY phone_number BIGINT AFTER address;
修改表字段类型
语句格式:
ALTER TABLE test MODIFY 字段名 字段类型;
使用 MySQLWorkbench 执行实例:
ALTER TABLE test MODIFY phone_number VARCHAR(255);
删除表
语句格式:
DROP TABLE 表名;
使用 MySQLWorkbench 执行实例:
DROP TABLE new_test;