MySQL学习笔记03之操作MySQL数据库(DML+DQL篇)

DML:增删改表中的数据

  1. 添加数据:
    • 语法:
      INSERT INTO TABLE_NAME(COLUMN_NAME1,COLUMN_NAME2,...,COLUMN_NAMEn) VALUES(VALUE1,VALUE2,...,VALUEn)
      注意:
      • 列名和值要一一对应。
      • 如果默认给所有的列添加值,则可以省略列名那一项
        INSERT INTO TABLE_NAME VALUES(VALUE1,VALUE2,...,VALUEn);
      • 除了数值类型,其他的类型都需要使用引号引起来(单引号和双引号效果相同
  2. 删除数据:
    • 语法
      DELETE FROM TABLE_NAME [WHERE CONDITION]
      注意:
      1. 如果不加条件,表中所有的数据都会别删除
      2. 如果要删除所有的记录
      DELETE FROM TABLE_NAME;#不推荐使用。有多少记录就会执行多少次删除操作,效率比较低
      TRUNCATE TABLE TABLE_NAME;推荐使用,效率比较高,先删除表,然后再创建一张一样的表,即执行了DROP 和 CREATE 两步操作
  3. 修改数据:
    • 语法:
      UPDATE TABLE_NAME SET COLUMN_NAME1=VALUE1,COLUMN_NAME2=VALUE2,..., COLUMN_NAMEn=VALUEn [WHERE CONDITION];
      注意: 如果不加任何条件,默认修改表中所有的记录

DQL:查询语句

  1. 语法体系:
    SELECT 字段列表(表示多个查询字段用逗号分隔)FROM 表名列表(可以进行多表查询)WHERE 条件列表 GROUP BY 分组字段 HAVING 分组之后的显示的条件 ORDER BY 排序方式 LIMIT 分页限定;
  2. 基础查询:
    • 多个字段查询
      SELECT 字段名1,字段名2,... FROM TABLE_NAME
      如果需要查询所有的字段,可以使用*代表所有的字段
    • 去除重复
      SELECT DISTINCT 字段列表 FROM TABLE_NAME;
    • 计算列
      一般可以使用四则运算计算一些列的值
      SELECT 字段1+字段2,字段3*字段4, ... FROM TABLE_NAME;
      如果四则运算时,遇上有的列中有NULL值,往往的出来的值也是NULL,这时可以用IFNULL(字段,替代值)函数来将NULL值替代
    • 起别名
      • AS 关键字:AS后面跟别名。
      • 用法举例:SELECT math+English AS 总分 FROM TABLE_NAME
  3. 条件查询
    • 语法 :where 条件
    • 运算符号:
      * > ,<, <=, >=,=,<> – <>相当于 != 即不等于 这里的相等判断是一个‘=’
      * AND(&&),BETWEEN A AND B(在AB之间),OR(等同于||或者IN(A,B,C))
      * 如果判断表中数据的值是不是NULL,可以用IS或者IS NOT进行判断。
      WHERE COLUMN IS NULL
      * LIKE 模糊查询
      * _:单个任意字符
      * %:多个任意字符
      * 举例:SELECT * FROM stu WHERE NAME LIKE '张%'查询姓张的学生
  4. 排序查询:
    • 语法:
      SELECT * FROM TABLE_NAME ORDER BY COLUMN_NAME1 排序方式1,COLUMN_NAME2 排序方式2
      当前面排序的列中,有相同的值时,才会使用后面的排序方式
    • 排序方式:
      • ASC:升序(默认)
      • DESC:降序
  5. 聚合函数:将一例数据作为一个整体,进行纵向的计算。
    • count:计算个数(选择不包含空的列,一般为主键
    • max:计算最大值
    • min:计算最小值
    • sum:计算和
    • avg:计算平均值
    • 语法:
      SELECT FUN_NAME(COLUMN_NAME) FROM TABLE_ANME
    • 集合函数的计算排除了NULL值,所以用count的时候就会出问题
      解决方法:COUNT(IFNULL(COLUMN,0))将NULL值换成0
  6. 分组查询:
    • 语法:
      SELECT 查询字段 FORM TANBLE_NAME GROUP BY COLUMN_NAME
    • 举例:查询男女同学的平均成绩对比
      SELECT sex,AVG(score) FROM stu GROUP BY sex;
    • 查询字段: 分组字段,聚合函数1,聚合函数2,…(以这样的形式,如果查询字段用的不是分组字段,如例子中的sex,那么查询出来的数据就不会以分组的形式显示,分组查询就失去了原本的意义。
    • where和having的区别
      where在分组之前进行限定,having在分组之后限定
      where后不可以跟聚合函数的判断,having可以
  7. 分页查询
    • 语法:
      SELECT 查询字段 FROM TABLIE_NAME LIMIT START,NUMBER
      START:表示从第几个开始
      NUMBER:表示每页显示的数据个数
    • 规律:每一页开始的索引=(当前页码 - 1)*每页显示的数据的条数
    • 分页操作在不同的数据库有所不同,这里的分页操作只适合MySQL数据库
  8. 聚合函数后空格可以跟一个字符串,后面可以直接用该字符串替代聚合函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值