mysql学习日记day02

复习:
  SQL中的分类:
      DQL:
      DDL:
      DML:
      TCL:
      DCL:

_________________________________________
DQL:查询语句

1.简单查询
  a.查询一个字段
      select 字段名 from 表名;
        注意:
          a. select 和  from都是关键词
          b. 字段名  和 表名 都是标识符

  b.查询多个字段
    注意: 使用 , 隔开

  c.查询所有字段
      方式一: 可以把所有的字段名都写上
      方式二: 使用 * 表示全部
        注意: 这种方式有缺点,查询效率低,可读性差,在实际开发过程中不建议使用

  d.给查询的列起别名
      使用as 关键词起别名
      as 关键字可以省略

  e.字段可以结合运算符使用 + - * /


2.条件查询
  1).where子句后跟的就是查询条件
  2)运算符
    > < >= <= = <>

    like:模糊查询
      占位符:
        _: 表示单个任意字符
        %: 表示多个任意字符

    in(集合)
    is null
    and 相当于 &&
    or  相当于 ||
    not 相当于 !

3.普通函数 和 聚合函数(分组函数)
  1).聚合函数是所以数据库通用的函数
      count():求总数
    max():求最大值
    min():求最小值
    avg():求平均值
    sum():求和
  2)注意:
    a.在mysql中是不支持聚合函数的嵌套使用
      但是在oracle中是支持聚合函数的嵌套使用
    b.在mysql中支出聚合函数和普通函数的嵌套使用
    c.聚合函数会自动将null值排除在外
      ①.选择不包含非空的列进行计算,则直接计算
      ②.如果要包含 则需要结合 ifnull()使用
    d.聚合函数得出的结构都是单行单列的结果

  3)count(*) 和 count(字段名)
      count(*):不是统计某个字段中数据的个数,而是统计总记录数.
      count(comm):表示统计comm字段中不为null的数据总数量.


4.分组查询
  group by: 按照某个字段或者某些字段进行分组
  having: 是对分组后的数据在进行再次过滤

  注意:
    a.执行顺序:
        from xx -> group by xx -> avg(sal)
        
    b.where 后不能跟 分组函数
    因为执行顺序: from xx -> where 条件 -> group by xx -> avg(sal)

5.分页查询:
  1)语法: limit 开始的索引,每页查询的条数
  2)公式: 开始的索引 = (当前的页面 - 1) * 每页查询的条数
  3)limit 属于mysql中独有的

_______________________________________
约束:
1.什么是约束?
  在创建表的时候,可以给表中的一些字段添加上一些约束,来保证表中数据的完整性/有效性.

  作用: 为了保证数据的有效!

2.约束的分类:
  非空约束: not null
  主键约束: primary key (简称PK)
  唯一约束: unique 
  外键约束: foreign key (简称FK)
  检查约束: check(mysql不支持,oracle支持)

  1)非空约束: not null
      特点: 值不能为空

  2)主键约束: primary key (简称PK)
      特点:非空且唯一
      作用: 用来标识唯一

      主键类型:
        使用代理主键高达8 90%
        代理主键: 没有任何业务意义,只需要保证是非空且唯一
        自然主键: 在表中本身存在一个非空且唯一的有效字段

      自动增长:
        varchar: 使用java代码随机生成一套字符串
        int: 在数据库内部使用自增长来完成 -> auto_increment

  3)唯一约束: unique 
    特点:
      a.值不能为null
      b.mysql中可以存在多个null值


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值