美文网首页
数据库自关联,视图,事务

数据库自关联,视图,事务

作者: 恬恬i阿萌妹O_o | 来源:发表于2018-08-20 08:26 被阅读0次

自关联:自连接查询其实等同于连接查询,
需要两张表,只不过它的左表(父表)和右表(子表)
都是自己。做自连接查询的时候,是自己和自己连接,
分别给父表和子表取两个不同的别名,然后附上连接条件。

mysql> create table areas(
-> id int,
-> name varchar(255) not null,
-> pid int,
-> primary key(id)
-> );
Query OK, 0 rows affected (0.02 sec)

插入省

insert into areas(id,name) values(1,'山东'),(2,'河北'),(3,'黑龙江'),(4,' 湖北'),(5,'湖南');

插入市

insert into areas(id,name,pid) values(7,'武汉',4),(8,'随州',4),(9,'枣阳',4),(10,'邯郸',2),(11,'保定',2),(12,'黑龙江1号',3),(13,'黑龙江2号',3),(14,'张家 界',5);

插入县

insert into areas(id,name,pid) values(15,'武汉县',7),(16,'随州县',8),(17,'邯郸县',10);

查出市的省份信息

select * from areas as shi inner join areas as sheng on shi.pid=sheng.id;

查出县所在的市和省

select * from areas as shi inner join areas as sheng on shi.pid=sheng.id inner join areas as xian on xian.pid=shi.id;
select xian.name,shi.name,sheng.name from areas as shi inner join areas as sheng on shi.pid=sheng.id inner join areas as xian on xian.pid=shi.id;
视图:
1.从原始表中导出的一个表
2.它是一个虚表
简单来说:
提高了重用性,简化了查询
对数据库重构,却不影响程序的运行
提高了安全性能,可以对不同的用户(只对用户开放部分列)
让数据更加清晰
1.创建视图
create view 视图的名称 as 语句
插入:
假如要在虚表中插入数据,要保证虚表里面的列必须含有实表里面没有默认值的列
select name,id from areas where id > 9
select * from v_all_count where id > 18;
select select name,id from areas where id > 9 AND id>18;
创建一个临时表:(真实存在)
create algorithm=temptable view 视图名称 as select语句;
事务:
事务四大特性(简称ACID): 1.原子性 2.一致性 3.隔离性 4.持久性
要求表的类型必须是innodb或bdb类型,才可以对此表使用事务
修改表的类型: alter table "表名" engine=innodb;
事务语句 : 1.开启:begin; 2.提交:commit; 3.回滚:rollback;

相关文章

  • 数据库自关联,视图,事务

    自关联:自连接查询其实等同于连接查询,需要两张表,只不过它的左表(父表)和右表(子表)都是自己。做自连接查询的时候...

  • MYSQL自关联查询、视图、事务

    1、自连结其实就是连结查询,需要两张表,只不过它的左表(主表)和右表(子表)都是自己。在做自连接查询的时候是自己链...

  • 自关联和视图

    自关联 float(6,2)实现结果形式0000.00汉字/3字符 建表 查询 视图 1.从原始表导出的表2.他是...

  • MySQL数据库高级操作一

    前言 MySQL增删改查基本操作后,为了优化数据库还可使用视图、事务、索引等数据库操作。 1、视图——SQL语句查...

  • 2018-08-15 视图 事务 自关联查询

    自关联查询 自关联:自连接查询其实等同于连接查询, 需要两张表,只不过它的左表(父表)和右表(子表) 都是自己。做...

  • 系统中应当避免长事务,会用什么方案来避免出现或者处理?

    为什么建议你尽量不要使用长事务? 1.长事务意味着系统里会存在很老的事务视图。由于这些事务随时可能访问数据库里面的...

  • 2019-07-08

    数据库 MySQL数据库的基本操作(增删改查)高级操作视图备份和还原事务触发器函数存储过程 什么是数据库?数据库(...

  • 3 .事务隔离

    实现方法: 可重复读 : 数据库里在事务启动时创建一个__视图__read-view,整个事务存在期间读取数据都用...

  • Python 17 数据库 其他操作

    视图、事务、索引、用户管理 2.7 数据库其它操作 学习目标 1. 能够说出视图的作用 2. 能够说出索引的作...

  • mysql高级:视图、事务、索引

    # mysql高级:视图、事务、索引 * 视图 * 事务 * 索引 * 账户管理 * 主从 ## 1.视图 动态抽...

网友评论

      本文标题:数据库自关联,视图,事务

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