MySQL学习(二)

时间:2021-05-04 15:29:53   收藏:0   阅读:0

MySQL学习(二)

DML语言

数据库意义 : 数据存储、数据管理

管理数据库数据方法:

DML语言 :数据操作语言

添加数据INSERT

语法:

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES(‘值1‘,‘值2‘,‘值3‘)

注意 :

修改数据UPDATE

语法:

UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

注意 :

删除数据DELETE

语法:

DELETE FROM 表名 [WHERE condition];

注意:condition为筛选条件 , 如不指定则删除该表的所有列数据

TRUNCATE命令

作用:用于完全清空表数据 , 但表结构 , 索引 , 约束等不变 ;

语法:

TRUNCATE [TABLE] table_name;

注意:区别于DELETE命令

WHERE条件子句

语法(非整句):

[WHERE condition1 [AND [OR]] condition2.....

DQL语言

DQL( Data Query Language 数据查询语言 )

SELECT语法

SELECT [ALL | DISTINCT]
{* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]}
FROM table_name [as table_alias]
  [left | right | inner join table_name2]  -- 联合查询
  [WHERE ...]  -- 指定结果需满足的条件
  [GROUP BY ...]  -- 指定结果按照哪几个字段来分组
  [HAVING]  -- 过滤分组的记录必须满足的次要条件
  [ORDER BY ...]  -- 指定查询记录按一个或多个条件排序
  [LIMIT {[offset,]row_count | row_countOFFSET offset}];  -- 指定查询的记录从哪条至哪条

注意 : [ ] 括号代表可选的, { }括号代表必选

AS 子句作为别名

作用:

DISTINCT关键字的使用

作用 : 去掉SELECT查询返回的记录结果中重复的记录 ( 返回所有列的值都相同 ) , 只返回一条

使用表达式的列

数据库中的表达式 : 一般由文本值 , 列值 , NULL , 函数和操作符等组成

-- selcet查询中可以使用表达式
SELECT @@auto_increment_increment; -- 查询自增步长
SELECT VERSION(); -- 查询版本号
SELECT 100*3-1 AS 计算结果; -- 表达式

-- 学员考试成绩集体提分一分查看
SELECT studentno,StudentResult+1 AS ‘提分后‘ FROM result;

WHERE条件语句

作用:用于检索数据表中 符合条件 的记录

搜索条件可由一个或多个逻辑表达式组成 , 结果一般为真或假

LIKE模糊查询

like模糊查询是mysql中常用的查询语句,具体用法如下:

LIKE 通配符如

除LIKE以外,还有BETWEEN、AND、IN、NULL的用法

连接查询JOIN

如需要多张数据表的数据进行查询,则可通过连接运算符实现多个查询

  1. 内连接 inner join
    查询两个表中的结果集中的交集

  2. 外连接 outer join

    • 左外连接 left join

      (以左表作为基准,右边表来一一匹配,匹配不上的,返回左表的记录,右表以NULL填充)

    • 右外连接 right join

      (以右表作为基准,左边表来一一匹配,匹配不上的,返回右表的记录,左表以NULL填充)

语法:

select * from 表名 [连接方式] join 表名 [on 连接条件] where ...;

自连接

自连接就是数据表与自身进行连接。

核心思想:把一张表看成两张一模一样的表,然后将这两张表连接查询(自连接)

排序和分页

排序

语法 : ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照ASC升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

分页

语法 : SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
好处 : (用户体验,网络传输,查询压力)

推导:
第一页 : limit 0,5
第二页 : limit 5,5
第三页 : limit 10,5
......
第N页 : limit (pageNo-1)*pageSzie,pageSzie
[pageNo:页码,pageSize:单页面显示条数]

子查询

什么是子查询?
在查询语句中的WHERE条件子句中,又嵌套了另一个查询语句;
嵌套查询可由多个子查询组成,求解的方式是由里及外;
子查询返回的结果一般都是集合,故而建议使用IN关键字;

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!