Node学习笔记之MySQL基本使用

使用 SQL 管理数据库

其实写接口简单来说就是操作数据库数据,所以我们需要学会数据库的增、删、查、改等基本操作

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(*) 函数

SQL 的 SELECT 语句

1. 语法

SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下:

注意:SQL 语句中的关键字对大小写不敏感。SELECT 等效于 select,FROM 等效于 from。

2、SELECT * 示例

我们希望从 users 表中选取所有的列,可以使用符号 * 取代列的名称,示例如下:

SELECT 列名称示例

如需获取名为 "username" 和 "password" 的列的内容(从名为 "users" 的数据库表),请使用下面的 SELECT 语句:

SQL 的 INSERT INTO 语句

INSERT INTO 语句用于向数据表中插入新的数据行,语法格式如下:

INSERT INTO 示例

向 users 表中,插入一条username 为tony stark,password为098123的用户数据,示例如下:

SQL 的 UPDATE 语句

Update 语句用于修改表中的数据。语法格式如下:

UPDATE 示例 -更新某一行中的一个列

把 users 表中id为7的用户密码,更新为888888。示例如下:

UPDATE 示例 -更新某一行中的若干列

把 users 表中id为2的用户密码和用户状态,分别更新为admin123 和1。示例如下:

SQL 的 DELETE 语句

DELETE 语句用于删除表中的行。语法格式如下:

DELETE 示例

从 users 表中,删除id 为4的用户,示例如下:

SQL 的WHERE 子句

WHERE 子句用于限定选择的标准。在SELECT、UPDATE、DELETE语句中,皆可使用WHERE 子句来限定选择的标准。

可在 WHERE 子句中使用的运算符

QL 的 WHERE 子句

以通过 WHERE 子句来限定 SELECT 的查询条件:

SQL 的AND和OR运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符,例如if (a !== 10 &&a !== 20)

OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符,例如if(a !== 10 ||a !== 20)

AND 运算符示例

使用 AND 来显示所有status为0,并且id小于 3 的用户:

OR 运算符示例

使用 OR 来显示所有status为1,或者username为zs 的用户:

SQL 的 ORDER BY 子句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用DESC关键字。

ORDER BY 子句 -升序排序

对 users 表中的数据,按照 status 字段进行升序排序,示例如下:

ORDER BY 子句–降序排序

对 users 表中的数据,按照 id 字段进行降序排序,示例如下:

ORDER BY 子句–多重排序

对 users 表中的数据,先按照status字段进行降序排序,再按照username的字母顺序,进行升序排序,示例如下:

SQL 的 COUNT(*) 函数

COUNT(*) 函数用于返回查询结果的总数据条数,语法格式如下:

COUNT(*) 示例

查询 users 表中status为0的总数据条数:

使用AS 为列设置别名

如果希望给查询出来的列名称设置别名,可以使用AS关键字,示例如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/144900.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网Java工程师面试题·Java 面试篇·第四弹

目录 59、我们能自己写一个容器类,然后使用 for-each 循环码? 60、ArrayList 和 HashMap 的默认大小是多数? 61、有没有可能两个不相等的对象有有相同的 hashcode? 62、两个相同的对象会有不同的的 hash code 吗? …

redis - 实现周期性数据无上报检测

需求背景 以小时为周期不停地上报事件到事件平台,事件平台如果在连续2个周期 没有检测到上报的事件,就会发送告警给事件的相关责任人. 问题的难点在于如何检测连续周期内无数据? 如上图,2 点和 3 点,都没有上报数据,说明连续两个周期存在无数据上报. 解决方案 本文采用 re…

软件工程与计算总结(十一)人机交互设计

目录 ​编辑 一.引例 二.目标 三.人类因素 1.精神模型 2.差异性 四.计算机因素 1.可视化设计 2.常见界面类型 五.人机交互设计的交互性 1.导航 2.反馈 3.设计原则 六.设计过程 1.基本过程 2.界面原型化 一.引例 无论软件功能多么出色,亦或内部的构造…

图论06-【无权无向】-图的遍历并查集Union Find-力扣695为例

文章目录 1. 代码仓库2. 思路2.1 UF变量设计2.2 UF合并两个集合2.3 查找当前顶点的父节点 find(element) 3. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 思路 2.1 UF变量设计 parent数组保存着每个节点所指向的父节点的索引,初始值为…

uniapp实现登录组件之外区域置灰并引导登录

实现需求 每个页面需要根据用户是否登录决定是否显示登陆组件,登录组件半屏底部显示,登录组件之外区域置灰,功能按钮点击之后引导提示登录.页面效果如下: 实现思路说明 设置登录组件背景颜色为灰色,将页面分成登录区域(底部)和非登陆区域(上面灰色显示部分), 置灰区域添加…

flink中使用GenericWriteAheadSink的优缺点

背景 GenericWriteAheadSink是flink中提供的实现几乎精确一次输出的数据汇抽象类,本文就来看一下使用GenericWriteAheadSink的优缺点 GenericWriteAheadSink的优缺点 先看一下GenericWriteAheadSink的原理图 优点: 几乎可以精确一次的输出&#xf…

【LeetCode】94. 二叉树的中序遍历 [ 左子树 根结点 右子树 ]

题目链接 文章目录 Python3方法一: 递归 ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法二: 迭代 ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法三: Morris ⟮ O ( n ) 、 O ( 1 ) ⟯ \lgroup O(n)、O(1) \rgroup ⟮O(n)、O(1)⟯ C…

【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ JAVA泛型 泛型介绍: ①泛型&#…

一、软件工程概述+练习题

文章目录 软件工程复习一、 概述1.常见考点1.1 什么是软件?软件的特点 1.2 什么是软件危机?它的具体表现是什么?软件危机的概念软件危机的内容具体表现软件危机的原因消除软件危机的途径 2.软件工程的三要素软件工程的定义 3. 软件生存周期4.…

高校教务系统登录页面JS分析——西安交通大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

小插曲 -- 使用Visual Studio Code远程连接香橙派

在之前的学习中,代码的修改和保存都依赖于“vi”指令,而不得不承认vi指令的编辑界面非常原始,所以,如果可以将代码编辑放到更友好的环境里进行无疑是一件大快人心的事情。 本节介绍如何通过Visual Studio Code来进行远程连接: Vi…

Mybatis的SqlRunner执行流程

Mybatis的SqlRunner执行流程 SqlRunner exec new SqlRunner(connection); Map<String, Object> row exec.selectOne("SELECT * FROM PRODUCT WHERE PRODUCTID ?", "FI-SW-01");connection.close();assertEquals("FI-SW-01", row.ge…