SQL_select总结
- SQL(Structured Query Language):结构化查询语言
- 数据库:是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合
- 主要应用的数据库管理系统:MySQL、SQL Server、Oracle、MS Access
- RDBMS(Relational Database Management System):关系型数据库管理系统
select ——数据选择-数据过滤-数据呈现
从哪里取数据?
- 表名,列名,几个表的几个列。
过滤条件有哪些?
- 字符串的过滤
- 数值型(整型、浮点型)的过滤
- 空值的过滤
以怎样的形式呈现?
- 单表的排序(asc,desc)
- 多个表查询内容的拼接(join,union)
- 呈现的列名是什么(as关键字)
特殊字符
逗号 ‘ ,’:隔开列名
分号 ‘;’ :结束一条sql语句
星号 ‘*’ :通配符
百分号 ‘ %’:通配符,配合 like关键字使用,匹配多个字符
下划线 ‘ _’ :通配符,和%一样,但是只能匹配一个字符
方括号[]:通配符,仅SQL server 支持,作用为在制定位置,匹配括号内的任一字符,如 like ‘ [jm] %’ ——模式为以j或者m开头的字符串。
- 取反的符号——^,如like ‘[jm] %’——模式不以j或m开头的字符串
以下内容仅为MySQL中sql语句的用法
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
#选取 name 以 "G"、"F" 或 "s" 开始的
SELECT * FROM Websites WHERE name REGEXP '^[GFs]';
select distinct column
from table_name
where column ( like pattern)&(in value1,value2,…)&(between value1 and value2)
order by
limit 1000 offset 100
distinct:查询不重复值,重复的会去掉
where:
- where——设置过滤条件
- where 操作的列如果字符类型是数值,则可以使用条件操作符(等于、大于、小于、不等于,不大于,不小于)
- like:需要的是一个模式,使用单引号和%来确定模式,如:’%k’ ——以k结尾、’%oo%’——字符中间有‘ oo ’
- in:后接一个集合,如:WHERE name IN (‘Google’,‘菜鸟教程’);
- not :否定跟在后面的任何条件
- between and:后接 value1 and value2
- is null :为null值
- 此外多个过滤条件可以使用and 和 or 连接
order by:默认升序asc,降序desc
limit:放在最后,limit后的数字代表取多少条数据,offset 代表从多少条数据开始取,使用索引,第一条数据索引为0
注意:在select 语句中,关键字的操作基本都涉及是单个列操作还是多个列操作,多个并列内容使用逗号隔开