[MySQL]表的操作
文章目录
- [MySQL]表的操作
- 1. 创建表
- 2. 创建表的示例
- 3. 查看表
- 4. 修改表
- 5. 删除表
- 6. 关于表操作
1. 创建表
语法:
CREATE TABLE [IF NOT EXISTS] table_name(
field1 datatype1 [COMMENT '注释信息'],
field2 datatype2 [COMMENT '注释信息'],
field3 datatype3 [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];
说明:
- field 表示列名
- datatype 表示列的类型
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
2. 创建表的示例
图中两个表创建时在确定字符集,校验规则,存储引擎的写法上有些许不同,但都是正确的。
说明:
- 不同存储引擎,创建表的文件不一样。
3. 查看表
查看数据库内所有表名:
show tables;
查看表结构:
desc table_name;
查看建表详细信息:
show create table table_name;
- 为了阅读方便通常在后面加上\G选项
MySQL记录了创建表的语句,但是是优化过后的语句。
4. 修改表
ALTER TABLE table_name ADD 新增列名 新增列的属性;
ALTER TABLE table_name MODIFY 列名 修改后的列属性;
ALTER TABLE table_name DROP 列名;
ALTER TABLE table_name RENAME [TO] 新表名;
ALTER TABLE table_name CHANGE 列名 新列名 新列属性;
用下图中的表结构和数据做演示:
插入新的属性列到表中:
- 对于新添加的属性列,表内数据是空值。
修改表中属性列属性:
- 对表属性列属性修改的本质是将原有属性覆盖,因此属性说明被覆盖掉了。
删除表中的属性列:
- 删除字段一定要小心,删除字段及其对应的列数据都没了
修改表名:
修改属性列属性:
- –新字段需要完整定义
5. 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] table_name;
删除表示例:
6. 关于表操作
表结构、表存在与否会影响上层程序的使用,因此修改和删除表的操作尽量不要使用。