Rumah  >  Artikel  >  pangkalan data  >  用mysql语句创建数据表详细教程

用mysql语句创建数据表详细教程

巴扎黑
巴扎黑asal
2017-05-15 14:19:022881semak imbas

MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。

一般有两种创建表的方法:

1.使用具有交互式创建和管理表的工具;

2.表也可以直接用MySQL语句操纵。

为了用程序创建表,可使用SQL的 CREATE TABLE 语句。值得注意的是,在使用交互式工具时,实际上使用的是MySQL语句。但是,这些语句不是用户编写的,界面工具会自动生成并执行相应的MySQL语句(更改现有表时也是这样)。


表创建基础

为利用 CREATE TABLE 创建表,必须给出下列信息:

1.新表的名字,在关键字 CREATE TABLE 之后给出;

2.表列的名字和定义,用逗号分隔。

CREATE TABLE 语句也可能会包括其他关键字或选项,但至少要包括表的名字和列的细节。下面的MySQL语句创建本书中所用的 customers 表:

输入:

create table customers
(
cust_id                int               NOT NULL AUTO_INCREMENT,
cust_name         char(50)     NOT NULL,
cust_address     char(50)     NULL,
cust_city             char(50)     NULL,
cust_state          char(5)       NULL,
cust_zip             char(10)     NULL,
cust_country      char(50)    NULL,
cust_contact      char(50)    NULL,
cust_email         char(255)  NULL
PRIMARY KEY (cust_id)
)ENGINE = InnoDB;

分析:从上面的例子中可以看到,表名紧跟在 CREATE TABLE 关键字后面。实际的表定义(所有列)括在圆括号之中。各列之间用逗号分隔。这个表由9列组成。每列的定义以列名(它在表中必须是唯一的)开始,后跟列的数据类型(关于数据类型的解释,请参阅第1章。此外,附录D列出了MySQL支持的数据类型)。表的主键可以在创建表时用PRIMARY KEY 关键字指定。这里,列 cust_id 指定作为主键列。整条语句由 右 圆 括 号 后 的 分 号 结 束 。( 现 在 先 忽 略 ENGINE=InnoDB 和AUTO_INCREMENT ,后面会对它们进行介绍。)

语句格式化 可回忆一下,以前说过MySQL语句中忽略空格。语句可以在一个长行上输入,也可以分成许多行。它们的作用都相同。这允许你以最适合自己的方式安排语句的格式。前面的 CREATE TABLE 语句就是语句格式化的一个很好的例子,它被安排在多个行上,其中的列定义进行了恰当的缩进,以便阅读和编辑。以何种缩进格式安排SQL语句没有规定,但我强烈推荐采用某种缩进格式。

处理现有的表 在创建新表时,指定的表名必须不存在,否则将出错。如果要防止意外覆盖已有的表,SQL要求首先手工删除该表,然后再重建它,而不是简单地用创建表语句覆盖它。如果你仅想在一个表不存在时创建它,应该在表名后给出 IF NOT EXISTS 。这样做不检查已有表的模式是否与你打算创建的表模式相匹配。它只是查看表名是否存在,并且仅在表名不存在时创建它。

Atas ialah kandungan terperinci 用mysql语句创建数据表详细教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:MySQL 事务实例教程Artikel seterusnya:关于mysql数据表中NULL值的详解