SQL语句
sql语句要以分号结尾,忽略其中的空格和换行,SQL语句中的关键字不区分大小写
1、检索数据(select)
查找单列
select 列名 from 表名;——从某表中查找出某列的全部值
查找多列
select 列名,列名....列名 from 表名; ——从某表中查找出对应列的全部值
select * from 表名 ;——查找出某表的全部列
别名(as)
select 列名 as 别名 from 表——将列名在查找结果中改为别名显示
去除重复的行 (distinct)
select distinct 列名 from 表名 ——查找出表中所有数据(重复数据只显示一次)
distinct作用于所有选中列,只有一行中的所有列值都完全一样才会被去重
限制查找结果(显示的行数)
SQL server and access
SQL server and access | select top 数字 列名 from 表名 ; |
---|---|
DB2 | select 列名 from 表名 fetch first 数字 rows only; |
Oracle | select 列名 from 表名 where rownum <=数字; |
mysql或MariaDB或PostgreSQL或SQlite | select 列名 from 表名 limit 数量 |
mysql等 使用select * from 表 limit 数量 offset位置(不包括所在行)
可以简写为:
select * from 表名 limit 数量 , 位置
注释
- 语句后加 —— select * from --注释
- 单行注释 —— #注释
- 多行注释——
/*
注释
*/
2、排序(order)
※ order by 必须是语句的最后一部分,否则会出现报错信息
- 按多列排序—— order by 列名1,列名2 …
- 按位置排序——order by 列所在的位置 …
- 排序方向——desc/descending(逆序Z->A),默认为升序(A->Z),只作用于desc前的列,对于多列排序中其他的列排序没有影响
3、过滤数据(where)
※ where 在 from后给出
- 操作符
4、通配符(%/*匹配多个任意字符,_匹配一个任意字符)
※ % 或 * 匹配多个任意字符
※ _ 匹配一个任意字符
注意:
不要过度使用通配符
不要再开头使用通配符
仔细检查通配符的位置
5、函数
不同的数据库中的函数有差异,例如:
-
常用的文本函数
-
日期和时间处理函数几乎所有数据库都不一样,可移植性最差
-
数值处理函数
-
聚集函数
6、分组(group by)
、 group by 在where之后,order by之前
group by +检索列或有效表达式(不能为聚集函数)
对分组进行过滤(having)
having的用法与where相似
7、插入(insert)
insert into +表名(可选所有列名或部分列名(剩余列名必须有默认值或者可为空))
value(列名对应的值)