zoukankan      html  css  js  c++  java
  • MySQL数据库(4)

    子查询:

    在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句

    主查询:

    主要查询的对象,第一条select语句

    主查询和子查询的关系:

    子查询是嵌入到主查询中,子查询是辅助主查询的,要么充当条件,要么充当数据源,子查询是可以独立存在的语句,是一条完整的 select 语句

    子查询分类:

    标量子查询: 子查询返回的结果是一个数据(一行一列)    一般使用的是比较运算符

    select * from student where age > (select avg(age) from student);

    列子查询: 返回的结果是一列(一列多行)    一般使用in

    select * from student where tid in (select id from teacher);

    行子查询: 返回的结果是一行(一行多列)          需求: 查找班级年龄最大,身高最高的学生

                  行元素: 将多个字段合成一个行元素,在行级子查询中会使用到行元素

    select * from student where (height,age) = (select max(height),max(age) from student);

    完整的select语句:

    select distinct *

    from 表名

    where ...

    group by ... having ...

    order by ...

    limit start,count 

    执行顺序为:

    from 表名

    where ....

    group by ...

    select distinct *

    having ...

    order by ...

    limit start,count

    实际使用中,只是语句中某些部分的组合,而不是全部。

    外键:

    外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

    由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据的完整性,而用外键即使在数据库服务器当机或者出现其他问题的时候,也能够最大限度的保证数据的一致性和完整性;设置外键约束的两个表之间会具有父子关系,即子表中外键的字段的取值范围由父表所决定;设置外键一定程度上降低数据库的速度;子表的外键字段的数据类型和父表中要一致。

    视图:

    通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;

    创建视图:

    create view 视图名称 as select 语句;           定义视图建议以v_开头

    查看视图:

    show tables;

    查询视图:

    select * from v_s;

    删除视图:

    drop view 视图名称;

    修改视图:

    create or replace view v_s as select id,name from student;

    视图的作用:

    提高了重用性,就像一个函数,  对数据库重构,却不影响程序的运行,  提高了安全性能,可以对不同的用户,  让数据更加清晰

  • 相关阅读:
    布局重用 include merge ViewStub
    AS 常用插件 MD
    AS 2.0新功能 Instant Run
    AS .ignore插件 忽略文件
    AS Gradle构建工具与Android plugin插件【大全】
    如何开通www国际域名个人网站
    倒计时实现方案总结 Timer Handler
    AS 进行单元测试
    RxJava 设计理念 观察者模式 Observable lambdas MD
    retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
  • 原文地址:https://www.cnblogs.com/onerose/p/10054693.html
Copyright © 2011-2022 走看看