SQL语句以及MySQL 模块
重点:
一、SQL语句
1、什么是 SQL
(1)SQL 是 结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据
(2)三个关键点:
①SQL 是一门数据库编程语言
②使用 SQL 语言编写出来的代码,叫做 SQL 语句
③SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言
2、SQL 的 SELECT 语句
(1)SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)
(2)SQL 语句中的关键字对大小写不敏感。 SELECT 等效于 select,FROM 等效于 from
(3)在执行语句的时候,需要选择默认的数据库,双击选择指定的数据库即可
(4)查询所有列写法
从 users 表中选取所有的列,可以使用符号 * 取代列的名称
语法:-- 通过 * 把 users 表中的所有的数据查询出来
select * from users
(5)SELECT 列名称 示例
获取名为 username 和 password 的列的内容(从名为 users 的数据库表)
语法:-- 多列之间,使用英文逗号进行分隔
** select username, password from users**
3、SQL 的 INSERT INTO 语句
(1)语法:INSERT INTO 语句用于向数据表中插入新的数据行
(2)insert into users (username, password) values ('mz', '123456')
注意:新的数据需要加上引号,否则会报错
4、SQL 的 UPDATE 语句
(1)语法:DELETE 语句用于删除表中的行
(2)delete from users where id=4
注意:一定要记得提供更新的where条件
5、WHERE 子句
(1)WHERE 子句用于限定选择的标准。在 SELECT、UPDATE、DELETE 语句中,皆可使用 WHERE 子句来限定选择的标准
(2)可在 WHERE 子句中使用的运算符
注:%符号为模糊匹配
(3)可以通过 WHERE 子句来限定 SELECT 的查询条件
6、SQL 的 AND 和 OR 运算符
(1)AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来
(2)AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符
(3)OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符
7、SQL 的 ORDER BY 子句
ORDER BY 语句用于根据指定的列对结果集进行排序
(1)ORDER BY 子句 - 升序排序 asc(默认)
select * from users order by status
(2)ORDER BY 子句 – 降序排序 desc
select * from users order by status desc
(3)补充:分组语句
GROUP BY 子句必须出现在 WHERE 子句之后, ORDER BY 子句之前
8、ORDER BY 子句 – 多重排序
对 users 表中的数据,先按照 status 字段进行降序排序,再按照 username 的字母顺序,进行升序排序
select * from users order by status desc, username asc
9、SQL 的 COUNT() 函数
(1)COUNT() 函数用于返回查询结果的总数据条数
select count(*) from 表名称
(2)案例
查询 users 表中 status 为 0 的总数据条数
select count(*) from users wheres status=0
10、使用 AS 为列设置别名
如果希望给查询出来的列名称设置别名,可以使用 AS 关键字
二、MySQL 模块
1、在项目中操作数据库的步骤
(1)安装操作 MySQL 数据库的第三方模块(mysql)
(2)通过 mysql 模块连接到 MySQL 数据库
(3)通过 mysql 模块执行 SQL 语句
2、安装与配置 mysql 模块
(1)安装mysql 模块
npm i mysql -S
(2)配置 mysql 模块
在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql模块进行必要的配置
3、测试 mysql 模块能否正常工作
调用 db.query() 函数,指定要执行的 SQL 语句,通过回调函数拿到执行的结果
4、使用 select 语句查询数据
5、使用 insert into 语句插入数据
6、id 的唯一性
(1)插入数据后,发现数据的 id 存在间隔
(2)之前存在,后来被删除了,那么在新增数据以后,即使这个 id 被删了,这个 id 也不会被占用
7、插入数据的便捷方式
向表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速插入数据
8、使用 update 语句更新数据
9、更新数据的便捷方式
更新表数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速更新表数据
10、使用 delete 语句删除数据
(1)在删除数据时,推荐根据 id 这样的唯一标识,来删除对应的数据
(2)注意:如果 sql 语句中有多个占位符,则必须使用数组为每个占位符指定具体的值,如果 sql 语句中只有一个占位符,则可以省略数组
11、标记删除
(1)使用 DELETE 语句,会把真正的把数据从表中删除掉
(2)为了保险起见,推荐使用标记删除的形式,来模拟删除的动作
标记删除,就是在表中设置类似于 status 这样的状态字段,来标记当前这条数据是否被删除
(3)当用户执行了删除的动作时,我们并没有执行 DELETE 语句把数据删除掉,而是执行了 UPDATE 语句,将这条数据对应的 status 字段标记为删除即可
有关接口跨域问题、数据库的基本概念以及mysql的使用请点击a=href"https://www.cnblogs.com/kk199578/p/14330049.html"