加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

约束

发布时间:2020-12-12 00:03:08 所属栏目:MySql教程 来源:网络整理
导读:div id="cnblogs_post_body" div style="text-align: right;" 一 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: UNSIGNED 无符号 ZEROFILL 使用0填充 div class="cnblogs_code_toolbar"span class="cnblo

<div id="cnblogs_post_body">
<div style="text-align: right;">

一 介绍

约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据的完整性和一致性
主要分为:

UNSIGNED 无符号
ZEROFILL 使用0填充

<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a title="复制代码" onclick="copyCnblogsCode(this)" href="javascript:void(0);">复制代码
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a title="复制代码" onclick="copyCnblogsCode(this)" href="javascript:void(0);">复制代码

说明:

12,)  null default 203

二 not null与default

是否可空,null表示空,非字符串
not null - 不可空
null - 可空

默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值
create table tb1(
nid int not null defalut 2,
num int not null
)

================== null====================> create table t1(id int); mysql>+-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+> insert into t1 values(); mysql> create table t2(id int <span style="color: #0000ff;">not null); <span style="color: #008000;">#<span style="color: #008000;">设置字段id不为空
mysql><span style="color: #000000;"> desc t2;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
+-------+---------+------+-----+---------+-------+<span style="color: #000000;">
mysql
> insert into t2 values(); <span style="color: #008000;">#
<span style="color: #008000;">不能插入空

ERROR 1364 (HY000): Field <span style="color: #800000;">'
<span style="color: #800000;">id<span style="color: #800000;">' doesn<span style="color: #800000;">'<span style="color: #800000;">t have a default value

==================default====================
<span style="color: #008000;">#<span style="color: #008000;">设置id字段有默认值后,则无论id字段是null还是not null,都可以插入空,插入空默认填入default指定的默认值
mysql> create table t3(id int default 1<span style="color: #000000;">);
mysql> alter table t3 modify id int <span style="color: #0000ff;">not null default 1<span style="color: #000000;">;

==================综合练习====================<span style="color: #000000;">
mysql><span style="color: #000000;"> create table student(
-> name varchar(20) <span style="color: #0000ff;">not<span style="color: #000000;"> null,-> age int(3) unsigned <span style="color: #0000ff;">not null default 18<span style="color: #000000;">,-> sex enum(<span style="color: #800000;">'<span style="color: #800000;">male<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">female<span style="color: #800000;">') default <span style="color: #800000;">'<span style="color: #800000;">male<span style="color: #800000;">'<span style="color: #000000;">,-> hobby set(<span style="color: #800000;">'<span style="color: #800000;">play<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">study<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">read<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">music<span style="color: #800000;">') default <span style="color: #800000;">'<span style="color: #800000;">play,music<span style="color: #800000;">'
-><span style="color: #000000;"> );
mysql><span style="color: #000000;"> desc student;
+-------+------------------------------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------------------------+------+-----+------------+-------+
| name | varchar(20) | NO | | NULL | |
| age | int(3) unsigned | NO | | 18 | |
| sex | enum(<span style="color: #800000;">'<span style="color: #800000;">male<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">female<span style="color: #800000;">') | YES | | male | |
| hobby | set(<span style="color: #800000;">'<span style="color: #800000;">play<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">music<span style="color: #800000;">') | YES | | play,music | |
+-------+------------------------------------+------+-----+------------+-------+<span style="color: #000000;">
mysql> insert into student(name) values(<span style="color: #800000;">'<span style="color: #800000;">egon<span style="color: #800000;">'<span style="color: #000000;">);
mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
+------+-----+------+------------+
| name | age | sex | hobby |
+------+-----+------+------------+
| egon | 18 | male | play,music |
+------+-----+------+------------+

三 unique

============设置唯一约束 UNIQUE===============20100方法二:
create table department2(
id int,name varchar(
20<span style="color: #000000;">),comment varchar(
100<span style="color: #000000;">),constraint uk_name unique(name)
);

mysql> insert into department1 values(1,<span style="color: #800000;">'<span style="color: #800000;">IT<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">技术<span style="color: #800000;">'<span style="color: #000000;">);
Query OK,1 row affected (0.00<span style="color: #000000;"> sec)
mysql> insert into department1 values(1,<span style="color: #800000;">'<span style="color: #800000;">技术<span style="color: #800000;">'<span style="color: #000000;">);
ERROR 1062 (23000): Duplicate entry <span style="color: #800000;">'<span style="color: #800000;">IT<span style="color: #800000;">' <span style="color: #0000ff;">for key <span style="color: #800000;">'<span style="color: #800000;">name<span style="color: #800000;">'

mysql> create table t1(id int 0.02mysql><span style="color: #000000;"> desc t1;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
+-------+---------+------+-----+---------+-------+
1 row <span style="color: #0000ff;">in
set (0.00 sec)

四 primary key

primary key字段的值不为空且唯一

一个表中可以:

单列做主键
多列做主键(复合主键)

但一个表内只能有一个主键primary key

============单列做主键=============== null unique, name varchar(20) 100mysql><span style="color: #000000;"> desc department1;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | NO | UNI | NULL | |
| comment | varchar(100) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+<span style="color: #000000;">
rows
<span style="color: #0000ff;">in
set (0.01<span style="color: #000000;"> sec)

<span style="color: #008000;">#<span style="color: #008000;">方法二:在某一个字段后用primary key
<span style="color: #000000;">create table department2(
id int primary key,<span style="color: #008000;">#<span style="color: #008000;">主键
name varchar(20<span style="color: #000000;">),comment varchar(100<span style="color: #000000;">)
);

mysql><span style="color: #000000;"> desc department2;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
| comment | varchar(100) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+<span style="color: #000000;">
rows <span style="color: #0000ff;">in set (0.00<span style="color: #000000;"> sec)

<span style="color: #008000;">#<span style="color: #008000;">方法三:在所有字段后单独定义primary key
<span style="color: #000000;">create table department3(
id int,constraint pk_name primary key(id); <span style="color: #008000;">#<span style="color: #008000;">创建主键并为其命名pk_name
<span style="color: #000000;">
mysql><span style="color: #000000;"> desc department3;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | YES | | NULL | |
| comment | varchar(100) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+<span style="color: #000000;">
rows <span style="color: #0000ff;">in set (0.01 sec)

==================多列做主键================15510) mysql><span style="color: #000000;"> desc service;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| ip | varchar(15) | NO | PRI | NULL | |
| port | char(5) | NO | PRI | NULL | |
| service_name | varchar(10) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
3 rows <span style="color: #0000ff;">in
set (0.00<span style="color: #000000;"> sec)

mysql><span style="color: #000000;"> insert into service values
-> (<span style="color: #800000;">'<span style="color: #800000;">172.16.45.10<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">3306<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">mysqld<span style="color: #800000;">'<span style="color: #000000;">),-> (<span style="color: #800000;">'<span style="color: #800000;">172.16.45.11<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">mariadb<span style="color: #800000;">'<span style="color: #000000;">)
-><span style="color: #000000;"> ;
Query OK,2 rows affected (0.00<span style="color: #000000;"> sec)
Records: 2<span style="color: #000000;"> Duplicates: 0 Warnings: 0

mysql> insert into service values (<span style="color: #800000;">'<span style="color: #800000;">172.16.45.10<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">nginx<span style="color: #800000;">'<span style="color: #000000;">);
ERROR 1062 (23000): Duplicate entry <span style="color: #800000;">'<span style="color: #800000;">172.16.45.10-3306<span style="color: #800000;">' <span style="color: #0000ff;">for key <span style="color: #800000;">'<span style="color: #800000;">PRIMARY<span style="color: #800000;">'

五 auto_increment

约束字段为自动增长,被约束的字段必须同时被key约束

,) default mysql><span style="color: #000000;"> desc student;
+-------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| sex | enum(<span style="color: #800000;">'
<span style="color: #800000;">male
<span style="color: #800000;">'
,<span style="color: #800000;">'
<span style="color: #800000;">female
<span style="color: #800000;">'
) | YES | | male | |
+-------+-----------------------+------+-----+---------+----------------+<span style="color: #000000;">
mysql
><span style="color: #000000;"> insert into student(name) values
-> (<span style="color: #800000;">'
<span style="color: #800000;">egon
<span style="color: #800000;">'
<span style="color: #000000;">),
-> (<span style="color: #800000;">'
<span style="color: #800000;">alex
<span style="color: #800000;">'
<span style="color: #000000;">)
-><span style="color: #000000;"> ;

mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | egon | male |
| 2 | alex | male |
+----+------+------+

<span style="color: #008000;">#<span style="color: #008000;">也可以指定id
mysql> insert into student values(4,<span style="color: #800000;">'<span style="color: #800000;">asb<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">female<span style="color: #800000;">'<span style="color: #000000;">);
Query OK,1 row affected (0.00<span style="color: #000000;"> sec)

mysql> insert into student values(7,<span style="color: #800000;">'<span style="color: #800000;">wsb<span style="color: #800000;">',1 row affected (0.00<span style="color: #000000;"> sec)

mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
+----+------+--------+
| id | name | sex |
+----+------+--------+
| 1 | egon | male |
| 2 | alex | male |
| 4 | asb | female |
| 7 | wsb | female |
+----+------+--------+

<span style="color: #008000;">#<span style="color: #008000;">对于自增的字段,在用delete删除后,再插入值,该字段仍按照删除前的位置继续增长
mysql> delete <span style="color: #0000ff;">from<span style="color: #000000;"> student;
Query OK,4 rows affected (0.00<span style="color: #000000;"> sec)

mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
Empty set (0.00<span style="color: #000000;"> sec)

mysql> insert into student(name) values(<span style="color: #800000;">'<span style="color: #800000;">ysb<span style="color: #800000;">'<span style="color: #000000;">);
mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
+----+------+------+
| id | name | sex |
+----+------+------+
| 8 | ysb | male |
+----+------+------+

<span style="color: #008000;">#<span style="color: #008000;">应该用truncate清空表,比起delete一条一条地删除记录,truncate是直接清空表,在删除大表时用它
mysql><span style="color: #000000;"> truncate student;
Query OK,0 rows affected (0.01<span style="color: #000000;"> sec)

mysql> insert into student(name) values(<span style="color: #800000;">'<span style="color: #800000;">egon<span style="color: #800000;">'<span style="color: #000000;">);
Query OK,1 row affected (0.01<span style="color: #000000;"> sec)

mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> student;
+----+------+------+
| id | name | sex |
+----+------+------+
| 1 | egon | male |
+----+------+------+
1 row <span style="color: #0000ff;">in set (0.00 sec)

六 foreign key

员工信息表有三个字段:工号 姓名 部门

公司有3个部门,但是有1个亿的员工,那意味着部门这个字段需要重复存储,部门名字越长,越浪费

解决方法:

我们完全可以定义一个部门表

然后让员工信息表关联该表,如何关联,即foreign key

20) =<span style="color: #008000;">#<span style="color: #008000;">dpt_id外键,关联父表(department主键id),同步更新,同步删除
<span style="color: #000000;">create table employee(
id int primary key,name varchar(
20) <span style="color: #0000ff;">not
<span style="color: #000000;"> null,dpt_id int,constraint fk_name foreign key(dpt_id)
references department(id)
on delete cascade
on update cascade
)engine
=<span style="color: #000000;">innodb;

<span style="color: #008000;">#<span style="color: #008000;">先往父表department中插入记录
<span style="color: #000000;">insert into department values
(1,<span style="color: #800000;">'<span style="color: #800000;">欧德博爱技术有限事业部<span style="color: #800000;">'<span style="color: #000000;">),(2,<span style="color: #800000;">'<span style="color: #800000;">艾利克斯人力资源部<span style="color: #800000;">'<span style="color: #000000;">),(3,<span style="color: #800000;">'<span style="color: #800000;">销售部<span style="color: #800000;">'<span style="color: #000000;">);

<span style="color: #008000;">#<span style="color: #008000;">再往子表employee中插入记录
<span style="color: #000000;">insert into employee values
(1,<span style="color: #800000;">'<span style="color: #800000;">egon<span style="color: #800000;">',1<span style="color: #000000;">),<span style="color: #800000;">'<span style="color: #800000;">alex1<span style="color: #800000;">',2<span style="color: #000000;">),<span style="color: #800000;">'<span style="color: #800000;">alex2<span style="color: #800000;">',(4,<span style="color: #800000;">'<span style="color: #800000;">alex3<span style="color: #800000;">',(5,<span style="color: #800000;">'<span style="color: #800000;">李坦克<span style="color: #800000;">',3<span style="color: #000000;">),(6,<span style="color: #800000;">'<span style="color: #800000;">刘飞机<span style="color: #800000;">',(7,<span style="color: #800000;">'<span style="color: #800000;">张火箭<span style="color: #800000;">',(8,<span style="color: #800000;">'<span style="color: #800000;">林子弹<span style="color: #800000;">',(9,<span style="color: #800000;">'<span style="color: #800000;">加特林<span style="color: #800000;">',3<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">删父表department,子表employee中对应的记录跟着删
mysql> delete <span style="color: #0000ff;">from department where id=3<span style="color: #000000;">;
mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> employee;
+----+-------+--------+
| id | name | dpt_id |
+----+-------+--------+
| 1 | egon | 1 |
| 2 | alex1 | 2 |
| 3 | alex2 | 2 |
| 4 | alex3 | 2 |
+----+-------+--------+

<span style="color: #008000;">#<span style="color: #008000;">更新父表department,子表employee中对应的记录跟着改
mysql> update department set id=22222 where id=2<span style="color: #000000;">;
mysql> select * <span style="color: #0000ff;">from<span style="color: #000000;"> employee;
+----+-------+--------+
| id | name | dpt_id |
+----+-------+--------+
| 1 | egon | 1 |
| 3 | alex2 | 22222 |
| 4 | alex3 | 22222 |
| 5 | alex1 | 22222 |
+----+-------+--------+

利用foreign key的原理我们可以制作两张表的多对多,一对一关系
多对多:
表1的多条记录可以对应表2的一条记录
表2的多条记录也可以对应表1的一条记录

一对一:
表1的一条记录唯一对应表2的一条记录,反之亦然

分析时,我们先从按照上面的基本原理去套,然后再翻译成真实的意义,就很好理解了

三张表:出版社,作者信息,书

一对多(或多对一):一个出版社可以出版多本书

  关联方式:foreign key

=====================多对一=====================20create table book(
id int primary key auto_increment,press_id int
<span style="color: #0000ff;">not
<span style="color: #000000;"> null,foreign key(press_id) references press(id)
on delete cascade
on update cascade
);

insert into press(name) values
(<span style="color: #800000;">'<span style="color: #800000;">北京工业地雷出版社<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">人民音乐不好听出版社<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">知识产权没有用出版社<span style="color: #800000;">'<span style="color: #000000;">)
;

insert into book(name,press_id) values
(<span style="color: #800000;">'<span style="color: #800000;">九阳神功<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">九阴真经<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">九阴白骨爪<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">独孤九剑<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">降龙十巴掌<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">葵花宝典<span style="color: #800000;">',3<span style="color: #000000;">)
;

多对多:一个作者可以写多本书,一本书也可以有多个作者,双向的一对多,即多对多

  关联方式:foreign key+一张新的表

=====================多对多=====================20<span style="color: #008000;">#<span style="color: #008000;">这张表就存放作者表与书表的关系,即查询二者的关系查这表就可以了

<span style="color: #000000;">create table author2book(
id int
<span style="color: #0000ff;">not
<span style="color: #000000;"> null unique auto_increment,author_id int
<span style="color: #0000ff;">not
<span style="color: #000000;"> null,book_id int
<span style="color: #0000ff;">not
<span style="color: #000000;"> null,constraint fk_author foreign key(author_id) references author(id)
on delete cascade
on update cascade,constraint fk_book foreign key(book_id) references book(id)
on delete cascade
on update cascade,primary key(author_id,book_id)
);

<span style="color: #008000;">#<span style="color: #008000;">插入四个作者,id依次排开
insert into author(name) values(<span style="color: #800000;">'<span style="color: #800000;">egon<span style="color: #800000;">'),(<span style="color: #800000;">'<span style="color: #800000;">alex<span style="color: #800000;">'),(<span style="color: #800000;">'<span style="color: #800000;">yuanhao<span style="color: #800000;">'),(<span style="color: #800000;">'<span style="color: #800000;">wpq<span style="color: #800000;">'<span style="color: #000000;">);

<span style="color: #008000;">#<span style="color: #008000;">每个作者与自己的代表作如下
1<span style="color: #000000;"> egon:
1<span style="color: #000000;"> 九阳神功
2<span style="color: #000000;"> 九阴真经
3<span style="color: #000000;"> 九阴白骨爪
4<span style="color: #000000;"> 独孤九剑
5<span style="color: #000000;"> 降龙十巴掌
6<span style="color: #000000;"> 葵花宝典

2<span style="color: #000000;"> alex:
1<span style="color: #000000;"> 九阳神功
6<span style="color: #000000;"> 葵花宝典

3<span style="color: #000000;"> yuanhao:
4<span style="color: #000000;"> 独孤九剑
5<span style="color: #000000;"> 降龙十巴掌
6<span style="color: #000000;"> 葵花宝典

4<span style="color: #000000;"> wpq:
1<span style="color: #000000;"> 九阳神功

insert into author2book(author_id,book_id) values
(1,(1,4<span style="color: #000000;">),5<span style="color: #000000;">),6<span style="color: #000000;">),1<span style="color: #000000;">)
;

#两张表:学生表和客户表

一对一:一个学生是一个客户,一个客户有可能变成一个学校,即一对一的关系

  关联方式:foreign key+unique

create table customer(
id int primary key auto_increment,name varchar(
20) <span style="color: #0000ff;">not
<span style="color: #000000;"> null
);

create table student(
id int primary key auto_increment,class_name varchar(20) <span style="color: #0000ff;">not null default <span style="color: #800000;">'<span style="color: #800000;">python自动化<span style="color: #800000;">'<span style="color: #000000;">,level int default 1<span style="color: #000000;">,customer_id int unique,<span style="color: #008000;">#<span style="color: #008000;">该字段一定要是唯一的
foreign key(customer_id) references customer(id) <span style="color: #008000;">#<span style="color: #008000;">外键的字段一定要保证unique
<span style="color: #000000;">on delete cascade
on update cascade
);

<span style="color: #008000;">#<span style="color: #008000;">增加客户
<span style="color: #000000;">insert into customer(name) values
(<span style="color: #800000;">'<span style="color: #800000;">李飞机<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">王大炮<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">守榴弹<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">吴坦克<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">赢火箭<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">战地雷<span style="color: #800000;">'<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">增加学生
<span style="color: #000000;">insert into student(name,customer_id) values
(<span style="color: #800000;">'<span style="color: #800000;">李飞机<span style="color: #800000;">',(<span style="color: #800000;">'<span style="color: #800000;">王大炮<span style="color: #800000;">',2<span style="color: #000000;">)
;

练习:账号信息表,用户组,主机表,主机组

20) 50) insert into user(username,password) values
(
<span style="color: #800000;">'
<span style="color: #800000;">root
<span style="color: #800000;">'
,<span style="color: #800000;">'
<span style="color: #800000;">123
<span style="color: #800000;">'
<span style="color: #000000;">),(
<span style="color: #800000;">'
<span style="color: #800000;">egon
<span style="color: #800000;">'
,<span style="color: #800000;">'
<span style="color: #800000;">456
<span style="color: #800000;">'
<span style="color: #000000;">),(
<span style="color: #800000;">'
<span style="color: #800000;">alex
<span style="color: #800000;">'
,<span style="color: #800000;">'
<span style="color: #800000;">alex3714
<span style="color: #800000;">'
<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">用户组表
<span style="color: #000000;">create table usergroup(
id int primary key auto_increment,groupname varchar(20) <span style="color: #0000ff;">not<span style="color: #000000;"> null unique
);

insert into usergroup(groupname) values
(<span style="color: #800000;">'<span style="color: #800000;">IT<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">Sale<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">Finance<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">boss<span style="color: #800000;">'<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">主机表
<span style="color: #000000;">create table host(
id int primary key auto_increment,ip char(15) <span style="color: #0000ff;">not null unique default <span style="color: #800000;">'<span style="color: #800000;">127.0.0.1<span style="color: #800000;">'<span style="color: #000000;">
);

insert into host(ip) values
(<span style="color: #800000;">'<span style="color: #800000;">172.16.45.2<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.16.31.10<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.16.45.3<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.16.31.11<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.10.45.3<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.10.45.4<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">172.10.45.5<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.1.20<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.1.21<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.1.22<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.2.23<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.2.223<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.2.24<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.3.22<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.3.23<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">192.168.3.24<span style="color: #800000;">'<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">业务线表
<span style="color: #000000;">create table business(
id int primary key auto_increment,business varchar(20) <span style="color: #0000ff;">not<span style="color: #000000;"> null unique
);
insert into business(business) values
(<span style="color: #800000;">'<span style="color: #800000;">轻松贷<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">随便花<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">大富翁<span style="color: #800000;">'<span style="color: #000000;">),(<span style="color: #800000;">'<span style="color: #800000;">穷一生<span style="color: #800000;">'<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">建关系:user与usergroup
<span style="color: #000000;">
create table user2usergroup(
id int <span style="color: #0000ff;">not<span style="color: #000000;"> null unique auto_increment,user_id int <span style="color: #0000ff;">not<span style="color: #000000;"> null,group_id int <span style="color: #0000ff;">not<span style="color: #000000;"> null,primary key(user_id,group_id),foreign key(user_id) references user(id),foreign key(group_id) references usergroup(id)
);

insert into user2usergroup(user_id,group_id) values
(1,4<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">建关系:host与business
<span style="color: #000000;">
create table host2business(
id int <span style="color: #0000ff;">not<span style="color: #000000;"> null unique auto_increment,host_id int <span style="color: #0000ff;">not<span style="color: #000000;"> null,business_id int <span style="color: #0000ff;">not<span style="color: #000000;"> null,primary key(host_id,business_id),foreign key(host_id) references host(id),foreign key(business_id) references business(id)
);

insert into host2business(host_id,business_id) values
(1,4<span style="color: #000000;">)
;

<span style="color: #008000;">#<span style="color: #008000;">建关系:user与host
<span style="color: #000000;">
create table user2host(
id int <span style="color: #0000ff;">not<span style="color: #000000;"> null unique auto_increment,host_id),foreign key(host_id) references host(id)
);

insert into user2host(user_id,host_id) values
(1,7<span style="color: #000000;">),8<span style="color: #000000;">),9<span style="color: #000000;">),10<span style="color: #000000;">),11<span style="color: #000000;">),12<span style="color: #000000;">),13<span style="color: #000000;">),14<span style="color: #000000;">),15<span style="color: #000000;">),16<span style="color: #000000;">),12<span style="color: #000000;">)
;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读