今天是日更的 42/365 天
大家好,我是阿常,今天我和大家分享——数据库SQL高级用法的第一个章节。
- SQL SELECT LIMIT 用法
- SQL LIKE 用法
- SQL 通配符用法
一、SQL SELECT LIMIT 用法
SELECT LIMIT 子句用于规定要返回的记录的数目。
SELECT LIMIT 子句对于拥有数千条记录的大型表来说,比较适用。
请注意,并非所有的数据库系统都支持 SELECT LIMIT 语句:
SQL Server 支持 TOP 语句来选取指定的条目数据;
而Oracle 则使用 ROWNUM 语句来选取。
一)MySQL 用法
代码语言:javascript复制SELECT 列名1,列名2
FROM 表名
LIMIT 数字;
实例
代码语言:javascript复制SELECT *
FROM student
LIMIT 5;
二)SQL Server 用法
代码语言:javascript复制SELECT TOP 数字/百分比 列名1,列名2
FROM 表名;
实例
代码语言:javascript复制SELECT TOP 5 *
FROM student;
SELECT TOP 20 PERCENT *
FROM student;
三)Oracle 用法
代码语言:javascript复制SELECT 列名1,列名2
FROM 表名
WHERE ROWNUM <= 数字;
实例
代码语言:javascript复制SELECT *
FROM student
WHERE ROWNUM <= 5;
二、SQL LIKE 用法
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
通过使用 NOT 关键字,您可以选取不匹配模式的记录。
SQL LIKE 用法
代码语言:javascript复制SELECT 列名1,列名2
FROM 表名
WHERE 列名 LIKE 指定模式;
SELECT 列名1,列名2
FROM 表名
WHERE 列名 NOT LIKE 指定模式;
实例
代码语言:javascript复制SELECT * FROM student
WHERE name LIKE '%花';
SELECT * FROM student
WHERE name LIKE '小%';
SELECT * FROM student
WHERE name LIKE '%小%';
SELECT * FROM student
WHERE name NOT LIKE '%小%';
请注意,“ % ” 符号用于在模式的前后定义通配符。
使用 '%花' 选取的是以 “ 花 ” 结尾的学生记录; 使用 '小%' 选取的是以 “ 小 ” 开头的学生记录;
使用 '%小%' 选取的是包含 “ 小 ” 的所有学生记录,加 NOT 关键字匹配的是不包含“ 小 ” 的所有学生记录。
三、SQL 通配符用法
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
一)SQL % 用法
在上面的 SQL LIKE 用法中已提及,这里不再赘述。
二)SQL _ 用法
下面的 SQL 语句使用 '_花' 选取 name 以任意一个字符开始,然后是 " 花 " 结尾的学生记录;
使用 'F_r_ox' 选取 name 以 " F "开始,然后是一个任意字符,然后是 " r " ,然后是任意一个字符,然后是 " ox" 的网站记录。
代码语言:javascript复制SELECT *
FROM student
WHERE name LIKE '_花';
SELECT *
FROM Websites
WHERE name LIKE 'F_r_ox';
三)SQL [charlist] 用法
MySQL 中使用 REGEXP 或 NOT REGEXP(或 RLIKE 和 NOT RLIKE)来操作正则表达式。
1、下面的 SQL 语句选取 name 以 " A " 、" B " 或" C " 开始的所有网站。
代码语言:javascript复制SELECT *
FROM Websites
WHERE name REGEXP '^[ABC]';
2、下面的 SQL 语句选取 name 以 A 到 J 字母开头的所有网站。
代码语言:javascript复制SELECT *
FROM Websites
WHERE name REGEXP '^[A-J]';
3、下面的 SQL 语句选取 name 不以 A 到 J 字母开头的所有网站。
代码语言:javascript复制SELECT *
FROM Websites
WHERE name REGEXP '^[^A-J]';
至此,数据库SQL高级用法的第一章节就讲完啦,接下来让我们继续期待第二章节的内容吧。