数据库sql语法

  1. 不同数据库之间的表关联

场景:拆分不同的子系统存放在不同的数据库中(存放在同一台服务器上),在获取数据是可能会从其他数据库中取数。

关联的时候只需要用要连接的数据库名+ “.” + 表名即可

两个数据库bd_a,db_b。db_a数据库中存放user表,字段id,name。bd_b数据库中存放业务表test_table,存储user_id字段,在查询业务表时,需要把用户的名称也显示出来

select a.*, b.name as user_name from test_table a

left join db_a.user b on a.user_id = b.id 

2、清除数据库缓存命令:reset query cache;

同一条sql语法,如果语法执行过一次之后,第二次用的时间远远低于第一次的执行,因为第二次从缓存中读取了select结果

例:表中有1万笔数据,使用join连接

第一次执行时间:

第二次执行时间

作用:使用此语法用于可以针对优化sql语句之后,比对前后两条不同的sql语句那一条语句效率更高,需要在都没有缓存的情况下执行,才能得到真实的结果

3、视图

视图是一种虚拟存在的表,作为查询语句保存在数据字典中。

视图的优点:

  1. 简单:使用视图查询用户不需要关心后面对应的表结构、关联条件和筛选条件,对于用户来说已经是查询好的结果集
  2. 安全:使用视图的用户只能访问被允许查询的结果集,比如一张实体表中有十个字段,通过这张表创建一张视图,只允许查询其中五个字段,那么用户在使用视图查询时只能查询到五个字段信息。
  3. 数据独立:视图的结构一旦确定,对于实体表新增的字段,不会影响视图的查询
  4. 对于开发来说,可以简化调用时候的代码

创建视图语法:

create view test_view AS

select a.* from test_table a

left join test_table b on a.name = b.name

执行效率相对提升一点,跳过了SQL编译处理部分的动作,但是本质上并没有对数据查询的效率提高。

当执行查询视图语句,原表中的数据改变,重新查询,会再执行视图中的查询语句,更新原先视图中的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值