MySQL基本操作

整理自廖雪峰SQL教程

1 查询数据

1.1 基本查询

使用SELECT查询的基本语句 SELECT * FROM <表名> 可以查询一个表的所有行和所有列的数据。

1.2 条件查询

条件查询的语法就是:

SELECT * FROM <表名> WHERE <条件表达式>

条件运算按照NOT、AND、OR的优先级进行,即NOT优先级最高,其次是AND,最后是OR。加上括号可以改变优先级。

常用的条件表达式

条件举例
使用<>判断不相等score <> 80
使用LIKE判断相似name LIKE ‘ab%’

1.3 投影查询

使用 SELECT 列1, 列2, 列3 则可以仅返回指定列,这种操作称为投影。
使用 SELECT 列1, 列2, 列3 FROM … 时,还可以给每一列起个别名,这样,结果集的列名就可以与原表的列名不同。它的语法是 SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM …

1.4 排序

要根据其他条件排序怎么办?可以加上 ORDER BY 子句。

如果要反过来,按照=从高到底排序,我们可以加上 DESC 表示“倒序”。

如果score列有相同的数据,要进一步排序,可以继续添加列名。例如,使用 ORDER BY score DESC, gender 表示先按score列倒序,如果有相同分数的,再按gender列排序。

如果有WHERE子句,那么ORDER BY子句要放到WHERE子句后面。例如,查询一班的学生成绩,并按照倒序排序。

1.5 分页查询

使用 LIMIT M OFFSET N 可以对结果集进行分页,每次查询返回结果集的一部分

分页查询的关键在于,首先要确定每页需要显示的结果数量pageSize,然后根据当前页的索引pageIndex,确定LIMIT和OFFSET应该设定的值:

LIMIT 总是设定为 pageSize
OFFSET 计算公式为 pageSize * (pageIndex - 1)

在MySQL中,LIMIT 15 OFFSET 30 还可以简写成 LIMIT 30, 15

1.6 聚合查询

我们可以使用SQL内置的COUNT()函数查询:SELECT COUNT(*) FROM students

除了COUNT()函数外,SQL还提供了如下聚合函数:SUM, AVG, MAX, MIN

对于聚合查询,SQL还提供了“分组聚合”的功能。SELECT class_id, COUNT(*) num FROM students GROUP BY class_id 可以一目了然地看出各个班级的学生人数。

1.7 多表查询

SELECT查询不但可以从一张表查询数据,还可以从多张表同时查询数据。查询多张表的语法是:SELECT * FROM <表1> <表2>

笛卡尔查询:使用多表查询可以获取M x N行记录;

多表查询的结果集可能非常巨大,要小心使用。

1.8 连接查询

INNER JOIN是最常用的一种JOIN查询,它的语法是 SELECT … FROM <表1> INNER JOIN <表2> ON <条件…>

还有 LEFT/RIGHT/FULL OUTER JOIN

2 修改数据

2.1 INSERT

INSERT语句的基本语法是:

INSERT INTO <表名> (字段1, 字段2, …) VALUES (值1, 值2, …) ;

2.2 UPDATE

UPDATE语句的基本语法是:

UPDATE <表名> SET 字段1=值1, 字段2=值2, … WHERE … ;

2.3 DELETE

DELETE语句的基本语法是:

DELETE FROM <表名> WHERE …;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值