zoukankan      html  css  js  c++  java
  • MySQL Class2

    学习内容:

    表查询语句:

    select 字段名 from 表名; //查询指定列

    select 字段名 as 自定义字段名 from 表名; //查询时修改显示的列名 注意并未改变表结构

    select  (字段名+字段名) as 自定义字段名 from 表名; //查询时合并列,加法运算,只能合并数值

    select distinct 字段名 from 表名; //查询时去重

    条件查询:

    select 字段名 from 表名 where 字段名=值 and 字段名=值; //与运算查询

    select 字段名 from 表名 where 字段名=值 or 字段名=值; //或运算查询

    select 字段名 from 表名 where 字段名> < >= <= !=; //大于 小于 大于等于 小于等于 不等于查询

    select 字段名 from 表名 where 字段名 between 值 and 值; //相当于 >= and <=查询

    insert into 表名 values(); //空

    insert into 表名 values(''); //空字符串

    select 字段名 from 表名 where 字段名 is null; //判断是否为空

    select 字段名 from 表名 where  字段名=''; //判断是否为空字符串

    select 字段名 from 表名 where  字段名 like '字符%'; //查询指定字符开头的数据

    select 字段名 from 表名 where  字段名 like '%字符%'; //查询是否含有指定字符

    select 字段名 from 表名 where  字段名 like '字符_'; //查询是否以指定字符开头并且只有两个字符

    PS 取反可用 not like

    聚合查询:

    select sum(字段名) as 自定义字段名 from 表名; //求总和并自定义显示名

    select avg(字段名) as 自定义字段名 from 表名; //求平均数

    select min(字段名) as 自定义字段名 from 表名; //求最小数

    select max(字段名) as 自定义字段名 from 表名; //求最大数

    select count(字段名) as 自定义字段名 from 表名; //计数 指定列的数据数量的最大值

    select count(*) as 自定义字段名 from 表名; //表内所有列数据数量的最大值

    select sum(字段名) as 自定义字段名 from 表名 where 字段名=(select sum(字段名) as 自定义字段名 from 表名) ; // 子查询

    PS year(字段名)可以查询那一年,例如知道生日求年龄,则可以使用 year(now())-year(定义的生日字段)

    分页查询:

    第一行起始值为0

    select  * from 表名 limit (当前页-1)*每页显示多少条,每页显示多少条;

    limit ?,? 第一个数字决定从第几条(下标基0)开始显示,第二个数字决定一共显示几条数据

    例:

    SELECT * FROM stu LIMIT 0,2;
    SELECT * FROM stu LIMIT 2,2;
    SELECT * FROM stu LIMIT 4,2;
    SELECT * FROM stu LIMIT 6,2;
    SELECT * FROM stu LIMIT 8,2;
    SELECT * FROM stu LIMIT 10,2;

    查询排序:

    select * from 表名 order by 字段名 asc; //正序排序

    select * from 表名 order by 字段名 desc; //反序排序

    select * from 表名 order by 字段名 asc,字段名 desc; //多顺序排序 第一条件排序有重复时按照第二条件排序 默认的第二顺序是数据插入顺序

    排序要注意一点,如果自增主键不是数字而是字符,虽然主键看起来和数字一样,但是排序时会按照字符顺序来,比如按照ASC,2会排在20前面而不是19,

    这时要用CAST(id as SIGNED) 或CONVERT(id,SIGNED) 或者直接id+0来处理,这样字符会转为数字。

    分组查询:

    先分组再统计

    group by 字段名 //分组

    count(字段名) //统计

    select 字段名,count(字段名) from 表名 group by 字段名;

    注意,分组后,例如 group by 编组字段名 count(*),count计算的字段就是编组字段

    分组查询后筛选

    分组后用having 替代where来添加筛选条件

    select 字段名,count(字段名) from 表名 where 判断条件 group by 字段名 having 判断条件;

    select 字段名,count(字段名) from 表名 group by 字段名 having 判断条件;

     查询最大数量的某字段方式:

    select 字段 from 表 group by 字段 order by count(*) desc limit 0,1;

    例如 select 院系ID from 学生表 group by 院系ID order by count(*) desc limit 0,1;

    把查询结果按照数量由大到小排序然后只显示一页一行,那么得到的字段就是数量最大的那个

  • 相关阅读:
    化DataSet对象并压缩
    数据库连接
    触发器
    事务
    关于C语言的宏
    GCC中的一些参数
    《tkinter实用教程六》tkinter ttk.Label 控件
    《tkinter实用教程三》ttk.Button 控件
    5. 替换空格
    《tkinter实用教程二》ttk 子模块
  • 原文地址:https://www.cnblogs.com/whwjava/p/8556054.html
Copyright © 2011-2022 走看看