当前位置: 首页 > news >正文

网站内容运营方案住房与住房建设部网站

网站内容运营方案,住房与住房建设部网站,网店运营计划,免费商城软件1.多表查询的分类 1.1 内连接 在 MySQL 中,内连接(INNER JOIN)返回的是两个表中满足连接条件的记录的交集。这个“交集”不是指整个表,而是指符合连接条件的行组合,也就是A表和B表中满足我们使用on指定条件的记录。图…

1.多表查询的分类

1.1 内连接

        在 MySQL 中,内连接(INNER JOIN)返回的是两个表中满足连接条件的记录的交集。这个“交集”不是指整个表,而是指符合连接条件的行组合,也就是A表和B表中满足我们使用on指定条件的记录。图中绿色部分

1.1.1 隐式内连接

        select 字段列表 from 表1 表1别名 , 表2  表2别名  where 条件;

        如果我们给表指定了别名,那么就不能使用原表明指定条件,只能使用别名。

1.1.2 显式内连接

        select 字段列表 from 表1 inner join 表2 on 连接条件;

1.2 左外连接

        顾名思义,左外连接的结果包含左表中的所有数据,也包括右表中满足条件的数据,图中的蓝色和绿色部分,右表记录不足的地方会填充为null

        语句:select 字段列表 from 表名1 [别名] left   [outer]   join 表名2 [别名] on 连接条件;

1.3 右连接

        右外连接的结果和左外连接相反,它包括右表中的所有数据和左表中满足条件的数据,图中的绿色和黄色部分,左表中不足的数据也会被填充为null

        语句:select 字段列表 from 表名1 [别名] right   [outer]   join 表名2 [别名] on 连接条件;

左外连接和右外连接可以相互转换,只需要调换表明出现的位置即可:

select 字段列表 from 表名1 [别名] right   [outer]   join 表名2 [别名] on 连接条件;

和下面的语句相同:

select 字段列表 from 表名2 [别名] left   [outer]   join 表名1  [别名] on 连接条件;

1.4 自连接

        自连接就是做连接查询的表是同一个,此时必须给表取别名区分

select 字段列表 from 表名1 [别名1] right   [outer]   join 表名1 [别名2] on 连接条件;

自连接可以是内连接,左连接和右连接

1.5 联合查询

        用法:select语句1    union  [all]     select语句2 

添加 all 相当于把两次查询的结果直接组合起来,如果有记录满足两个select语句的条件,那么它会出现两次,如果不添加 all 则会去重,相同的记录只出现一次。
两次查询的字段数和字段类型都必须相同,否则会报错。

1.6 子查询

1.6.1 标量子查询

        标量子查询是指子查询的返回值只有一个值,使用的操作符通常是 = , <> , >, <  ,<=,  >=

1.6.2 列子查询

如果是查询任意一人,那么可以any和some,它们的效果是一样的

1.6.3 行子查询

1.6.4 表子查询

        表子查询的返回值是多行多列,可以出现在from后,我们可以把他理解成一个虚拟表,我们从这个虚拟表中查询数据,也可以出现在where后,此时我们使用in查询满足条件的记录

2.事务

2.1 事务简介

        事务是一组操作的集合,这组操作必须全部成功或者全部失败。比如银行转账的步骤:A账户扣钱,B账户加钱 这两步操作必须全部成功或者失败,不能单独某一步成功或失败。

2.2 通过@@autocommit实现事务


-- 查询事务是否自动提交  1:自动提交   0:手动提交
select @@autocommit;-- 设置事务为手动提交
set @@autocommit = 0;update student set name='333' where id=1;delete; -- 模拟程序运行错误update student set name='444' where id=2;-- 提交事务,在整体流程完成后
commit;-- 回滚事务,在流程出错后必须执行!
rollback;

2.3 通过 begin 或 start transaction

start transaction ; -- 也可以是 begin
update student set name='333' where id=1;
delete; -- 模拟程序运行错误
update student set name='444' where id=2;-- 提交事务,在整体流程完成后
commit;-- 回滚事务,在流程出错后必须执行!
rollback;

2.4 事务的四大特性

2.4.1 原子性

        原子性的意思是事务是不可分割的最小单元,要么全部成功,要么全部失败

2.4.2 一致性

        事务完成时,必须使所有的数据保持一致

2.4.3 隔离性

        数据库系统提供的隔离机制,保证事务在不受外部并发操作的影响下执行。

2.4.4 持久性

        事务在提交后,对数据库的影响是永久的

2.5 并发事务的问题(脏读,幻读,不可重复读)

2.6 事务隔离的级别

read uncommitted的意思是 读未提交,此时事务可以读取到另一并发事务未提交的内容,所以会出现脏读,幻读,不可重复读得问题

read committed意思是 读已提交,顾名思义,只能读取并发事务已经提交的数据,也就解决了脏读的问题,但幻读和不可重复读问题依旧存在

repeatable read意思是 重复读 ,在read committed的基础上解决了不可重复读的问题,也是mysql默认的事务隔离级别。

serializable意思是串行化的,也就是直接禁止了事务的并发执行,让事务串行执行,也就解决了所有的问题,但是效率比较低。

http://www.yayakq.cn/news/715987/

相关文章:

  • 网站的运营方式wordpress内容页边栏
  • 网站建设 wordpress系统学校网站规划方案
  • php网站源码架构中国货源网一件代发
  • 百度快照 查看指定网站百度推广账号注册流程
  • 做网站要sql 数据库名字账号密码衣服货源怎么找厂家拿
  • 网络营销推广公司网站网站名称及域名
  • 外贸网站制作策划建筑公司网站关键词有哪些
  • 和城乡建设厅网站新密建设局网站
  • 网站建设的费用报价德州市建设工程质量监督站网站
  • 绍兴的网站建设公司建站开发软件
  • 网站解析打不开社保网站人员减少怎么做
  • 网站刚做怎么做seo优化什么平台打广告比较好免费的
  • 云南酒店网站建设wordpress timeline 修改
  • 网站模板 免费seo排名点击首页
  • 网站建设相关资料怎么样做网站视频
  • 网站首页关键词优化frontpage网页制作实例
  • 哈尔滨的网站设计大庆市建设局网站
  • 免费网站在线观看人数在哪直播培训行业门户网站建设
  • 网站空间域名注册九洲建设官方网站
  • 做网站必须有站点吗印刷网站开发的可行性报告
  • 网站标题乱码免费app制作平台有哪些
  • 企业的网站开发费用如何入账长沙做网站的包吃包住4000
  • 关于网站建设工作的通报免费ppt模板下载官网
  • 南京江宁网站制作网站多个域名备案
  • 贵州建设厅二建考试网站wordpress app 使用
  • 外贸网站建设流程淄博高端网站
  • 2019流行做什么网站网站商品房建设信息网站
  • 崇信县门户网站西华县住房和城乡建设局网站
  • 河南省建协网官方网站宣传册如何制作
  • 网站注册都需要什么电子商务网站建设与维护期末