目录
1. 创建表
1.1 语法
1.2 示例
2. 查看表
2.1 查看当前数据库的表
2.2 查看表结构
3. 修改表
3.1 重命名表名
3.2 修改列名称及属性
3.3 增加字段
3.4 修改字段的属性
3.5 删除字段
4. 删除表
1. 创建表
1.1 语法
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) charset=字符集 collate=校验规则 engine=存储引擎;
说明:
field:表示列名。
datatype:表示列的数据类型。
charset:字符集,如果没有指定字符集,则以所在数据库的字符集为准。
collate:校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
1.2 示例
如上图所示,创建了一个 users 表,其中有字段 id,name,password,birthday,comment 后面表示对该字段的说明。
2. 查看表
2.1 查看当前数据库的表
show tables;
上图表明在 user_db 数据库中有 users 表。
2.2 查看表结构
desc 表名;
上图表明 users 表的字段属性。
show create table 表名;
显示创建表的语句,后续修改表对表进行操作之后也会改变该语句的结果。
将上述语句的 ';' 换成 \G,就可以进行格式化输出了。
3. 修改表
修改表是修改表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。
3.1 重命名表名
alter table 原表名 rename to 新表名;
to 可以省略。
3.2 修改列名称及属性
alter table 表名 change 原列名 新列名 新列的属性;
如上图所示,列的名称和属性会改变,但是列的内容不变。如果修改后的属性不能包含原有列里面某一列的内容,则修改会失败。
如上图,将 address 重新修改为 birthday 时,但是类型为 varchar(1),则此时这个类型装不下第一行这一列的内容,修改失败。
3.3 增加字段
ALTER TABLE tablename ADD column datatype [DEFAULT expr][,column datatype]...;
3.4 修改字段的属性
ALTER TABLE tablename MODIfy column datatype [DEFAULT expr][,column datatype]...;
修改是覆盖性修改,会将修改的字段属性覆盖之前字段的属性。如果修改后的属性不能包含原有列里面某一列的内容,则修改会失败。
如上图所示,修改后 name 字段的说明没了,所以修改是覆盖式的修改。
3.5 删除字段
ALTER TABLE tablename DROP column;
注:删除字段后其对应的列的数据都会被删除。
4. 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...