美文网首页
约束类型测试2

约束类型测试2

作者: name_cc2f | 来源:发表于2019-01-16 09:15 被阅读0次

===设置主键约束 PRIMARY KEY

目的:

1、primary key 字段的值是不允许重复,且不允许NULL(UNIQUE + NOT NULL)

2、单列做主键

3、多列做主键(复合主键)

创建表

示例1:

表school.student6 方法一

mysql> create table student6(

id int primary key not null auto_increment,

name varchar(50) not null,

sex enum('male','female') not null default 'male',

age int not null default 18

);

Query OK, 0 rows affected (0.00 sec)

示例2:

表school.student6 方法一

mysql> create table student6(

id int primary key not null auto_increment,

name varchar(50) not null,

sex enum('male','female') not null default 'male',

age int not null default 18

);

Query OK, 0 rows affected (0.00 sec)

查询表结构

desc student6;

+-------+-----------------------+------+-----+---------+----------------+

| Field | Type                  | Null | Key | Default | Extra          |

+-------+-----------------------+------+-----+---------+----------------+

| id    | int(11)              | NO  | PRI | NULL    | auto_increment |

| name  | varchar(50)          | NO  |    | NULL    |                |

| sex  | enum('male','female') | NO  |    | male    |                |

| age  | int(11)              | NO  |    | 18      |                |

+-------+-----------------------+------+-----+---------+----------------+

4 rows in set (0.00 sec)

![如图](https://img.haomeiwen.com/i15572377/beab11b095f1bd29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

插入数据

mysql> insert into student6 values (1,'alice','female',22);

mysql> insert into student6(name,sex,age) values

('jack','male',19),

('tom','male',23);

Query OK, 2 rows affected (0.00 sec)

Records: 2  Duplicates: 0  Warnings: 0

查询表内容

mysql> select * from student6;

+----+-------+------+-----+

| id | name  | sex  | age |

+----+-------+------+-----+

|  1 | alice | female |  22 |

|  2 | jack  | male  |  19 |

|  3 | tom  | male  |  23 |

+----+-------+------+-----+

3 rows in set (0.00 sec)

(注意观察id列,并没有输入内容,自动增长。如果在此列插入空值呢?)

插入非法数据

MariaDB [company]> insert into student6(name,sex,age) values  (3,'jack','male',19);

ERROR 1136 (21S01): Column count doesn't match value count at row 1

![图示1](https://img.haomeiwen.com/i15572377/c40b3cbe6bee6929.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

主键设置了自动增长,再次尝试插入数据。成功(注意不要插入主键)

相关文章

  • 约束类型测试2

    ===设置主键约束 PRIMARY KEY 目的: 1、primary key 字段的值是不允许重复,且不允许NU...

  • 2019-01-14mysql完整约束

    1,完整约束 注意:unsigned ,zerofill 一般适用于整数类型的值 2,类型测试 1 unsigne...

  • 约束类型测试5

    目的: 解决单列主键无法保持唯一性的问题 例如:记录主机地址和服务的数据表是否运行的表。 ![图示1](https...

  • 约束类型测试6

    目的 配合整数型,主键使用自动增长约束 创建表插入数据 表company.department3 CREATE T...

  • 约束类型测试3

    目的: 1 unique唯一的特性。 2 unique是可以为空的。 为部门创建一张员工信息表 创建表: 表com...

  • 约束类型测试1

    1、===默认值、空值:DEFAULT、NOT NULL (LAB1) 目的: 1 某列设置默认值,并不输入数值,...

  • 约束类型测试4

    目的: 使两张表产生关联,同步更新内容。 创建员工信息表,创建员工薪资表。观察同步效应 创建父表 父表compan...

  • 最优化

    一、最优化问题的分类 1. 根据约束类型分类: (1)无约束问题(2)约束问题 2.根据目标函数及约束函数的类型分...

  • mysql学习笔记(二)

    约束1、约束保证数据的完整性和一致性;2、约束分为表级约束(针对2个或2个以上字段的约束)和列级约束;3、约束类型...

  • 数据表的操作(mysql)

    1、创建数据表 语法:CREATE TABLE 表名( 字段名1 数据类型 约束类型, 字段名2 数据类型 约束类...

网友评论

      本文标题:约束类型测试2

      本文链接:https://www.haomeiwen.com/subject/oefudqtx.html