查看所有表
show tables;查看表结构
desc 表名获取表的创建语句
show create table 表名 \G;
创建表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名 (
field datatype [约束] [comment '注解内容']
[, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];-
TEMPORARY:表示创建的是一个临时表 -
field:列名 -
datatype:数据类型 -
comment:对列的描述或说明 -
engine:存储引擎,不指定则使用默认存储引擎 -
characterset:字符集,不指定则使用默认字符集 -
collate:排序规则,不指定则使用默认排序规则
下面我们创建两个不同存储引擎的表,来看看区别:

不同的存储引擎,创建表的文件不一样:
-
user1表存储引擎是MyISAM,在数据目录中有三个不同的文件,分别是:-
users1.frm:表结构 -
users1.MYD:表数据,MY表示MyISAM,D表示Data -
users1.MYI:表索引,MY表示MyISAM,I表示Index
-
-
user2表存储引擎是Innodb,在数据目录中有两个不同的文件,分别是:-
users1.frm:表结构 -
user2.ibd:表的数据和索引
-
复制表结构
注意表1只是复制了表2的结构,表1本身是没数据的!
create table 表名1 like 表名2;删除表
drop [temporary] table [if exists] 表名 [, 表名, ...] 修改表
ALTER TABLE 表名 [*alter_option* [, *alter_option*] ...];
*alter_option*: {
*table_options *
| ADD *col_name column_definition *[FIRST | AFTER *col_name*] --first表示插入到表中第一行
| MODIFY *col_name column_definition *[FIRST | AFTER *col_name*] --after表示插入到某一行后面
| DROP *col_name *
| RENAME COLUMN *old_col_name *TO *new_col_name *
| RENAME to *new_tbl_name*
}-
ADD:向表中添加列 -
MODIFY:修改表中现有的列 -
DROP:删除表中现有的列 -
RENAME COLUMN:重命名表中现有的列 -
RENAME [TO|AS] new_tbl_name:重命名当前的表
