2018-10-25数据库基础

模糊查询 like

  • select * from 表名 where like '%n%';
  • select * from 表名 where like '_';
    like 只对 char varchar 字符型 进行模糊查询
    通配符

    % 代表任意多个字符(0,n)
  • 代表任意一个字符 (1)

Struggle:
-- 统计条目数 count()
SELECT COUNT(sno)
FROM gy_user;
-- 统计最大
SELECT MAX(sge)
FROM gy_user
-- 统计最小
SELECT MIN(age)
FROM gy_user
-- 求平均值
SELECT AVG(age)
FROM gy_user
-- 求和
SELECT SUM(age)
FROM gy_user
GROUP BY -- 分组
-- 字段为空
SELECT *
FROM gy_user
WHERE sname IS NULL;
-- 字段不为空
SELECT *
FROM gy_user
WHERE sname IS NOT NULL;
-- 排序升序
SELECT *
FROM gy_user
ORDER BY age;
-- 排序倒序
SELECT *
FROM gy_user
ORDER BY age DESC ;
-- 以编号查询降序排序
-- 带判断条件降序排序
SELECT *
FROM gy_user
WHERE realname LIKE '%吴%'
ORDER BY age DESC
-- 指定限制前10条
SELECT *
FROM gy_user
LIMIT 10;
-- 指定查询100-110 limit 数字
SELECT *
FROM gy_user
LIMIT 100,110;
-- 指定查询 50-80条
SELECT *
FROM gy_user
LIMIT 50,30;
-- 指定字段去重
SELECT DISTINCT realname
FROM gy_user;

not like 表示不包含

not like 的使用.png
  • in的使用

同一个字段有多个筛选条件,每个条件都需要用英文的逗号分隔开
SELECT * FROM 表名 WHERE 条件 IN (值1,值2,值3);


in 的使用.png
in的使用2.png
  • 对多个字段的多个筛选条件,每个条件都需要用英文的逗号进行分隔


    逗号分隔.jpg

排序 order by

  • order by 后面跟字段名 +升序/降序

  • select * from 表名 order by (sno /age.....)asc/desc

  • 多个排序用 , 来进行分隔,优先运行前面的排序条件


    逗号分隔.jpg

limit的使用

  • 只能在mysql里面使用,oracle数据库中用 rownum,sqlSever数据中用top
  • 限制限制条目数量
  • 查询结果是以 0 为起始序号
  • 格式 select * from 表名 limit n,m; (n表示起始位置,m表示展现m条数据)


    limit 使用.png

去重 distinct

  • 语法: select distinct 字段名 from 表名

分组 group by

  • select 分组名,聚合函数(字段名) from 表名 group by 分组名 having 聚合函数(字段名) 条件
  • 对聚合函数过滤只能用having
  • 只能对展示分组字段和聚合函数
  • 聚合函数 count,sum,avg,max,min。


    聚合函数2.jpg

    分组 group by的使用.jpg

重中之重
数据库基础.png

非常之重要.jpg

你可能感兴趣的:(2018-10-25数据库基础)