MariaDB 外键】的更多相关文章

drop database literatureDB; create database literatureDB; use literatureDB; # 类型表 create table `type` ( t_id int primary key auto_increment, t_name varchar(20) comment'类型名称' ); # 创建存储的表 create table literature ( id int primary key auto_increment, t_i…
1.什么是外键约束 外键约束(foreign key)就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强. 关于数据表的完整性和关连性,可以举个例子 有二张表,一张是用户表,一张是订单表: 1.如果我删除了用户表里的用户,那么订单表里面跟这个用户有关的数据,就成了无头数据了,不完整了. 2.如果我在订单表里面,随便插入了一条数据,这个订单在用户表里面,没有与之对应的用户.这样数据也不完整了. 如果有外键的话,就方便多了,可以不让用户删除数据,或…
--创建学生表 create table students ( id int unsigned not null auto_increment primary key, name varchar(20) default '', age tinyint unsigned default 0, high decimal(5,2), gender enum('男', '女', '中性', '保密') default '保密', cls_id int unsigned default 0, is_del…
1.连接查询 --创建学生表 create table students ( id int unsigned not null auto_increment primary key, name varchar(20) default '', age tinyint unsigned default 0, high decimal(5,2), gender enum('男', '女', '中性', '保密') default '保密', cls_id int unsigned default 0,…
连接查询(两张表关联查询) 在sql语句中,- - 代表注释 内关联查询(查询两张表的交集) select * from 表1 inner join 表2 on 表1.id=表2.id(此处id是表1与表2相同的id); 内关联查询显示指定字段 select 表1.指定字段,表2.指定字段 from 表1 inner join 表2 on 表1.id=表2.id; 左关联:以左边表为基准,如果右边的表内的记录匹配不到,就显示NULL select *from students left join…
视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦 假如因为某种需求,需要将user拆房表usera和表userb,该两张表的结构如下:         测试表:usera有id,name,age字段         测试表:userb有id,name,sex字段     这时如果php端使用sql语句:select * from user;那就会提示该表不存在,这时该如何解决呢.解决方案:创建视图.以下sql语句创建视图:…
视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦 假如因为某种需求,需要将user拆房表usera和表userb,该两张表的结构如下:         测试表:usera有id,name,age字段         测试表:userb有id,name,sex字段     这时如果php端使用sql语句:select * from user;那就会提示该表不存在,这时该如何解决呢.解决方案:创建视图.以下sql语句创建视图:…
索引 索引相当于一本书的目录,在一个数据库或表有索引的情况下,会很便于查询数据,使查询更加效率,相对的也有缺点,不利于去修改,比较麻烦,有索引便于查询,那就意味着索引创建的越多越好么?然而并不是:索引越多,越不便于大量的修删改,反而会使数据库的性能下降:表里的数据如果大多数甚至只是是用来查询的话,那可以稍微的多创建几个索引以便于查询. 一.创建索引 &1 创建表 时 创建索引 create table create_index( id ) unique, age int,key (age) );…
视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦   假如因为某种需求,需要将user拆房表usera和表userb,该两张表的结构如下:          测试表:usera有id,name,age字段         测试表:userb有id,name,sex字段      这时如果php端使用sql语句:select * from user;那就会提示该表不存在,这时该如何解决呢.解决方案:创建视图.以下sql语句创…
1.关联 1)连接查询(内关联) inner join ... on 两个表连接查询 select * from students inner join classes 查询能够对应班级的学生以及班级信息 select * from students inner join classes on students.cls_id=classes.id; 按照要求显示姓名,班级 select students.*, classes.name from students inner join class…