MySQL语句总结(五)—创建有约束字段数据库表
- 原创
- |
- 浏览:307
- |
- 更新:
创建有约束子段的数据表,方便对数据库表进行差异化管理。
创建主键约束数据表
同时定义单字段主键
语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值 primary key,…);
案例:定义数据表tb_employee2,主键为id,SQL语句如下:
命令语句:create table tb_employee2(id int(11) primary key,name varchar (25),departmentId int(11),salary float);
执行结果:
最后定义单字段主键
语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段名));
案例:定义数据表tb_employee3,主键为id,SQL语句如下:
命令语句:create table tb_employee3(id int(11),name varchar(25),departmentId int(11),salary float,primary key(id));
执行结果:
多字段联合主键
语法结构:create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段1,字段2,…,字段n));
案例:定义数据表tb_employee4,联合主键为name,department,SQL语句如下:
命令语句:create table tb_employee4(name varchar(25),departmentId int(11),salary float,primary key(name,departmentId));
执行结果:
END- 此文章未经许可获取自百度经验
创建外键约束数据表
外键是表中的一个字段,它不是本表的主键,但对应另外一个表的主键,一个表可以有一个或多个外键,多个外键字段名称不能相同。外键用来在两个表之间建立连接,它可以是一列或多列。
外键对应的是参照完整性,一个表的外键可以是空值,如果不为空值,怎每一个外键值必须等于另一个表中主键的某个值。
语法结构:create table 子表名(字段名,数据类型 列级别约束条件 默认值primary key,…constraint 外键约束名称 foreign key(字段) references 父表名(主键字段));
先创建部门表tb_department1:
命令语句:create table tb_department1(id int(11) primary key,name varchar(22) not null,location varchar(50));
案例:定义数据表tb_employee5,让它的键departmentId作为外键连接到tb_department1表的主键id,使用SQL语句如下:
命令语句:create table tb_employee5(id int(11) primary key,name varchar(25),departmentId int(11),salary float,constraint fk_employee_department1 foreign key(departmentId) references tb_department1(id));
执行结果:
END
创建唯一性约束数据表
在定义玩列后直接定义唯一约束,语法如下:
语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 unique,…);
案例:定义数据表tb_department2,指定部门的名称唯一,SQL语句如下:
命令语句:create table tb_department2(id int(11) primary key,name varchar(22) unique,location varchar(50));
执行结果如下:
在定义完所有列之后指定唯一约束,语法规则如下:
语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型默认值 ,…,constraint sth unique(字段1,字段2,…));
案例:定义数据表tb_department3,指定部门的名称唯一,使用的SQL语句如下:
命令语句:create table tb_department3(id int(11) primary key,name varchar(22),location varchar(50),constraint sth unique(name));
执行结果如下:
END
创建默认值约束数据表
默认约束可以指定某列的默认值,如果男性同学较多,性别就可以默认为“男”,不赋值情况下,会自动默认性别为“男”。语法规则如下:
语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 default 默认值 ,…);
案例:定义数据表tb_employee7,指定员工部门编号默认为1111,使用的SQL语句如下:
命令语句:create table tb_employee7(id int(11) primary key,name varchar(25) not null,departmentId int(11) default 1111,salary float);
执行结果如下:
END
创建表属性值的自动增加的数据表
在数据库应用中,经常希望在每次插入新纪录时,系统会自动生成字段的主键值,这可以通过为主键添加AUTO_INCREMENT关键字来实现。MySQL中它的初始值默认为1。注意,一个表只能有一个一个字段使用自增约束,且该字段为主键的一部分。它可以是任意的整数类型(tinyint,smallint,int,bigint等)。
语法结构:create table 表名(字段1 数据类型 默认值 primary key auto_increment,字段2 数据类型 默认值 ,…);
案例:定义数据表tb_employee8,指定员工编号自动递增,使用的SQL语句如下:
命令语句:create table tb_employee8(id int(11) primary key auto_increment,name varchar(25) not null,departmentId int(11),salary float);
执行结果如下:
END















