一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情。
什么是 SQL
SQL (Structured Query Language) 是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让开发以编程的形式,操作数据库里面的数据
- SQL 是一门数据库编程语言
- 使用 SQL 语言编写出来的代码,叫 SQL 语句
- SQL 语言只能在关系型数据库中使用(例如:MySQL、Oracle、SQL Server)。非关系型数据库(例如:MongoDB)不支持 SQL 语言
SQL 的作用
- 创建新的数据库
- 在数据库中创建新表
- 在数据库中创建存储过程
- 在数据库中对数据进行增、删、改、查
- 其他
SQL 语句
SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。但是对表名称、列名称、字段是敏感的
SQL 的 select 语句 (查)
-
select语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集) -
语法
-
从
from指定的表中查询出所有的数据,*表示所有列select * from 表名称 -
从
from指定的表中,查询出指定 列名称(字段)的数据,查询多列的数据,列与列字段之间使用英文的逗号隔开select 列名称 from 表名称
-
-
示例
-
通过
*查询 users 表中所有的数据select * from users- 1、创建 SQL 语句的代码编辑器
- 2、选择你要查询的数据库
- 3、输入 SQL 语句
- 4、执行 SQL 语句
- 5、显示结果
-
从 users 表中获取名为
username和password列的内容
-
SQL 的 insert into 语句 (增)
-
insert into语句用于向数据表中插入新的数据行 -
语法
向指定的表中,插入几列数据,列的值通过
values设置,列和值要一一对应,多个列和多个值之间,使用英文的逗号隔开insert into table_name (列1,列2, ...) values (值1,值2, ...) -
示例
向 users 表中,插入一条 username 为 小白,password 为 abc123 的用户数据
insert into users (username,password) values ('小白','abc123')
SQL 的 update 语句(改)
-
update语句用于修改表中的数据 -
语法
- 用
update指定要更新哪个表中的数据 - 用
set指定列对应的新值 - 用
where指定更新的条件(如果忘记提供更新条件,会导致整张标的数据都被更新)
update 表名称 set 列名称=新值 where 列名称=某值 - 用
-
示例
-
更新某一行中的一个列
把 users 表中的 id 为 2 的用户密码更新为 888888
update users set password='888888' where id=2 -
更新某一行中的若干列
更新 users 表中 id 为 1 的用户,把用户密码更新为 666666 ,同时把用户状态更新为 1
update users set password='666666',status=1 where id = 1
-
SQL 的 delete 语句(删)
-
delete语句用于删除表中的行 -
语法
从指定表中,根据 where 条件,删除对应的数据行
delete from 表名称 where 列名称=值 -
示例
删除 users 表中,删除 id 为 3 的用户
delete from users where id=3
SQL 的 where 语句
-
where语句用于限定选择的标准。在select、update、delete语句中,都用where来做限定选择标准 -
语法
-- 查询语句中的 where 条件 select 列名称 from 表名称 where 列 运算符 值 -- 更新语句中的 where 条件 update 表名称 set 列=新值 where 列 运算符 值 -- 删除语句中的 where 条件 delete from 表名称 where 列 运算符 值 -
可以在 where 语句中使用的运算符
操作符 描述 = 等于 <> 或 != 不等于 大于 < 小于 >= 大于等于 <= 小于等于 between 在某个范围内 like 搜索某种模式 -
示例
查询 users 表中 id 不等于 3 的用户
select * from users where id<>3
SQL 的 and 和 or 运算符
-
and和or可以在where中把俩个或多个条件结合起来 -
语法
and表示必须同时满足多个条件,相当于 JavaScript 中国的&&运算符or表示只有满足其中一个条件,相当于 JavaScript 中国的||运算符 -
示例
-
使用 and 来显示所有 status 为 0 且 id 小于 3 的用户
select * from users where status=0 and id<3 -
使用 or 来显示所有 status 为 1 或者 password 为 111111 的用户
select * from users where status=1 or password=111111
-
SQL 的 order by 排序
-
order by语句用于根据指定的列对结果集进行排序。 -
默认情况,
order by语句按照升序 (asc) 对记录进行排序 -
如果希望按照降序排序,可以使用
desc关键字 -
示例
-
升序排序
对 users 表中数据,按照 status 字段进行升序排序
select * from users order by status asc -- 等价 select * from users order by status -
降序排序
对 users 表中的数据,按照 id 字段进行降序排序
select * from users order by id desc -
多重排序
对 users 表中的数据,先按照 status 字段进行升序排序,再按照 id 字段进行降序排序
select * from users order by status asc, id desc
-
SQL 的 count(*) 函数
-
count(*)函数用于返回查询结果的总条数 -
语法
select count(*) from 表名称 -
示例
-
查询总条数
查询 users 表中 status 为 0 的数据的总条数
select count(*) from users where status=0 -
使用
as为列设置别名希望给查询出来的列名称设置别名,可以使用
as关键字。上述示例中,查询出的数据列名为count(*),通过设置将列名更换为totalselect count(*) as total from users where status=0
-