MySQL语句总结(五)—创建有约束字段数据库表

  • 原创
  • |
  • 浏览:307
  • |
  • 更新:

创建有约束子段的数据表,方便对数据库表进行差异化管理。

 

 

创建主键约束数据表

  1. 1

    同时定义单字段主键

    语法结构: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);

    执行结果:

     

    MySQL语句总结(五)—创建有约束字段数据库表
  2. 2

    最后定义单字段主键

    语法结构: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));

    执行结果:

     

    MySQL语句总结(五)—创建有约束字段数据库表
  3. 3

    多字段联合主键

    语法结构: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));

    执行结果:

     

    MySQL语句总结(五)—创建有约束字段数据库表
    END
  4. 3
    此文章未经许可获取自百度经验

创建外键约束数据表

  1. 1

    外键是表中的一个字段,它不是本表的主键,但对应另外一个表的主键,一个表可以有一个或多个外键,多个外键字段名称不能相同。外键用来在两个表之间建立连接,它可以是一列或多列。

    外键对应的是参照完整性,一个表的外键可以是空值,如果不为空值,怎每一个外键值必须等于另一个表中主键的某个值。

    语法结构:create table 子表名(字段名,数据类型 列级别约束条件 默认值primary key,…constraint 外键约束名称 foreign key(字段) references 父表名(主键字段));

  2. 2

    先创建部门表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));

    执行结果:

    MySQL语句总结(五)—创建有约束字段数据库表
    END

创建非空约束数据表

  1. 1

    非空约束是指字段的值不能为空,对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据系统会报错。

    语法结构:create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 not null,…);

    案例:定义数据表tb_employee6,指定员工的名称不能为空,使用的SQL语句如下:

    命令语句:create table tb_employee6(id   int(11) primary key,name varchar(25) not null,departmentId int(11),salary   float);

    执行结果如下:

    MySQL语句总结(五)—创建有约束字段数据库表
    END

创建唯一性约束数据表

  1. 1

     在定义玩列后直接定义唯一约束,语法如下:

    语法结构: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));

    执行结果如下:

    MySQL语句总结(五)—创建有约束字段数据库表
  2. 2

    在定义完所有列之后指定唯一约束,语法规则如下:

    语法结构: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));

    执行结果如下:

    MySQL语句总结(五)—创建有约束字段数据库表
    END

创建默认值约束数据表

  1. 1

    默认约束可以指定某列的默认值,如果男性同学较多,性别就可以默认为“男”,不赋值情况下,会自动默认性别为“男”。语法规则如下:

    语法结构: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);

    执行结果如下:

    MySQL语句总结(五)—创建有约束字段数据库表
    END

创建表属性值的自动增加的数据表

  1. 1

    在数据库应用中,经常希望在每次插入新纪录时,系统会自动生成字段的主键值,这可以通过为主键添加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);

    执行结果如下:

    MySQL语句总结(五)—创建有约束字段数据库表
    END

注意事项

  • 下期内容:修改、添加字段,查看表结构,更改表引擎
  • 后续会更新MySQL数据库数据类型和运算符操作
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部