以任务管理器来演示一下,默认以升序排列
语法结构:SELECT column1, column2, … FROM table_name ORDER BY column1, column2, … ASC|DESC;
范例:
创建一个数据库,并添加一些数据
语句:select id,name,level from player where level>=45 order by level desc;
语句:select id,name,level from player where level>=45 order by level desc,id desc;
语法结构:SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator valueGROUP BY column_name;
结合order by来使用
语句:select count(name),level from player where level>=45 group by level order by count(name) desc;
语法结构:SELECT column1, column2, … FROM table_name LIMIT [offset,] number
范例:
语法:select id,name,level from player limit 3;
语句·: select id,name,level from player order by level desc limit 3;
语句:select id,name,level from player limit 2,3;
针对于表设置
语法结构:SELECT column_name AS alias_name FROM table_name;
语句:select count(*) as number from player;
针对于字段设置
语法结构:SELECT column_name(s) FROM table_name AS alias_name;
语句:select p.id,p.name from player as p limit 3;
AS作为连接语句来使用
语句:create table tmp as select * from player;
语句:select id,name,level from player where name like ‘s%’;
语句:select id,name,level from player where name like ‘%s’;
语句:select id,name,level from player where name like ‘%es%’;
语句:select id,name,level from player where name like ‘_uess’;
语句: select id,name,level from player where name like ‘use____’;
语句:select id,name,level from player where name like ‘shi_ley’;
通配符"%”和"_"组合使用的例子
语句:select id,name,level from player where name like ‘_es%’;
IN 的语法结构如下
<表达式> [NOT] IN <子查询>
语句:select name,level from player where id in (select id from player where level>=45);
1.空值长度为0,不占空间;NULL值的长度为Null,占用空间
2.IS NULL无法判断空值
3.空值使用"="或者<>"来处理
4.COUNT()计算时,Null会忽略,空值会加入计算
范例:
创建一个表test,该表包含不设置NOT NULL的字段,然后向表中插入不同的记录值,其中包括NULL值和实际有值的记录,
操作如下:
^:匹配文本的开始字符
$:匹配文本的结束字符
. :匹配任意单个字符
*:匹配任意个前面的字符
+:匹配前面的字符 1 次或多次
p1|p2:匹配 p1 或 p2
[…]:匹配字符集合中的任意一个字符
[^…] :匹配不在括号中的任何字符 ‘
{n} :匹配前面的字符串 n 次
{n,m}:匹配前面的字符串至少 n 次,至多m 次 ‘
例如,在player表中查询以us开头的name字段并打印对应的id、name 和 level 记录。
语句:select id,name,level from player where name REGEXP ‘^us’;
例如,在 player 表中查询以 ss 结尾的 name 字段并打印对应的 id、name 和 level 记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘ss$’;
例如,在player表中查询包含ok字符串的name字段并打印对应的 id、name 和 level记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘ok’;
例如,在player表中查询包含字符串shir 与 ey,且两个字符串之间只有一个字符的name 字段并打印对应的 id、name 和 level 记录.
语句 :select id,name,level from player where name REGEXP ‘shir.ey’;
例如,在 player 表中查询包含字符串ok或者ss的name字段并打印对应的 id、name和 level 记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘ok|ss’;
例如,在 player 表中查询包含三个或者更多个连续的 o 的 name 字段并打印对应的 id、name 和 level 记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘oooo*’;
例如,在player表中查询包含四个或者更多个o的 name 字段并打印对应的 id、name和 level 记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘oooo+’;
例如,在 player 表中查询包含以 d、e、f 开头的 name 字段并打印对应的 id、name 和level 记录,具体操作如下所示。
语句:select id,name,level from player where name REGEXP ‘1’;
d-f ↩︎