数据库系统原理与应用教程(023)—— MySQL 总结创建数据表的各种方法
目录
- 数据库系统原理与应用教程(023)—— MySQL 总结创建数据表的各种方法
-
- 一、使用 create table 命令创建数据表
-
-
- 1、定义主键
- 2、定义外键
- 3、非空约束
- 4、自增列
- 5、索引
- 6、默认值
- 7、字段注释
- 8.添加表注释
- 9.设置表的存储引擎(默认为 innodb)
- 10.设置表中使用的字符集(默认与数据库相同)
-
- 二、在原表的基础上定义新表
- 三、使用 select 创建查询结果表
-
-
- 1、使用查询结果创建一张新表,表结构和查询相同
- 2.使用查询结果创建新表并重新定义表结构
-
- 四、MySQL 常用操作表的命令
-
-
- 1.查看当前数据库中的数据表
- 2.删除数据表
- 3.检查表结构
- 4.查看创建表的句子
-
MySQL 数据表是最终保存数据的地方。在数据库中,所有数据都保存在数据表中。创建数据表
(1)定义数据表中包含的列,包括列名、数据类型、数据完整性约束;
(2)定义数据表选项,包括:存储引擎,字符集;
(3)定义表分区选项。
创建表有三种方式:
一、使用 create table 命令创建数据表
create table 命令语法如下:
create [temporary] table [if not exists] <表名>([列定义选项]) [表选项] [分区选项]; ----------------------------------------------------------------------------------------- [列定义选项]的格式为: <列名1> <类型> <数据完整性约束> [, <列名2> <类型> <数据完整性约束> [, ... [, <列名n> <类型n> <数据完整性约束>]]] <数据完整性约束>的格式: [NOT NULL | NULL] -- 非空约束 [DEFAULT default_value] -- 默认值 [ATO_INCREMENT] -- 定义为自增列(类型必须是整型)
[PRIMARY KEY] -- 主键
[[unique] index|key index_name field_name(length)] -- 索引,唯一索引
[foreign KEY(column_name) REFERENCES table_name(column_name))]
-- 定义外键
[COMMENT 'string'] -- 为字段添加注释
[表选项]的格式为:
ENGINE = engine_name(存储引擎的名称) -- 指定存储引擎
-- 常用的存储引擎有 InnoDB 和 MyISAM
AUTO_INCREMENT = value -- 设置自增字段的起始值
[DEFAULT] CHARACTER SET charset_name(字符集名称) --设置字符集
[COLLATE collation_name(校对集名称)] -- 设置校对集
COMMENT = 'string' -- 表注释
/* 参数说明: (1)temporary:表示创建临时表。只有在当前连接情况下,TEMPORARY 表才是可见的。当连接关闭时,TEMPORARY 表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。 (2)IF NOT EXISTS:如果加了该选项,只有在要创建的表不存在的情况下,才创建该表。如果要创建的表已经存在,则不执行 create table 命令。 (3)表名:如果只指定表名,则把表创建到当前数据库中,可以使用【db_name.table_name】格式指定表名,则把表创建到指定的数据库中。 */
例子:
1、定义主键
/* create table t1( id int primary key, name char(20) ); create table t2( s_id int, c_id int, grade int, primary key(s_id, c_id) ); */
-- 单列主键
mysql> create table t1(
-> id int primary key,
-> name char(20)
-> );
Query OK, 0 rows affected (0.03 sec)
-- 多列主键
mysql> create table t2(
-> s_id int,
-> c_id int,
-> grade int,
-> primary key(s_id, c_id)
-> );
Query OK, 0 rows affected (0.02 sec)
2、定义外键
/* create table dept( dept_id int primary key, dept_name char(20) ); create table stu( stu_id int primary key, stu_name char(20), dept_id int, foreign key(dept_id) references dept(dept_id) ); */
-- 被参照关系
mysql> create table dept(
-> dept_id int primary key,
-> dept_name char(20)
-> );
Query OK, 0 rows affected (0.02 sec)
-- 参照关系,外键为 dept_id,参照 dept 表的 dept_id 取值
mysql> create table stu(
-> stu_id int primary key,
-> stu_name char(20),
-> dept_id int,
-> foreign key(dept_id) references dept(dept_id)
-> );
Query OK, 0 rows affected (0.07 sec)
3、非空约束
/* create table t21( id int primary key, name char(20) not null, gender char(1), birth datetime not null, phone char(20) not null ); */
mysql> create table t21(
-> id int primary key,
-> name char(20) not null,
-> gender char(1),
-> birth datetime not null,
-> phone char(20) not null
-> );
Query OK, 0 rows affected (1.82 sec)
4、自增列
/* create table t22( id int auto_increment primary key, name char(20) not null, gender char(1), birth datetime not null, phone char(20) not null ); */
mysql> insert into t22(name,gender,birth,phone) values('张云','女','1988-1-22','13503732544');
Query OK, 1 row affected (0.00 sec)
mysql> select * from t22;
+----+--------+--------+---------------------+-------------+
| id | name | gender | birth | phone |
+----+--------+--------+---------------------+-------------+
| 1 | 张云 | 女 | 1988-01-22 00:00:00 | 13503732544 |
+----+--------+--------+---------------------+-------------+
1 row in set (0.00 sec)
-- 定义自增列的初始值
/* create table t23( id int auto_increment primary key, name char(20) not null, gender char(1), birth datetime not null, phone char(20) not null ) auto_increment = 1001; */
mysql> create table t23(
-> id int auto_increment primary key,
-> name char(20) not null,
-> gender char(1),
-> birth datetime not null,
-> phone char(20) not null
-> )
-> auto_increment = 1001;
Query OK, 0 rows affected (0.06 sec)
mysql> insert into t23(name,gender,birth,phone) values('张云','女','1988-1-22','13503732544');
Query OK, 1 row affected (0.02 sec)
mysql> select * from t23;
+------+--------+--------+---------------------+-------------+
| id | name | gender | birth | phone |
+------+--------+--------+---------------------+-------------+
| 1001 | 张云 | 女 | 1988-01-22 00:00:00 | 13503732544 |
+------+--------+--------+---------------------+-------------+
1 row in set (0.00 sec)
5、索引
/* create table t24( id int auto_increment primary key, name char(20) not null, gender char(1), birth datetime not null, phone char(20) not null, dept_name char(20), addr varchar(200), index (name), unique index(phone), key idx_dept_birth(dept_name,birth), key idx_addr(addr(12)) ); */
mysql> create table t24(
-> id int auto_increment primary key,
-> name char(20) not null,
-> gender char(1),
-> birth datetime not null,
-> phone char(20) not null,
-> dept_name char(20),
-> addr varchar(200),
-> index (name), -- 没有指定索引的名称,则字段名就是索引名
-> unique index(phone), -- 唯一索引
-> key idx_dept_birth(dept_name,birth), -- 多列索引
-> key idx_addr(addr(12)) -- 根据 addr 字段的左边12个字符创建索引
-> );
Query OK, 0 rows affected (0.03 sec)
mysql> desc t24;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(20) | NO | MUL | NULL | |
| gender | char(1) | YES | | NULL | |
| birth | datetime | NO | | NULL | |
| phone | char(20) | NO | UNI | NULL | |
| dept_name | char(20) | YES | MUL | NULL | |
| addr | varchar(200) | YES | MUL | NULL | |
+-----------+--------------+------+-----+---------+----------------+
7 rows in set (0.06 sec)
mysql> show create table t24\G
*************************** 1. row ***************************
Table: t24
Create Table: CREATE TABLE `t24` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
`gender` char(1) DEFAULT NULL,
`birth` datetime NOT NULL,
`phone` char(20) NOT NULL,
`dept_name` char(20) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `phone` (`phone`),
KEY `name` (`name`),
KEY `idx_dept_birth` (`dept_name`,`birth`),
KEY `idx_addr` (`addr`(12))
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.01 sec)
6、默认值
/* create table t25( id int primary key auto_increment, name char(20), gender char(1) default '男', createtime datetime default now(), phone char(20), addr varchar(200) ); */
mysql> create table t25(
-> id int primary key auto_increment,
-> name char(20),
-> gender char(1) default '男',
-> createtime datetime default now(),
-> phone char(20),
-> addr varchar(200)
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> desc t25;
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(20) | YES | | NULL | |
| gender | char(1) | YES | | 男 | |
| createtime | datetime | YES | | CURRENT_TIMESTAMP | |
| phone | char(20) | YES | | NULL | |
| addr | varchar(200) | YES | | NULL | |
+------------+--------------+------+-----+-------------------+----------------+
6 rows in set (0.01 sec)
mysql> insert into t25(name,phone,addr) values('张平','13637351245','河南省新乡市');
Query OK, 1 row affected (0.36 sec)
mysql> select * from t25;
+----+--------+--------+---------------------+-------------+--------------------+
| id | name | gender | createtime | phone | addr |
+----+--------+--------+---------------------+-------------+--------------------+
| 1 | 张平 | 男 | 2022-07-16 15:06:23 | 13637351245 | 河南省新乡市 |
+----+--------+--------+---------------------+-------------+--------------------+
1 row in set (0.00 sec)
7、字段注释
/* create table t26( id int primary key auto_increment comment '编号', name char(20) comment '姓名', gender char(1) default '男' comment '性别', createtime datetime default now() comment '插入日期', phone char(20) comment '电话', addr varchar(200) comment '地址' ); */
mysql> show create table t26\G
*************************** 1. row ***************************
Table: t26
Create Table: CREATE TABLE `t26` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` char(20) DEFAULT NULL COMMENT '姓名',
`gender` char(1) DEFAULT '男' COMMENT '性别',
`createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '插入日期',
`phone` char(20) DEFAULT NULL COMMENT '电话',
`addr` varchar(200) DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
8、添加表注释
/* create table t31( id int primary key, name char(20) ) comment '测试表'; */
mysql> create table t31(
-> id int primary key,
-> name char(20)
-> )
-> comment '测试表';
Query OK, 0 rows affected (1.83 sec)
mysql> show create table t31\G
*************************** 1. row ***************************
Table: t31
Create Table: CREATE TABLE `t31` (
`id` int(11) NOT NULL,
`name` char(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表'
1 row in set (0.00 sec)
9、设置表的存储引擎(默认为 innodb)
mysql> create table t41(id int);
Query OK, 0 rows affected (1.50 sec)
mysql> show create table t41\G
*************************** 1. row ***************************
Table: t41
Create Table: CREATE TABLE `t41` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> create table t42(id int) engine=myisam;
Query OK, 0 rows affected (0.04 sec)
mysql> show create table t42\G
*************************** 1. row ***************************
Table: t42
Create Table: CREATE TABLE `t42` (
`id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.05 sec)
10、设置表所用的字符集(默认和数据库相同)
mysql> create table t51(id int);
Query OK, 0 rows affected (0.03 sec)
mysql> show create table t51\G
*************************** 1. row ***************************
Table: t51
Create Table: CREATE TABLE `t51` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> create table t52(id int) default charset=latin1;
Query OK, 0 rows affected (0.02 sec)
mysql> show create table t52\G
*************************** 1. row ***************************
Table: t52
Create Table: CREATE TABLE `t52` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
二、在原有表的基础上定义新表
使用 create table like 命令可以利用一个已经存在的表创建一个新表。语法如下:
-- 使用该命令可以创建一个和原数据表结构完全相同的新表,但不会复制原数据表中的数据。
create [temporary] table [if not exists] table_name
like old_tbale_name;
例如:
/* create table t61( id int auto_increment primary key, name char(20) not null, gender char(1), birth datetime not null, phone char(20) not null, dept_name char(20), addr varchar(200), index (name), unique index(phone), key idx_dept_birth(dept_name,birth), key idx_addr(addr(12)) ); */
mysql> create table t61(
-> id int auto_increment primary key,
-> name char(20) not null,
-> gender char(1),
-> birth datetime not null,
-> phone char(20) not null,
-> dept_name char(20),
-> addr varchar(200),
-> index (name),
-> unique index(phone),
-> key idx_dept_birth(dept_name,birth),
-> key idx_addr(addr(12))
-> );
Query OK, 0 rows affected (1.51 sec)
mysql> insert into t61(name,gender,birth,phone,dept_name,addr)
-> values('张华','男','1998-10-8','13937325888','销售部','河南省新乡市');
Query OK, 1 row affected (0.22 sec)
mysql> show create table t61\G
*************************** 1. row ***************************
Table: t61
Create Table: CREATE TABLE `t61` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
`gender` char(1) DEFAULT NULL,
`birth` datetime NOT NULL,
`phone` char(20) NOT NULL,
`dept_name` char(20) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `phone` (`phone`),
KEY `name` (`name`),
KEY `idx_dept_birth` (`dept_name`,`birth`),
KEY `idx_addr` (`addr`(12))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> select * from t61;
+----+--------+--------+---------------------+-------------+-----------+--------------------+
| id | name | gender | birth | phone | dept_name | addr |
+----+--------+--------+---------------------+-------------+-----------+--------------------+
| 1 | 张华 | 男 | 1998-10-08 00:00:00 | 13937325888 | 销售部 | 河南省新乡市 |
+----+--------+--------+---------------------+-------------+-----------+--------------------+
1 row in set (0.00 sec)
-- 根据表 t61 创建表 t62
mysql> create table t62 like t61;
Query OK, 0 rows affected (0.08 sec)
mysql> show create table t62\G
*************************** 1. row ***************************
Table: t62
Create Table: CREATE TABLE `t62` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
`gender` char(1) DEFAULT NULL,
`birth` datetime NOT NULL,
`phone` char(20) NOT NULL,
`dept_name` char(20) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `phone` (`phone`),
KEY `name` (`name`),
KEY `idx_dept_birth` (`dept_name`,`birth`),
KEY `idx_addr` (`addr`(12))
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.01 sec)
-- 表 t62 中没有数据
mysql> select * from t62;
Empty set (0.00 sec)
三、使用 select 查询的结果创建表
可以利用一个 select 查询的结果创建一张新表。语法如下:
-- 使用此命令可以根据查询结果创建一张新表,并且把查询到的数据插入到新建的表中。
create [temporary] table [if not exists] table_name
[(create_definition,...)]
[table_options]
[partition_options]
[ignore | replace]
[as] query_expression
例如:
1、使用查询结果创建一张新表,表结构和查询相同
/* create table emp( e_id int primary key, e_name char(20) not null, gender enum('男','女'), phone char(20) not null, salary int, addr varchar(200) ); */
mysql> create table emp(
-> e_id int primary key,
-> e_name char(20) not null,
-> gender enum('男','女'),
-> phone char(20) not null,
-> salary int,
-> addr varchar(200)
-> );
Query OK, 0 rows affected (0.04 sec)
insert into emp values(1001,'张静静','女','13737325699',5200,'河南省新乡市');
insert into emp values(1002,'张学有','男','13737327788',8500,'河南省新乡市');
insert into emp values(1003,'刘得华','男','13737326688',6400,'河南省开封市');
insert into emp values(1004,'麻花藤','男','13737329988',9200,'河南省商丘市');
insert into emp values(1005,'刘晓庆','女','13737328877',6800,'河南省开封市');
insert into emp values(1006,'码云','男','13737326688',4900,'河南省新乡市');
insert into emp values(1007,'张朝阳','男','13737324567',8600,'河南省郑州市');
insert into emp values(1008,'巩利利','女','13737328888',6300,'河南省新乡市');
insert into emp values(1009,'张云','女','13637326666',7400,'河南省郑州市');
mysql> select * from emp;
+------+-----------+--------+-------------+--------+--------------------+
| e_id | e_name | gender | phone | salary | addr |
+------+-----------+--------+-------------+--------+--------------------+
| 1001 | 张静静 | 女 | 13737325699 | 5200 | 河南省新乡市 |
| 1002 | 张学有 | 男 | 13737327788 | 8500 | 河南省新乡市 |
| 1003 | 刘得华 | 男 | 13737326688 | 6400 | 河南省开封市 |
| 1004 | 麻花藤 | 男 | 13737329988 | 9200 | 河南省商丘市 |
| 1005 | 刘晓庆 | 女 | 13737328877 | 6800 | 河南省开封市 |
| 1006 | 码云 | 男 | 13737326688 | 4900 | 河南省新乡市 |
| 1007 | 张朝阳 | 男 | 13737324567 | 8600 | 河南省郑州市 |
| 1008 | 巩利利 | 女 | 13737328888 | 6300 | 河南省新乡市 |
| 1009 | 张云 | 女 | 13637326666 | 7400 | 河南省郑州市 |
+------+-----------+--------+-------------+--------+--------------------+
9 rows in set (0.02 sec)
mysql> create table t81 as select * from emp where addr='河南省新乡市';
Query OK, 4 rows affected (0.13 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> show create table t81\G
*************************** 1. row ***************************
Table: t81
Create Table: CREATE TABLE `t81` (
`e_id` int(11) NOT NULL,
`e_name` char(20) NOT NULL,
`gender` enum('男','女') DEFAULT NULL,
`phone` char(20) NOT NULL,
`salary` int(11) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> select * from t81;
+------+-----------+--------+-------------+--------+--------------------+
| e_id | e_name | gender | phone | salary | addr |
+------+-----------+--------+-------------+--------+--------------------+
| 1001 | 张静静 | 女 | 13737325699 | 5200 | 河南省新乡市 |
| 1002 | 张学有 | 男 | 13737327788 | 8500 | 河南省新乡市 |
| 1006 | 码云 | 男 | 13737326688 | 4900 | 河南省新乡市 |
| 1008 | 巩利利 | 女 | 13737328888 | 6300 | 河南省新乡市 |
+------+-----------+--------+-------------+--------+--------------------+
4 rows in set (0.00 sec)
2、使用查询结果创建一张新表,并且重新定义表结构
/* create table t82( e_id int primary key, e_name char(20), addr char(100) ) engine = myisam as select e_id,e_name,addr from emp where gender='女'; */
mysql> create table t82(
-> e_id int primary key,
-> e_name char(20),
-> addr char(100)
-> ) engine = myisam
-> as
-> select e_id,e_name,addr
-> from emp
-> where gender='女';
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> show create table t82\G
*************************** 1. row ***************************
Table: t82
Create Table: CREATE TABLE `t82` (
`e_id` int(11) NOT NULL,
`e_name` char(20) DEFAULT NULL,
`addr` char(100) DEFAULT NULL,
PRIMARY KEY (`e_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> select * from t82;
+------+-----------+--------------------+
| e_id | e_name | addr |
+------+-----------+--------------------+
| 1001 | 张静静 | 河南省新乡市 |
| 1005 | 刘晓庆 | 河南省开封市 |
| 1008 | 巩利利 | 河南省新乡市 |
| 1009 | 张云 | 河南省郑州市 |
+------+-----------+--------------------+
4 rows in set (0.00 sec)
四、MySQL 常用的操作表的命令
1、查看当前数据库中的数据表
语法格式如下:
show tables;
例如:
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| dept |
| emp |
| stu |
| t1 |
| t2 |
| t21 |
| t22 |
| t23 |
| t24 |
| t25 |
| t26 |
| t31 |
| t41 |
| t42 |
| t51 |
| t52 |
| t61 |
| t62 |
| t81 |
| t82 |
+----------------+
20 rows in set (0.02 sec)
2、删除数据表
语法格式如下:
drop table 表名;
例如:
mysql> drop table t1;
Query OK, 0 rows affected (0.01 sec)
mysql> drop table t2;
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| dept |
| emp |
| stu |
| t21 |
| t22 |
| t23 |
| t24 |
| t25 |
| t26 |
| t31 |
| t41 |
| t42 |
| t51 |
| t52 |
| t61 |
| t62 |
| t81 |
| t82 |
+----------------+
18 rows in set (0.00 sec)
3、查看表结构
语法格式如下:
describe | desc 表名;
例如:
mysql> desc emp;
+--------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------------+------+-----+---------+-------+
| e_id | int(11) | NO | PRI | NULL | |
| e_name | char(20) | NO | | NULL | |
| gender | enum('男','女') | YES | | NULL | |
| phone | char(20) | NO | | NULL | |
| salary | int(11) | YES | | NULL | |
| addr | varchar(200) | YES | | NULL | |
+--------+-------------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
mysql> describe emp;
+--------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------------+------+-----+---------+-------+
| e_id | int(11) | NO | PRI | NULL | |
| e_name | char(20) | NO | | NULL | |
| gender | enum('男','女') | YES | | NULL | |
| phone | char(20) | NO | | NULL | |
| salary | int(11) | YES | | NULL | |
| addr | varchar(200) | YES | | NULL | |
+--------+-------------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
4、查看创建表的语句
语法格式如下:
show create table 表名;
show create table 表名\G
例如:
mysql> show create table emp;
+-------+---------------------------------------------------------------------------------------------------------------+| Table | Create Table
|+-------+-----------------------------+| emp | CREATE TABLE `emp` (
`e_id` int(11) NOT NULL,
`e_name` char(20) NOT NULL,
`gender` enum('男','女') DEFAULT NULL,
`phone` char(20) NOT NULL,
`salary` int(11) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL,
PRIMARY KEY (`e_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------+
1 row in set (0.00 sec)
mysql> show create table emp\G
*************************** 1. row ***************************
Table: emp
Create Table: CREATE TABLE `emp` (
`e_id` int(11) NOT NULL,
`e_name` char(20) NOT NULL,
`gender` enum('男','女') DEFAULT NULL,
`phone` char(20) NOT NULL,
`salary` int(11) DEFAULT NULL,
`addr` varchar(200) DEFAULT NULL,
PRIMARY KEY (`e_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)