欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-19 13:01:04
...
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 。这样做不检查已有表的模式是否与你打算创建的表模式相匹配。它只是查看表名是否存在,并且仅在表名不存在时创建它。

以上就是用mysql语句创建数据表详细教程的详细内容,更多请关注其它相关文章!