MySQL - 第3节 - MySQL表的操作

1.创建表

创建表的SQL如下:

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支持的存储引擎。如下:

MySQL - 第3节 - MySQL表的操作_第1张图片

可以看到我当前的MySQL默认使用的是InnoDB存储引擎,如果我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。 


2.创建表案例

在创建表之前需要先选中一个数据库,然后在数据库中创建表,这里我们先创建一个数据库。如下:

MySQL - 第3节 - MySQL表的操作_第2张图片

数据库创建完毕后选中数据库,在该数据库中创建一个user表,并在建表时指定采用MyISAM存储引擎。如下:

MySQL - 第3节 - MySQL表的操作_第3张图片

表创建完毕后在数据库的数据存储路径下的table_operation目录中,就会对应增加三个文件。如下:

MySQL - 第3节 - MySQL表的操作_第4张图片

注:

1.采用不同的存储引擎,创建表时所产生的文件不一样。
• 采用InnoDB存储引擎建表,会产生对应的xxx.frm(表结构)和xxx.ibd(表数据+表索引)文件。
• 采用MyISAM存储引擎建表,会产生对应的xxx.frm(表结构)、xxx.MYD(表数据)和xxx.MYI(表索引)文件。

2.假设采用InnoDB存储引擎建表,建一个表user,这个user表其实是逻辑表,真实物理存储的是user.frm和user.ibd两个物理表文件,逻辑表user是mysql根据user.frm和user.ibd两个物理表渲染出来的。


3.查看表结构

使用 desc 表名 命令可以查看表的结构。如下:

MySQL - 第3节 - MySQL表的操作_第5张图片

说明一下:

• Field表示该字段的名字。
• Type表示该字段的类型。
• Null表示该字段是否允许为空。
• Key表示索引类型,比如主键索引为PRI。
• Default表示该字段的默认值。
• Extra表示该字段的额外信息说明。
如果想要查看创建表时的相关细节,可以使用 show create table 表名 命令。如下:

MySQL - 第3节 - MySQL表的操作_第6张图片


4.修改表

修改表的SQL如下:

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 列名 新列名 新列属性;

修改表的过程中可能会影响到表中的数据,为了演示这个过程,我们在修改表之前先在user表中插入两条数据。如下:


5.删除表

你可能感兴趣的:(MySQL数据库,mysql,数据库,linux,服务器,运维)