《MySQL_从零开始学——数据表的基本操作》.doc
文本预览下载声明
4.1 创建数据表
在创建完数据库之后,接下来的工作就是创建数据表。所谓创建数据表指的是在已经创建好了的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程。本节将介绍创建数据表的语法形式、如何添加主键约束、外键约束、非空约束等。
4.1.1 创建表的语法形式
数据表属于数据库,在创建数据表之前,应该使用语句“USE 数据库名”指定操作是在哪个数据库中进行,如果没有选择数据库,会抛出“No database selected”的错误。
创建数据表的语句为 CREATE TABLE,语法规则如下:
CREATE TABLE 表名
(
字段名1 数据类型 [列级别约束条件] [默认值],
字段名2 数据类型 [列级别约束条件] [默认值],
……
[表级别约束条件]
);
使用CREATE TABLE创建表时,必须指定以下信息:
⑴ 要创建的表的名称,不区分大小写,不能使用SQL语言中的关键字,如DROP,ALTER,INSERT等。
⑵ 数据表中每一个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。
【例4.1】创建员工表tb_emp1,结构如【表4.1】
表4.1 tb_emp1 表结构
字段名称 数据类型 备注 id INT(11) 员工编号 name VARCHAR(25) 员工名称 deptId INT(11) 所在部门编号 salary FLOAT 工资 首先选择创建表的数据库,SQL语句如下:
USE test;
创建tb_emp1表,SQL语句为:
CREATE TABLE tb_emp1
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT
);
语句执行后,便创建了一个名称为tb_emp1的数据表,使用SHOW TABLES;语句查看数据表是否创建成功,SQL语句如下:
mysql SHOW TABLES;
+-----------------------+
| Tables_in_ test |
+----------------------+
| tb_emp1 |
+----------------------+
1 row in set (0.00 sec)
可以看到test数据库中已经有了数据表tb_tmp1,数据表创建成功。
4.1.2 使用主键约束
主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key constraint)要求主键列的数据唯一,并且不允许为空。
1. 单字段主键
主键由一个字段组成,SQL语句格式分以下两种情况。
⑴ 在定义列的同时指定主键,语法规则如下:
字段名 数据类型 PRIMARY KEY
【例4.2】定义数据表tb_emp 2,其主键为id,SQL语句如下:
CREATE TABLE tb_emp2
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT
);
⑵ 在定义完所有列之后指定主键。
[CONSTRAINT 约束名] PRIMARY KEY [字段名]
【例4.3】定义数据表tb_emp 3,其主键为id,SQL语句如下:
CREATE TABLE tb_emp3
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(id)
);
上述两个例子执行后的结果是一样的,都会在id字段字段上设置主键约束。
2. 多字段联合主键
主键由多个字段联合组成,语法规则如下:
PRIMARY KEY [字段1, 字段2,. . ., 字段n]
【例4.4】定义数据表tb_emp4,假设表中间没有主键id,为了唯一确定一个员工,可以把name、deptId联合起来做为主键,SQL语句如下:
CREATE TABLE tb_emp4
(
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
PRIMARY KEY(name,deptId)
);
语句执行后,便创建了一个名称为tb_emp4的数据表,name字段和deptId字段组合在一起成为tb_emp4的多字段联合主键。
4.1.3 使用外键约束
外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。
外键:
显示全部