目录
创建表
创建表案例:
查看表结构
修改表
1.增加新列
2.修改列的属性
3.删除列
4.修改表名
5.修改列
删除表
创建表
语法:
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];
说明一下:
- SQL中大写的表示关键字,[ ]中代表的是可选项。
- field表示列名,datatype表示列的类型。
- CHARSET用于指定表所采用的编码格式,如果没有指定则以所在数据库的编码格式为准。
- COLLATE用于指定表所采用的校验规则,如果没有指定则以所在数据库的校验规则为准。
- ENGINE用于指定表所采用的存储引擎。
- COMMENT用于对指定列添加注释信息。
使用show engines 可以查看数据库的存储引擎,
可以看到我当前的MySQL默认使用的是InnoDB引擎,如果我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。
创建表案例:
mysql> create table students(
-> id int,
-> name varchar(50) comment "姓名",
-> gender char(5) comment "性别",
-> bir date comment "生日"
-> )character set utf8 engine MyISAM;
说明一下:
- 采用不同的存储引擎,创建表时所产生的文件不一样。
- 采用InnoDB存储引擎建表,会产生对应的xxx.frm(表结构)和xxx.ibd(表数据+表索引)文件。
- 采用MyISAM存储引擎建表,会产生对应的xxx.frm(表结构)、xxx.MYD(表数据)和xxx.MYI(表索引)文件
查看表结构
语法:
desc 表名;
修改表
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 列名 新列名 新列属性;
首先我想表中插入了数据:
1.增加新列
alter table teacher add gender char(5);
desc teacher;
2.修改列的属性
alter table teacher modify gender varchar(5);
3.删除列
4.修改表名
5.修改列
删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] table_name;