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.rhkb.cn/news/169690.html

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

相关文章

Linux系列讲解 —— VIM配置与美化

目录 1. Vim基本配置1.1 配置文件1.2 基本配置 2. 插件管理器Vundle2.1 下载Vundle2.2 在vimrc中添加Vundle的配置 3. Vundle的使用3.1 安装插件3.2 卸载插件 1. Vim基本配置 1.1 配置文件 vim的配置文件有两处,请根据实际情况选择修改哪个。 (1) 全局配置文件&am…

实验数据旋转角度处理过程中的常见问题

问题 做实验过程中使用 EM tracker 测量自己机器人末端旋转时的角度。 尾部 设置EMTracker 1,作为固定基准,其轴线与机器人中心轴线近似重合,EM Tracker 2 固定在机器人活动关节上,两者轴线夹角近似为机器人旋转角度。论文尚未发…

Python----range方法(函数)

range 英 /reɪndʒ/ n. (变动或浮动的)范围,界限;视觉(或听觉)范围;v. (在一定的范围内)变化,变动;(按一定位置或顺序&#x…

LeetCode算法心得——元素和最小的山形三元组 II(预处理和简单动规)

大家好,我是晴天学长,枚举+简单的动态规划思想,和前段时间的周赛题的写法可以说一模一样,像这种类似3元的题,要控制时间复杂度的话,只能枚举一个变量,所以要前缀和或者动规等待。需要…

FPGA时序分析与约束(6)——综合的基础知识

在使用时序约束的设计过程中,综合(synthesis)是第一步。 一、综合的解释 在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某种其他要求,如功率、操作频率等。 有…

深度学习中的不确定性综述

领域学者: http://www.gatsby.ucl.ac.uk/~balaji/ 论文标题: A Survey of Uncertainty in Deep Neural Networks 论文链接: https://arxiv.org/pdf/2107.03342.pdf 概要 在过去的十年中,神经网络几乎遍及所有科学领域&#x…

mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决

问题背景 Centos7 安装Mysql 8后启动时遇到的问题,看了好几个博客方案无效,搞了半小时才找到正解,在此次进行记录。 在此假设你已经修改了对应目录的权限,比如配置的mysql data目录初始化后已经执行了chown -R mysql:mysql /XXX/…

leetcode:面试题 17.04. 消失的数字(找单身狗/排序/公式)

一、题目: 函数原型:int missingNumber(int* nums, int numsSize) 二、思路: 思路1 利用“找单身狗”的思路(n^n0;0^nn),数组中有0-n的数字,但缺失了一个数字x。将这些数字按位异或0…

02-2、PyCharm中文乱码的三处解决方法

PyCharm中文乱码 修改处1: 修改处2:这个也没用 在Pycharm中可以创建一个模版,每次新建python文件时Pycharm会默认在前两行生成utf-8 #!/user/bin/env python3 # -- coding: utf-8 -- 还是乱码 再在这里设置以下 添加 : -Dfi…

031-第三代软件开发-屏幕保护

第三代软件开发-屏幕保护 文章目录 第三代软件开发-屏幕保护项目介绍屏幕保护 关键字: Qt、 Qml、 MediaPlayer、 VideoOutput、 function 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language&#…

交换机基础(四):MSTP负载均衡配置案例

如图所示是某个企业内部核心网络的结构图,目前企业中有20个VLAN, 编号为VLAN1~VLAN20, 为了确保内部网络的可靠性,使用 了冗余链路和MSTP 协议。为了能更好地利用网络资源和带宽,现管理员希望通过配置MSTP 的负载均衡实现网络带宽…

测试C#调用Windows Media Player组件

新建基于.net framework的Winform项目,可以通过添加引用的方式选择COM组件中的Windows Media Player组件,如下图所示:   也可以在VS2022的工具箱空白处点右键,选择“选择项…”菜单。   在弹出的选择工具箱项窗口中&#xf…

力扣刷题 day54:10-24

1.十进制整数的反码 每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 "101",11 可以用二进制 "1011" 表示,依此类推。注意,除 N 0 外,任何二进制表示中都不含前导零。 二进制的反…

NOIP2023模拟1联测22 黑暗料理

NOIP2023模拟1联测22 黑暗料理 题目大意 自己看 思路 两个数相加能够产生质数的情况就是:11 或者 偶数质数 那么 1 1 1 不能保留超过一个 建一个图,原点连向所有奇数点,所有偶数点连向汇点,奇数点和偶数点的和为奇数的就相连 …

蜣螂优化(DBO)求解置换流水车间调度问题(PFSP)

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…

【数据结构】常见复杂度习题详解 ------ 习题篇

文章目录 📋前言一. ⛳️前篇回顾二. ⛳️常见时间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三4️⃣实例四5️⃣实例五6️⃣实例六7️⃣实例七8️⃣实例八 三. ⛳️常见空间复杂度计算举例1️⃣实例一2️⃣实例二3️⃣实例三 四. ⛳️总结 📋前言 …

RedHat8升级GLIBC_2.29,解决ImportError: /lib64/libm.so.6: version `GLIBC_2.29

问题背景 在做大模型微调训练时,执行python脚本时出现如下报错: 查看当前服务器版本,确实没有GLIBC_2.29的 strings /lib64/libm.so.6 | grep GLIBC_ GLIBC_2.2.5 GLIBC_2.4 GLIBC_2.15 GLIBC_2.18 GLIBC_2.23 GLIBC_2.24 GLIBC_2.25 GLIB…

【JAVA学习笔记】43 - 枚举类

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter11/src/com/yinhai/enum_ 〇、创建时自动填入版权 作者等信息 如何在每个文件创建的时候打入自己的信息以及版权呢 菜单栏-File-setting-Editor-File and Code Templaters -Includes-输入信…

多继承的实例介绍

一、多继承同名覆盖 子类中的成员与父类中的成员同名问题&#xff0c;通过作用域分辨符&#xff08;&#xff1a;&#xff1a;&#xff09;进行限定类的访问&#xff0c;从而实现对不同类中的同名成员各自赋值。 #include<iostream> using namespace std; class A{//父…

基于SpringBoot的时间管理系统

基于SpringBoot的时间管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 管理员界面 用户界面 摘要 基于Spring Boot的时间管理系统是一款功能丰富…