求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 

mysql教程
MySQL快速学习入门
MySQL是什么
MySQL安装
MySQL示例数据库
MySQL导入示例数据库
MySQL基础教程
MySQL查询数据
MySQL WHERE语句
MySQL插入数据
MySQL更新表数据
MySQL删除表数据
MySQL创建与删除数据库
MySQL创建表
MySQL修改表结构
MySQL重命名表
MySQL数据类型
高级部分
MySQL技巧
MySQL存储过程
MySQL视图
MySQL触发器
MySQL管理
MySQL全文搜索
MySQL函数
应用程序连接
MySQL+Node.js连接和操作
Python+MySQL连接和操作
 
 

MySQL创建表
988 次浏览
21次  

在本教程中,我们将向您展示如何使用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;

我们来更详细地来查看其语法:

首先,指定要在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]

以上语法中最重要的组成部分是:

column_name指定列的名称。每列具有特定数据类型和大小,例如:VARCHAR(255)。

NOT NULL或NULL表示该列是否接受NULL值。

DEFAULT值用于指定列的默认值。

AUTO_INCREMENT指示每当将新行插入到表中时,列的值会自动增加。每个表都有一个且只有一个AUTO_INCREMENT列。

如果要将表的特定列设置为主键,则使用以下语法:

PRIMARY KEY (col1,col2,...)

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;

在本教程中,您已经学习了如何使用MySQL CREATE TABLE语句在数据库中创建新表。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



988 次浏览
21次
 捐助