1.什么是SQL
SQL(英文全称:Structured Query Language),是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式操作数据库里面的数据。
三个关键点:
- SQL是一门数据库编程语言
- 使用SQL语言编写出来的代码,叫做SQL语句
- SQL语言只能在关系型数据库中使用(泪如MySQL、Oracle、SQL Server)。非关系型数据库(例如Mongodb)不支持SQL语言。
2.SQL能做什么
- 从数据库中查询数据
- 向数据库中插入新的数据
- 更新数据库中的数据
- 从数据库删除数据
- 可以创建新的数据库
- 可以在数据库中创建新表
- 可在数据库中创建存储过程、视图
- etc…
3.SQL的学习目标
重点掌握如何使用SQL从数据表中:
增删改查
查询数据(select)插入数据(insert into)
更新数据(update)删除数据(delete)
额外掌握4中SQL语法:
where条件、and 和 or 运算符、order by 排序、count(*)函数
3.1 SQL的SELECT 语句
1.语法
select语句用于从表中查询数据,执行的结果被存储在一个结果表中(称为结果集),语法格式如下:
--这是注释
-- 从FROM 指定的(表中),查询出所有的数据。* 表示 所有列
SELECT * FROM 表名称
--从FROM指定的 表中,查询出指定 列名称(字段)的数据
SELECT 列名称 FROM 表名称
- 注意SQL语句中对关键字大小写不敏感, select 和 from 也可小写,但最好是统一大写或者统一小写。
2.演示
写完代码后,点击小闪电就可以运行。
3.2 SQL的 INSERT INTO 语句
1.insert into 示例
向user表中插入一条
username为godlikeicy, password为123456
的用户数据示例如下:
insert into users (username,password) values('godlikeicy','123456')
3.3 SQL的 UPDATE 语句
1.语法
-- 语法
--1. 用update 指定要更新哪个表中的数据
--2. 用set 指定列对应的 新值
--3. 用where 指定更新的条件
update 表名称 set 列名称 = 新值 where 列名称 = 某值
2.演示
把 users表中id为7的用户密码,更新为888888。示例如下:
update users set password = '888888' where id = 7
把users表中id为2的用户密码和用户状态,分别更新为admin123和1,示例如下:
update users set password = 'admin123',status = 1 where id = 2
3.4 SQL的 DELETE 语句
1.语法
delete语句用于删除表中的行。语法格式如下:
-- 语法解读:
-- 从指定的表中,根据where条件,删除对应的数据行
delete form 表名 where 列名 = 值
2.演示
从users表中,删除id为4的用户,示例如下:
- 注意注意注意!!!!!
- 初学者经常忘记提供where条件
- 导致删除整张表数据!一定要慎重!!
delete from users where id = 4
3.5 SQL的 WHERE 子句
1.语法
where子句用来限定选择的标准。在select、update、delete语句中,皆可使用where语句来限定选择的标准。
1.1 可以在where子句中使用运算符
下面的运算符可以在where子句中使用,用来限定选择的标准
- 注意:在某些版本的SQL中,操作符<>可以写成 !=
2.演示
可以通过where子句限定select的查询条件:
3.6 SQL的 AND 和 OR 运算符
1.语法
and 和 or 可在where子句中把两个或多个条件结合起来。
and 表示必须同时满足多个条件,相当于JavaSript中的&&运算符,
例如 if(a!==10&&a!==20)
or 表示只要满足任意一个条件即可,相当于JavaScript中的||运算符,
例如 if(a!==10||a!==20)
2.演示
使用and来显示所有status为0,并且id小于3的用户:
select * from users where status = 0 and id < 3
使用or来显示所有status为1,或者username为icy的用户:
select * from users where status = 1 or usename = 'icy'
3.7 SQL 的 ORDER BY 子句
1.语法
ORDER BY 语句用于根据指定的列队结果集进行排序
ORDER BY 语句默认按照升序队记录进行排序
2.演示
对users表中的数据,按照status字段进行升序排序,asc 关键字表示升序排序。示例如下:
select from users order by status;
-- asc 关键字表示升序排序
select from users order by status asc;
对users表中的数据,按照id进行降序排序,desc 关键字表示降序排序。
示例如下:
-- desc 关键字表示降序排序
select from users order by status desc;
order by 语句 --多重排序
对users表中的数据,先按照status字段进行降序排序,在按照username的字母顺序,进行升序排序,示例如下:
select from users order by status desc,username asc;
3.8 SQL 的 COUNT(*)函数
1.语法
count(*)函数用于返回查询结果的总数据条数,语法格式如下:
select count(*) from 表名称
2.演示
查询users表中status为0的总数据条数
select count(*) from users where status = 0
3.使用 AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用as关键字。
示例如下:
select count(*) from as total users where status = 0
4.如何保存和打开SQL文件
保存sql文件,点击图标
打开的话,直接右键选择使用mysql打开就行了。