目录
一、前言
因工作需要经常与数据库打交道,虽然大部分针对数据库的操作已封装成库,但是某些时候直接访问数据库时,需要使用SQL语句进行筛选或一些简单操作,因此整理了相关的知识点和使用方法,为初学者和具有同样需求的人群提供方便。
二、SQL语句简介
什么是SQL
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL能做什么
- SQL 面向数据库执行查询
- SQL 可从数据库取回数据
- SQL 可在数据库中插入新的记录
- SQL 可更新数据库中的数据
- SQL 可从数据库删除记录
- SQL 可创建新数据库
- SQL 可在数据库中创建新表
- SQL 可在数据库中创建存储过程
- SQL 可在数据库中创建视图
- SQL 可以设置表、存储过程和视图的权限
三、SQL语法剖析
1、SELECT 选择语句
使用方法:
(1)SELECT 列名称 FROM 表名称
(2)SELECT * FROM 表名称
注意:SQL语句对大小写不敏感,SELECT 等效于 select
SELECT 语句用于从表中选取数据,结果被储存在结果表中。
2、DISTINCT 唯一值标记
使用方法:
SELECT DISTINCT 列名称 FROM 表名称
注意:一般适用于某一列的查询
储存数据的表中,数据有可能重复出现,使用 DISTINCT 关键字可以返回唯一值的结果。
3、WHERE 选择标准子句
使用方法:
(1)SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
(2)UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
(3)DELETE FROM 表名称 WHERE 列名称 = 值
如果需要根据条件对数据进行操作,可以在一些语句后(例如 SELECT、DELETE、UPDATE 等)增加 WHERE 子语句。
操作符 | 描述 |
---|---|
= | 等于 |
<>(或!=) | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
一些操作符的使用方法:
例表:Websites
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | 百度 | https://www.baidu.com/ | 4 | CN| |
| 2 | 淘宝 | https://www.taobao.com/ | 8 | CN |
| 3 | 优快云 | https://www.youkuaiyun.com/ | 28 | CN |
| 4 | 微博 | https://weibo.com/ | 14 | CN |
| 5 | Facebook | https://www.facebook.com/ | 7 | USA |
| 7 | GitHub | https://github.com/ | 81 | USA|
+----+---------------+---------------------------+-------+---------+
(1)BETWEEN:选取介于两个值之间的数据范围内的值。
SELECT * FROM Websites WHERE alexa BETWEEN 1 AND 20;
结果:
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | 百度 | https://www.baidu.com/ | 4 | CN| |
| 2 | 淘宝 | https://www.taobao.com/ | 8 | CN |
| 4 | 微博 | http://weibo.com/ | 14 | CN |
| 5 | Facebook | https://www.facebook.com/ | 7 | USA |
+----+---------------+---------------------------+-------+---------+
(2)LIKE
SELECT * FROM Websites WHERE name LIKE 'F%';
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 5 | Facebook | https://www.facebook.com/ | 7 | USA |
+----+---------------+---------------------------+-------+---------+
提示:"%" 符号用于在模式的前后定义通配符(默认字母)。“%” 在前会筛选所有以 “%” 后字符串结尾的数据,“%” 在后会筛选所有以 “%” 前字符串的数据,“%字符串%” 会筛选包含字符串的数据。
4、AND & OR 与和或操作符
使用方法:
(1)SELECT * FROM 表名称 WHERE 列名称 = 某值 AND 列名称 = 某值
(2)SELECT * FROM 表名称 WHERE 列名称 = 某值 OR 列名称 = 某值
用于结合多个条件对数据进行筛选。
5、ORDER BY 排序语句
使用方法:
(1)升序:SELECT 字段名,字段名...,字段名 FROM 表名称 ORDER BY 字段名
(2)降序:SELECT 字段名,字段名...,字段名 FROM 表名称 ORDER BY 字段名 DESC
(3)降序,若同名以字段名2序号进行顺序排序:SELECT 字段名,字段名...,字段名 FROM 表名称 ORDER BY 字段名1 DESC , 字段名2 ASC
用于对数据列进行排序操作,默认使用升序排序,若想使用降序排序,可再字段名后增加 DESC 关键字。
6、INSERT INTO 插入语句
使用方法:
(1)INSERT INTO 表名称 VALUES (值1, 值2,....)
(2)INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)
用于向指定表格中插入新行。
7、UPDATE 更新语句
使用方法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
用于修改某一行中的数据。
8、DELETE 删除语句
使用方法:
(1)删除指定行:DELETE FROM 表名称 WHERE 列名称 = 值
(2)删除所有行:DELETE FROM 表名
用于删除表中的指定行或全部数据。