• SQL小结1


    #数据表的查询框架
    select [all | distinct] select_list
    from tb_name
    [where 查询条件]
    [group by <group_by_expression>]
    [having <查询条件>]
    order by <排序表达式> [asc|desc]
    limit [<offset>,<row count>]

    #关键字的用法
    select 指定有查询返回的列
    from 用于指定引用的列所在的表和视图
    where 指定用于限制返回行的搜索条件
    group by 用于根据字段对行分组
    having 指定分组或聚合的搜索条件
    order by 指定的结果集的排序
    limit 该子句显示查询出来的数据条数
    说明:
    所有关键词的使用必须精确地以上面的顺序给出。如,一个having子句必须跟在group by 子句的后面和order by子句之前。
     

    ---------------------------------------------------------------------------------------------------------------------------------------

    #group by 的使用:一般情况下,若查询的需求中有'每'或'各'这个意思就可以用'group by',另外,值得注意的是查询什么
    就按什么分组,目的是时查询到的数据没有矛盾。
    eg:统计各个部门的人数
    select deptcode,count(*)
    from tb_user
    group by deptcode;
    #having条件表达式:用于设置分组或聚合函数的过滤筛选条件的,having子句通常与group by 子句一起使用,用于指定分组后
    的筛选条件。
    eg:统计各用户发布的新闻条数,要求发布数量大于2。
    select inputer,count(*)
    from tb_news
    group by inputer; --不加筛选
    
    
    select inputer,count(*)
    from tb_news
    group by inputer
    having count(*)>2; --加上筛选,比较执行结果,确认代码的正确性
    #limit子句:返回前几条或者中间某几行数据
    eg1:
    --查找新闻表最靠前的三条新闻的标题和时间
    select title as '标题',time as "发布日期"
    from tb_news
    order by time asc --这里asc表示升序,在这里可以自动省略,因为是默认的
    limit 3;
    
    eg2:
    --查找新闻表中从第三条记录开始的3条记录的标题和时间
    select title as '标题','time' as '发布日期'
    from tb_news
    order by time
    limit 2,3;
    #distinct :关键字去除结果中的重复行
    select distinct s_id from fruits;
    #集合函数:要对表中数据进行统计,都需要使用集合函数。集合函数一般是返回某列的值。
    说明:函数的最大特点是经常和 group by 语句配合使用,注意的是集合函数不能和
    和非分组的列混合使用。
     
    #Union关键字:合并查询结果;
    Union:对两个结果集进行并集操作,不包括重复行
    Union All:对两个结果集进行并集操作,包括重复行
    语法格式:
    select column,...
    from table A
    union [all]
    select column,...
    from table B
    where ... ;
     
    #关于索引:当内容较多的时候,可以用索引。
    #创建索引的方法
    方法一:
    在创建表的同时创建索引,语法格式如下
    create table 表名(
    字段名1 数据类型 [约束条件],
    ...
    [其它约束条件],
    [unique|fulltext] index[索引名](字段名[(长度)][asc|desc])
    engine=存储引擎 default charset=字符集类型
    方法二:
    在已经存在的表上创建索引
    alter table 表名 add[unique | fulltext] index 索引名(字段名[(长度)][asc|desc]);

    #删除索引
    drop index xxx on table name;

    #视图:一张虚拟的表
    目的:为了保护数据库的安全。
    #创建视图的格式
    create view 视图名[视图字段列表]
    as
    select 语句;
    --在student中为student表创建视图view1。
    use choose
    create view view1(student_no,student_name,class_no)
    as
    select student_no,student_name,class_no
    from student;


    #函数与触发器
    触发器是一种特殊的存储过程,触发器没有输入输出参数,一般用于级联更新等操作。






    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    迭代器生成器和协程函数
    装饰器
    对haproxy.conf文件的增删改查
    函数基础
    深入理解python字符编码
    python字符串列表字典常用方法
    委托的使用
    数据库连接
    输入输出流
    泛型集合的使用
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/10590599.html
Copyright © 2020-2023  润新知