1.什么是 SQL
SQL(英文全称: Structured Query Language) 是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据
三个关键点:
- SQL 是一门数据库编程语言
- 使用 SQL语言编写出来的代码,叫做 SQL 语句
- SQL语言只能在关系型数据库中使用(例如 MysQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持SQL语言
2.SQL 能做什么
- 从数据库中查询数据
- 向数据库中插入新的数据
- 更新数据库中的数据
- 从数据库删除数据
3.SQL的学习目标
重点掌握
如何使用SQL从数据表中:
- 查询数据 (
select
)- 更新数据(
update
)- 删除数据(
delete
)- 插入数据 (
insert
)
额外需要掌握的4种SQL语法
where
条件and
和or
运算符order by
排序count(*)
函数
4.SQL的SELECT 语句
SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下
-- 这是注释
-- 从 FROM 指定的[表中],查询出[所有的] 数据。*表示[所有列]
SELECT * FROM 表名称
-- 从 FROM 指定的[表中],查询出指定 列名称(字段)的数据。
SELECT 列名称 FROM 表名称
注意:SQL
语句中的关键字对大小写不敏感。SELECT
等效于 select
,FROM
等效于from
。
![](https://img.haomeiwen.com/i27493437/2e9f6f9309cd6bcf.png)
![](https://img.haomeiwen.com/i27493437/f8dbe3f21c899fda.png)
5.SQL的INSERT INTO 语用
INSERT INTO 语句用于向数据表中插入新的数据行,语法格式如下:
-- 语法解读: 向指定的表中,插入如下几列数据,列的值通过 values一一指定
-- 注意: 列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO table_name (列1,列2,...) VALUES(值1,值2,...)
![](https://img.haomeiwen.com/i27493437/5c6af3f2291cdbfb.png)
![](https://img.haomeiwen.com/i27493437/762eec427a528b6f.png)
6.SQL的UPDATE 语
Update 语句用于修改表中的数据。语法格式如下:
-- 语法解读:
-- 1.用 UPDATE 指定要更新哪个表中的数据
-- 2.用 SET 指定列对应的新值
-- 3.用 WHERE 指定更新的条件
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
单列更新
![](https://img.haomeiwen.com/i27493437/4b6d9e84f5aa389b.png)
多列更新
![](https://img.haomeiwen.com/i27493437/56ed2fa3ca88ca59.png)
7.SQL的DELETE 语句
-- 语法解读:
-- 从指定的表中,根据 WHERE 条件,删除对应的数据行
DELETE FROM 表名称 WHERE 列名称 = 值
![](https://img.haomeiwen.com/i27493437/1a4608ed8e188b3b.png)
8.SQL的WHERE 子句
WHERE
子句用于限定选择的标准。在 SELECT
、UPDATE
、DELETE
语句中,皆可使用 WHERE 子句
来限定选择的标准
-- 查询语句中的 WHERE 条件
SELECT 列名称 FROM 表名称 WHERE 列 算符 值
-- 更新语句中的 WHERE 条件
UPDATE 表名称 SET 列=新值 WHERE 列 运算符 值
-- 删除语句中的 WHERE 条件
DELETE FROM 表名称 WHERE 列 算符 值
8.1.可在WHERE子句中使用的运算符
下面的运算符可在WHERE子句
中使用,用来限定选择的标准:
![](https://img.haomeiwen.com/i27493437/2f393bd6d6604ff1.png)
可以通过WHERE子来限定SELECT的查询条件:
-- 查询 status 为 1 的所有用户
SELECT * FROM users WHERE status=1
-- 查询 id 大于 2 的所有用户
SELECT * FROM users WHERE id>2
-- 查询 username 不等于 admin 的所有用户
SELECT * FROM users WHERE username<>'admin'
9.SQL的AND 和 OR 运算符
9.1.语法
AND和OR
可在 WHERE 子语
中把两个或多个条件结合起来
AND
表示必须同时满足多个条件,相当于 JavaScript
中的 &&
运算符,例如 ifa !== 10 && a!== 20
OR
表示只要满足任意一个条件即可,相当于JavaScript
中的||
运算符,例如 ifa !== 10 || a!== 20
9.2.AND 运算符示例
使用AND
来显示所有 status 为 0
,并且id 小于3
的用户
![](https://img.haomeiwen.com/i27493437/7dd7cde80efb54b4.png)
9.3.OR 运算符示例
使用 OR
来显示所有 status 为1
,或者username 为 zs
的用户
![](https://img.haomeiwen.com/i27493437/94b6e3020d3bcc1d.png)
10.SQL的ORDER BY 子句
10.1.ORDER BY子升序排序
对users表中的数据,按照status 字段进行升序排序,示例如下:
![](https://img.haomeiwen.com/i27493437/b49ab09b87f10b7b.png)
10.1.ORDER BY降序排序
![](https://img.haomeiwen.com/i27493437/998d92b8fe2d2e00.png)
10.2.ORDER BY子-多重排序
对 users
表中的数据,先按照 status
字段进行降序排序,再按照 username
的字母顺序,进行升序排序,示例如下:
![](https://img.haomeiwen.com/i27493437/d6c61ae161556904.png)
11.SQL的 COUNT(*)函数
11.1.语法
COUNT(*)
函数用于返回查询结果的总数据条数,语法格式如下:
SELECT COUNT(*) FROM 表名称
![](https://img.haomeiwen.com/i27493437/5d978d32dcf7c9a4.png)
11.2.使用AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用 AS 关键字,示例如下:
![](https://img.haomeiwen.com/i27493437/d7aaca585d03fcdd.png)
![](https://img.haomeiwen.com/i27493437/d5be0f245de0d283.png)
12.如何保存并打开.sql文件
保存
![](https://img.haomeiwen.com/i27493437/83defff79649dc71.png)
打开
![](https://img.haomeiwen.com/i27493437/6ce6e80dfc8d85b6.png)
网友评论