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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MySQL创建数据表(CREATE TABLE语句)

基本语法

在MySQL中,可以使用CREATE TABLE语句创建表。其语法格式:

CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];

CREATE TABLE 命令语法比较多,其主要是由表创建定义(create-definition)、表选项(table-options)和分区选项(partition-options)所组成的。

在指定的数据库中创建表

数据表属于数据库,在创建数据表之前,应使用USE<数据库>指定操作在哪个数据库中进行,如果没有选择数据库,就会抛出No databases seleted的错误

实例1 创建员工tb_emp1,结构如下表

字段名称 数据类型 备注
id INT(ll) 员工编号
name VARCHAR(25) 员工名称
deptld INT(ll) 所在部门编号
salary FLOAT 工资

选择创建表的数据库 test_db,创建 tb_emp1 数据表,输入的 SQL 语句和运行结果如下所示。

mysql> use test_db;
Database changed
mysql> create table tb_emp1
    -> (
    -> id int(11) comment '员工编号',
    -> name varchar(25) comment '员工名称',
    -> depId int(11) comment '所在部门编号',
    -> salary float comment '工资'
    -> );
Query OK, 0 rows affected

mysql>

语句执行后,便创建了一个名称为 tb_emp1 的数据表,使用 SHOW TABLES;语句查看数据表是否创建成功,如下所示。

mysql> show tables;
+-------------------+
| Tables_in_test_db |
+-------------------+
| tb_emp1           |
+-------------------+
1 row in set

mysql>

在创建数据表指定其他参数

有时候在创建表时,需要指定存储引擎或者字符集类型,其语法如下:

CREATE TABLE <数据表名>(
字段名1  数据类型 ,
字段名2  数据类型 ,
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

查看表结构

在 MySQL 中,使用 SQL 语句创建好数据表之后,可以查看结构的定义,以确认表的定义是否正确。在 MySQL 中,查看表结构可以使用 DESCRIBESHOW CREATE TABLE语句。

DESCRIBE <表名>; 简写 DESC <表名>

使用 DESCRIBE 查看表 tb_emp1 的结构,输入的 SQL 语句和运行结果如下所示。

mysql> desc tb_emp1;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | YES  |     | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| depId  | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set

mysql>

其中,各个字段的含义如下:

  • Null:表示该列是否可以存储 NULL 值。
  • Key:表示该列是否已编制索引。PRI 表示该列是表主键的一部分,UNI 表示该列是UNIQUE 索引的一部分,MUL 表示在列中某个给定值允许出现多次。
  • Default:表示该列是否有默认值,如果有,值是多少。
  • Extra:表示可以获取的与给定列有关的附加信息,如 AUTO_INCREMENT 等。

SHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE语句,语法格式如下

SHOW CREATE TABLE <表名>\G;
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
27天前
|
SQL 存储 关系型数据库
轻松入门MySQL:玩转数据表的增、删、改、查(4)
轻松入门MySQL:玩转数据表的增、删、改、查(4)
|
4月前
|
存储 关系型数据库 MySQL
在阿里云的AnalyticDB MySQL版中使用CREATE TABLE语句来创建内表
在阿里云的AnalyticDB MySQL版中使用CREATE TABLE语句来创建内表【1月更文挑战第16天】【1月更文挑战第78篇】
215 3
|
3月前
|
存储 关系型数据库 MySQL
MySQL技能完整学习列表5、数据库操作——1、创建数据库和表——2、修改表结构(ALTER TABLE)
MySQL技能完整学习列表5、数据库操作——1、创建数据库和表——2、修改表结构(ALTER TABLE)
185 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL 创建数据表
MySQL 创建数据表
|
29天前
|
关系型数据库 MySQL 数据库
【MySQL】7. 基本查询(create / retrieve)
【MySQL】7. 基本查询(create / retrieve)
37 0
|
3月前
|
存储 缓存 关系型数据库
Mysql专栏 - 缓冲池补充、数据页、表空间简述
Mysql专栏 - 缓冲池补充、数据页、表空间简述
26 0
|
4月前
|
JSON 关系型数据库 MySQL
这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
【1月更文挑战第17天】【1月更文挑战第84篇】这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
34 1
|
4月前
|
SQL 关系型数据库 MySQL
MySQL操作数据表(DDL语句)
MySQL操作数据表(DDL语句)
44 1
|
4月前
|
存储 SQL 关系型数据库
【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除
【MySQL进阶之路丨第七篇】MySQL数据类型及数据表的创建与删除
34 0
|
5月前
|
SQL 关系型数据库 MySQL
项目4总结:MySQL数据表的检索
项目4总结:MySQL数据表的检索
62 0