数据库系统原理与应用教程(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]  -- 默认值[AUTO_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 和 MyISAMAUTO_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: 0mysql> 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: 0mysql> 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)

数据库系统原理与应用教程(023)—— MySQL 创建数据表的各种方法总结相关推荐

  1. navicat mysql 建表语句_Navicat for MySQL怎么/如何创建数据表?Navicat for MySQL创建数据表教程_斗蟹游戏网...

    [斗蟹攻略]Navicat for MySQL是针对MySQL数据库管理而研发的管理工具,创建数据表是其最基本操作,下面就由斗蟹小编介绍Navicat for MySQL创建数据表的方法. Navic ...

  2. MySQL 创建数据表

    MySQL 创建数据表 创建MySQL数据表的SQL语法: CREATE TABLE table_name (column_name column_type); 例如,我们在 PENGKE 数据库中创 ...

  3. mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了innodb.今天查看了myisam与innodb的区别,在该文中的第七条"myisam支持gis数据,innodb不支持.即myisa ...

  4. mysql创建数据表列子,MySQL 创建数据库及简单增删改查

    MySQL 创建数据库及简单增删改查 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 登入: Enter passwor ...

  5. 第10章 MySQL 创建数据表教程

    创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name col ...

  6. MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

  7. MySQL学习之路(八):MySQL创建数据表

    CREATE TABLE语句 在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性( ...

  8. 【MySQL 创建数据表,并添加数据】

    MySQL 中创建数据表,并添加数据 1. 创建表 create table test_table( ID int, Ename varchar(255), job varchar(255), job ...

  9. MySQL创建数据表时设定引擎MyISAM/InnoDB

    我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISA ...

最新文章

  1. include_once 问题
  2. DPOS机制会比POW机制表现更好吗?
  3. FPGA静态时序分析基本概念
  4. 蝉联IDC机器学习平台市场No.1 第四范式市场领先优势持续扩大
  5. 面试题 17.10. 主要元素
  6. 【数据结构与算法】快排、归并 O(nlogn) 基于比较
  7. java list过滤重复的数据_List 去除重复数据的 5 种正确姿势!
  8. oracle ora 47306,Oracle SQL提示含义与示例 --- 分布式查询和并行提示
  9. redmine-project.net vs redmine vs trac vs apis项目管理软件选型比较
  10. Android 系统性能优化(78)---如何优化您的 Android 应用 (Go 版)
  11. 知识图谱盛会再度开启!洞悉KG的前沿技术与最新实践探索!!
  12. 调查:Blackberry开发者中国大版图
  13. 使用Delphi开发linux应用
  14. 【luogu P2319 [HNOI2006]超级英雄】 题解
  15. pytorch torchvision类
  16. 食堂饭卡管理系统C语言——课程设计实习
  17. 离散数学真值表c语言实验报告,离散数学五人表决真值表实验报告
  18. 极域课堂忘记密码,解决方法,万能密码
  19. JS实现中文转拼音首字母和五笔简码
  20. js两时间相减获得天数

热门文章

  1. 各式结构化数据 动态-接入-存储-查询 的处理办法 (第一部分)
  2. 计算机跨学科 自然科学基金资助率,求国家自然科学基金摘要 - 基金申请 - 小木虫 - 学术 科研 互动社区...
  3. 计算机密码锁定了怎么重装,Win7开机限制输错密码次数锁定计算机的设置方法...
  4. Ubuntu系统强制安全重启
  5. zoom 505吉他效果器音色设置
  6. SwiftUI 小技巧之如何使用十六进制颜色color
  7. 统一建模语言UML(四):领域模型和类图
  8. mysql分库分表 tddl_TDDL分库分表规则
  9. Sass Script
  10. awsec2服务器自动扣款吗,大厂风范 – AWS服务自动扣款$46.75 美元申请退款成功! – IT Lab Service – Bing哥的博客...