MySQL创建表

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 如何使用MySQL CREATE TABLE语句在数据库中创建新表。

MySQL CREATE TABLE语法要在数据库中创建一个新表,可以使用MySQL CREATE TABLE语句。 CREATE TABLE语句是MySQL中最复杂的语句之一。
下面以简单的形式来说明CREATE TABLE语句的语法:
CREATE TABLE [IF NOT EXISTS] table_name(
column_list
) engine=table_type;
SQL
我们来更详细地来查看其语法:

首先,指定要在CREATE TABLE子句之后创建的表的名称。表名在数据库中必须是唯一的。 IF NOT EXISTS是语句的可选部分,允许您检查正在创建的表是否已存在于数据库中。 如果是这种情况,MySQL将忽略整个语句,不会创建任何新的表。 强烈建议在每个CREATE TABLE语句中使用IF NOT EXISTS来防止创建已存在的新表而产生错误。
其次,在column_list部分指定表的列表。字段的列用逗号(,)分隔。我们将在下一节中向您展示如何更详细地列(字段)定义。
第三,需要为engine子句中的表指定存储引擎。可以使用任何存储引擎,如:InnoDB,MyISAM,HEAP,EXAMPLE,CSV,ARCHIVE,MERGE, FEDERATED或NDBCLUSTER。如果不明确声明存储引擎,MySQL将默认使用InnoDB。

注:InnoDB自MySQL 5.5之后成为默认存储引擎。 InnoDB表类型带来了诸如ACID事务,引用完整性和崩溃恢复等关系数据库管理系统的诸多好处。在以前的版本中,MySQL使用MyISAM作为默认存储引擎。

要在CREATE TABLE语句中为表定义列,请使用以下语法:
column_name data_type[size] [NOT NULL|NULL] [DEFAULT value]
[AUTO_INCREMENT]
SQL
以上语法中最重要的组成部分是:

column_name指定列的名称。每列具有特定数据类型和大小,例如:VARCHAR(255)。NOT NULL或NULL表示该列是否接受NULL值。DEFAULT值用于指定列的默认值。AUTO_INCREMENT指示每当将新行插入到表中时,列的值会自动增加。每个表都有一个且只有一个AUTO_INCREMENT列。
如果要将表的特定列设置为主键,则使用以下语法:
PRIMARY KEY (col1,col2,...)
SQL
MySQL CREATE TABLE语句示例下面让我们练习一个例子,在示例数据库(testdb)中创建一个名为tasks的新表,如下所示:
可以使用CREATE TABLE语句创建这个tasks表,如下所示:
CREATE TABLE IF NOT EXISTS tasks (
task_id INT(11) NOT NULL AUTO_INCREMENT,
subject VARCHAR(45) DEFAULT NULL,
start_date DATE DEFAULT NULL,
end_date DATE DEFAULT NULL,
description VARCHAR(200) DEFAULT NULL,
PRIMARY KEY (task_id)
) ENGINE=InnoDB;
SQL
在本教程中,您已经学习了如何使用MySQL CREATE TABLE语句在数据库中创建新表。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL 数据库
mysql 里创建表并插入数据
【10月更文挑战第5天】
119 1
|
3月前
|
存储 关系型数据库 MySQL
在 MySQL 中使用创建表
【8月更文挑战第11天】
148 0
|
5月前
|
存储 数据库
7.Mysql 快速建表,你学会了吗?
7.Mysql 快速建表,你学会了吗?
144 0
|
11月前
|
关系型数据库 MySQL
零基础带你学习MySQL—创建表(四)
零基础带你学习MySQL—创建表(四)
|
SQL 关系型数据库 MySQL
选择*从多个表的MySQL
选择*从多个表的MySQL
|
SQL 数据库 数据安全/隐私保护
MySQL5.创建数据库表
MySQL5.创建数据库表
|
关系型数据库 MySQL
MySQL - MySQL之外键约束
MySQL - MySQL之外键约束
105 0
MySQL - MySQL之外键约束
|
SQL 关系型数据库 MySQL
mysql查看表
查看表
134 0
|
关系型数据库 MySQL
|
关系型数据库 MySQL