美文网首页
数据库笔记

数据库笔记

作者: Mrcwx | 来源:发表于2018-05-12 14:36 被阅读0次

    数据库中主要操作:查询

    查询的基本语法

    select * as 别名 from 表名;

    from关键字后面写表名,表示数据来源于是这张表
    select后面写表中的列名,如果是*表示在结果中显示表中所有列
    在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中
    如果要查询多个列,之间使用逗号分隔

    在select后面列前使用distinct可以消除重复的行
    select distinct gender from students;

    条件 where

    使用where子句对表中的数据筛选,结果为true的行会出现在结果集中
    语法如下:
    select * from 表名 where 条件;

    where 后面条件可以用到比较运算符 逻辑运算符

    1. 比较运算符
      等于=
      大于>
      小于<
      大于等于>=
      小于等于<=
      不等于!=或<>

    例如
    查询编号大于3的学生
    select * from students where id>3;
    查询学生叫张三
    select * from students where name = '张三';

    1. 逻辑运算符
      and 与
      or 或
      not 非

    2. 模糊查询
      like
      %表示任意多个任意字符
      _表示一个任意字符

    查询姓黄的学生
    select * from students where name like '张%';
    查询姓黄并且名字是一个字的学生
    select * from students where name like '张_';
    查询姓黄或叫靖的学生
    select * from students where name like '张%' or name like '%张%';

    1. 范围查询
      关键字 in between
      in表示在离散值之间选取
      select * from students where id in(1,2,3,4); 查询学生表中id=1,2,3,4信息
      between ... and...表示在连续值中选取
      select * from students where id between 3 and 8;

    2. 空查询 null
      null 与 ' ' 有区别,null表示什么也不存储,' '存啦空格字符串
      is null 判断为空
      is not null 判断非空

    统计函数

    为了快速统计数据,提供5个聚合函数

    count(*) 表示统计总行数,()里面也可写成列名,统计这一列行数
    select count(*) from students;

    max(列名) 此列最大值

    min(列名) 此列最小值

    sum(列名) 列求和

    avg(列名) 列平均值

    分组

    关键字 group by
    按照列名分组,该列中相同数据分到一组,分组后可以做统计运算

    select 列1,列2 , ...,统计函数 ... from 表名 group by 列1,列2...

    分组后的数据筛选

    关键字 having

    对比where与having
    here是对from后面指定的表进行数据筛选,属于对原始数据的筛选
    having是对group by的结果进行筛选

    语法:

    select 列1,列2,聚合... from 表名
    group by 列1,列2,列3...
    having 列1,...聚合...
    

    排序

    关键字 order by

    为了方便查看数据,可以对数据进行排序
    语法:

    select * from 表名
    order by 列1 asc|desc,列2 asc|desc,...
    

    将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推

    默认按照列值从小到大排列
    asc从小到大排列,即升序
    desc从大到小排序,即降序

    查询男生学生信息,按学号降序

    select * from students
    where gender=1 
    order by id desc;
    

    获取部分行

    关键字 limit

    当数据量过大时,在一页中查看数据是一件非常麻烦的事情
    语法

    select * from 表名
    limit start,count
    

    从start开始,获取count条数据
    start索引从0开始

    相关文章

      网友评论

          本文标题:数据库笔记

          本文链接:https://www.haomeiwen.com/subject/fhwcdftx.html