【笔记-MySql】数据处理语句
语句参数
聚合函数
{ count | max | min | sum | avg | ... }
比较运算符
{ = | <> | != | < | <= | > | >= }
-- <>:早期符号,等同于!=,据说移植和性能略优。
条件描述
{
--将当前值作为条件
<columnName> {
比较运算符 <value> | --比较值
BETWEEN <value> AND <value> | --范围值
IN (<value>[,...]) | --枚举值
LIKE <value> | --模糊值
IS [NOT] NULL | --空值
[NOT] IN (<selectSql>) --子查询
比较运算符 {ALL|ANY} (<selectSql>) --比较子查询
}
|
--将子查询作为条件
EXISTS(<selectSql>)
}
模糊值中的通配符
- %:表示任意0个或多个字符,可匹配任意类型和长度的字符。
- _:表示任意单个字符,通常用来限定表达式的字符长度语句。
- []:表示括号内所列字符中的一个(类似正则表达式)。
- [^]:表示不在括号所列之内的单个字符,相当于[]的否定形式。
查询列描述
{
--查询当前已有列
{ <columnName> | 聚合函数(<columnName>) }
[AS <newColumnName>] --调整列名
|
--通过表达式计算新列
CASE WHEN 条件描述 THEN <value>[...] [ELSE <value>] END AS <columnName>
}
语句
查询数据
SELECT [{ALL|DISTINCT}] {查询列描述[,...]|*}
FROM <tableName> [{INNER|LEFT|RIGHT} JOIN <tableName> ON 条件描述][,...]
[WHERE 条件描述[AND...]]
[GROUP BY <columnName>[,...] [{ASC|DESC}]] --分组归纳(通常配合聚合函数使用)
[HAVING 条件描述] --过滤分组(相当于在GROUP BY之后运行的WHERE语句)
[ORDER BY <columnName>[,...] [{ASC|DESC}]]
[LIMIT [<offset>,]<rowCount>];
插入数据
INSERT INTO <tableName>[(<columnName>[,...])] VALUES ({<value>|DEFAULT}[,...]);
INSERT INTO <tableName> SET <columnName>={<value>|DEFAULT}[,...];
INSERT INTO <tableName>[(<columnName>[,...])] <selectSql>;
删除数据
DELETE FROM <tableName>
[WHERE <condition>]
[ORDER BY <columnName> [{ASC|DESC}]]
[LIMIT <rowCount>];
修改数据
UPDATE <tableName> SET <columnName>={<value>|DEFAULT}[,...]
[WHERE <condition>]
[ORDER BY <columnName> [{ASC|DESC}]]
[LIMIT <rowCount>];