创建表
语法:
CREATE TABLE [IF NOT EXISTS] table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
- field 表示列名
- datatype 表示列的类型,在后面还可以加上“comment + ‘列的说明’ ”
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
- 列之间用 “,” 隔开,最后一个属性之后不用加逗号。
- engine 存储引擎,不同的存储引擎,创建表的文件不一样
创建表的案例
假设创建了 uesr_db 数据库,在这个数据库中创建 users 表:
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
不同的存储引擎,创建表的文件不一样
users 表存储引擎是 MyISAM ,在 uesr_db 目录中有三个不同的文件,分别是:
- users.frm:表结构
- users.MYD:表数据
- users.MYI:表索引
如果用 InnoDB 创建 user,在 uesr_db 目录中有两个不同的文件,分别是:
- users.frm:表结构
- users.idb:表数据和结构
查看表结构
查看当前数据库的所有表:
show tables;
查看当前数据库特定的表的详细信息:
desc 表名;
显示曾经创建表时所用的语句
show create table 表名;
或
show create table 表名 \G // 格式化输出更好看
修改表结构
在项目实际开发中,经常修改某个表的结构,比如修改表或字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。还有添加字段,删除字段等等。
修改表名字
ALTER TABLE 旧表名 rename 新表名;
表中新增一列
ALTER TABLE tablename ADD 新增列的列名 新增列类型 [comment] after 新增到哪一列后面
修改列的属性
ALTER TABLE tablename MODIFY 要修改的列名 新的列属性;
// 注意,如果在这里修改时没有加上 comment,原先的 comment 会消失
删除列
ALTER TABLE tablename DROP 要删除的列名;
如果要删除一列一定要小心谨慎,因为删除了就无法恢复了
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename DROP (column);
修改列名
ALTER TABLE tablename change 旧列名 新列名 新列名属性
4177

被折叠的 条评论
为什么被折叠?



