【Node.js】MySQL数据库

news2025/1/17 3:41:18

数据库

        • 数据库的基本概念
          • 什么是数据库
          • 常见的数据库和分类
          • 数据库的数据组织结构
          • 实际开发中库,表,行,字段的关系
        • MySQL相关的软件
        • MySQL Workbench创建数据库
          • 创建数据表
          • 设计表字段
          • 字段的特殊标识
          • 向表中插入数据
        • 使用SQL管理数据库
          • 什么是SQL
          • SQL能做什么
        • SQL语句
          • SELECT,查询
          • INSERT INTO 新增
          • Update 修改
          • DELETE ,删除表中的行
          • WHERE子句, 限定选择的标准
          • WHERE子句的运算符
          • SQL的AND和OR运算符
          • SQL的ORDER BY语句,用于排序
          • SQL的ORDER BY语句,多重排序
          • SQL的COUNT(*)函数,返回查询结果的总数据条数
          • SQL的AS,为列设置别名
        • 打开和保存文件

数据库的基本概念

什么是数据库
  • 数据库是用来组织,存储和管理数据的仓库
  • 为了方便管理互联网世界中的数据,就有了数据库管理系统的概念,用户可以对数据库中的数据进行新增,查询,更新,删除等操作
常见的数据库和分类
  • MySQL数据库
  • Oracle数据库
  • SQL Server数据库
  • Mongodb数据库
  • 前三者属于传统型数据库(关系型数据库或SQL数据库)
数据库的数据组织结构
  • 和Excel结构相似
  • 传统型的数据结构分为,数据库,数据表,数据行,字段,这4大部分
实际开发中库,表,行,字段的关系
  • 在实际开发中,一般,每个项目都对应独立的数据库
  • 不同的数据,要存储在数据库的不同表中,类似,用户数据存在user表,图书数据存在book表
  • 每个表中具体存储哪些信息,由字段来决定,类似。用户user表,可以设计id,username,password这三个字段
  • 表中的行,代表每一条具体的数据

MySQL相关的软件

  • MySQL Sever,专门用来提供数据存储和服务的软件

  • MySQL workbench 可视化的MySQL管理工具

  • 安装软件百度一下,这边复制一下我搜索到的
    安装过程

  • 运行进来点击输入密码连接成功后进入主界面
    在这里插入图片描述
    在这里插入图片描述

  • 可以控制界面的隐藏和显示

  • 切换真正的数据库列表
    在这里插入图片描述

MySQL Workbench创建数据库

  • 数据库名不能输入中文
    在这里插入图片描述
    在这里插入图片描述
  • 例如,我新建的是my_db_01数据库

在这里插入图片描述

创建数据表

在这里插入图片描述

设计表字段

在这里插入图片描述

字段的特殊标识

![在这里插入图片描述](https://img-blog.csdnimg.cn/3645347da1b244a3bb0d3ef867f5e924.png

  • 想要哪种,勾选即可
  • PK(Primary Key),主键。唯一标识
  • NN(Not NULL),值不允许为空
  • UQ(Unique)值唯一,类似张三的名不能重复
  • AI(Autoincrement)值自动增长,类似id值自动增长
    在这里插入图片描述
  • 表创建成功
    在这里插入图片描述
向表中插入数据

在这里插入图片描述

  • apple后id和状态就会自动填充好
    在这里插入图片描述

使用SQL管理数据库

什么是SQL
  • SQL是结构化查询语言,专门用来访问和处理数据库的编程语言,能够让我们以编程的形式,操作数据库里面的数据
  • 关键点:
  • SQL是一门数据库编程语言
  • 使用SQL语言编写出来的代码,叫做SQL语句
  • SQL语言只能在关系型数据库中使用,非关系型不支持SQL语言
SQL能做什么
  • 增删改查数据库的数据
  • 也可以创建数据库,创建数据表,创建存储过程等

SQL语句

SELECT,查询
  • SELECT语句用于从表中查询语句,执行的结果要被存储在一个结果表中(称为 结果集)
  • sleect语句中对大小写不敏感
-- 从FROM指定的【表中】,查询出【所有的】数据,*表示【所有的】
SElECT * FROM 表名称
select * from users 

-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据
SElECT 列名称,列名称 FROM 表名称
select username,password from users 

在这里插入图片描述

INSERT INTO 新增
  • 注意:字段名要拼写正确
  • 语句用于向数据表中插入新的数据行
insert into 表名(字段名,字段名2) values("字段名的值","字段名2的值")
insert into users(username,password) values("罗曼蒂克","888888")
  • 再次查询
  • 在这里插入图片描述
Update 修改
UPDATE 表名称 set 列名称 = 新值 where 列名称 = 某值
-- 将id为2的用户密码和用户状态,修改为666666和1,也就是更新某一行的若干列
UPDATE users set password = '666666',status=1 where id = 2; 

在这里插入图片描述

DELETE ,删除表中的行
  • 初学者容易忘加where条件,导致误删整张表
DELETE FROM 表名称 WHERE 列名称=-- 删除id=3的用户 
delete from users where id=3;
WHERE子句, 限定选择的标准
  • WHERE子句用于限定选择的标准
  • 在SELECT,UPDATE,DELETE语句中,皆可使用WHERE子句来限定选择的标准
--类似
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
WHERE子句的运算符
  • = 等于
  • <>或者!=表示不等于
  • .> 大于
  • <小于
  • .>=大于等于
  • <=小于等于
  • BETWEEN在某个范围内
  • LIKE搜索模糊匹配
 -- 查询用户名不等于王大海的所有用户
 select * from users where username<>'王大海';
 select * from users where username!='王大海';
SQL的AND和OR运算符
  • and 和 or 可在where语句中把两个或多个条件结合起来
  • and表示必须同时满足多个条件、
  • or 表示多个条件里面满足一项即可
 -- 使用and来显示所有status=0,并且id小于6的所有用户
 select * from users where status=0 and id<6
  -- 使用and来显示所有status=0,或者id小于6的所有用户
 select * from users where status=0 or id<6 
SQL的ORDER BY语句,用于排序
  • 用于根据指定的列对结果进行排序
  • 默认升序进行排序,asc,表示升序排序
  • 降序对记录进行排序,可以使用DESC关键字
 -- 按照id对列表进行升序排序
 -- select * from 表名 order by 按照的字段名
 select * from users order by id 
 -- 按照id对列表进行降序排序
 select * from users order by id desc
SQL的ORDER BY语句,多重排序
  • 逗号分隔
 -- 多重排序,对users的表先按照status字段进行降序排序,再按照username的字母升序排序,进行升序排序、
 select * from users order by status desc,username asc
SQL的COUNT(*)函数,返回查询结果的总数据条数
 -- 返回status=0的总数据条数
 select  count(*) from users where status=0

在这里插入图片描述

SQL的AS,为列设置别名
-- 对查询出来的列名设置别名,可以使用AS关键字
select count(*) AS total from users where status=0
-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据,并指定别名
select username as name,password as word from users

在这里插入图片描述
在这里插入图片描述

  • 总计
-- 从FROM指定的【表中】,查询出【所有的】数据,*表示【所有的】
-- select * from users 

-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据
-- select username,password from users 

-- 向数据表中插入新的数据行
 -- insert into users(username,password) values("罗蒂克","888888");

-- 将id为2的用户密码和用户状态,修改为666666和1,也就是更新某一行的若干列
--  UPDATE users set password = '666666',status=1 where id = 2; 

-- 删除id=3的用户 
-- delete from users where id=3;
 
-- 查询用户名不等于王大海的所有用户
-- select * from users where username<>'王大海';
 
-- 使用and来显示所有status=0,并且id小于6的所有用户
-- select * from users where status=0 and id<6
 
-- 使用and来显示所有status=0,或者id小于6的所有用户
-- select * from users where status=0 or id<6
 
-- 对列表进行降序排序
-- select * from users order by id desc
 
-- 多重排序,对users的表先按照status字段进行降序排序,再按照username的字母升序排序,进行升序排序、
-- select * from users order by status desc,username asc
 
-- 返回status=0的总数据条数
-- select  count(*) from users where status=0
 
-- 对查询出来的列名设置别名,可以使用AS关键字
-- select count(*)  AS total from users where status=0;

-- 从FROM指定的【表中】,查询出指定 列名称(字段)的数据,并指定别名
-- select username as name,password as word from users

打开和保存文件

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springcloud3 Nacos中namespace和group,dataId的联系

一 Namespance和group和dataId的联系 1.1 3者之间的联系 话不多说&#xff0c;上答案&#xff0c;如下图&#xff1a; namespance用于区分部署环境&#xff0c;group和dataId用于逻辑上区分两个目标对象。 二 案例&#xff1a;实现读取注册中心的不同环境下的配置文件 …

IDEA中Maven报错:Failed to read artifact descriptor for解决方案

导入spark-core依赖报错 Failed to read artifact descriptor for com.esotericsoftware:kryo-shaded:jar: 图片忘记报错了&#xff0c;拿一张网友的图&#xff0c;现象是spark-core成功导入&#xff0c;但是pom文件中project处报错 这个原因是因为maven版本不匹配&#xff0c…

金三银四,助力你的大厂梦,2023年软件测试经典面试真题(2)(共3篇)

前言 金三银四即将到来&#xff0c;相信很多小伙伴要面临面试&#xff0c;一直想着说分享一些软件测试的面试题&#xff0c;这段时间做了一些收集和整理&#xff0c;下面共有三篇经典面试题&#xff0c;大家可以试着做一下&#xff0c;答案附在后面&#xff0c;希望能帮助到大…

eNSP实验:vlan 划分与访问

实验目的 交换机未划分 vlan&#xff0c;直接相连的两个终端能否 ping 通&#xff1f; 不同 vlan 中的两个终端能否可以 ping 通&#xff1f; 相同 vlan 但不连接至同一个交换机的两个终端&#xff0c;能否与 ping通&#xff1f; 实验步骤 设计网络拓扑 交换机选用 S5700…

电子技术——AB类输出阶的偏置

电子技术——AB类输出阶的偏置 下面我们介绍两种AB类输出阶的偏置的方法。 使用二极管偏置 下图展示了电流源 III 加两个二极管的偏置方法&#xff1a; 因为输出阶需要大功率输出&#xff0c;因此输出推挽三极管可能是几何体积比较大的晶体管。对于二极管来说&#xff0c;并不…

LeetCode 79. 单词搜索

LeetCode 79. 单词搜索 难度&#xff1a;middle\color{orange}{middle}middle 题目描述 给定一个 mxnm x nmxn 二维字符网格 boardboardboard 和一个字符串单词 wordwordword 。如果 wordwordword 存在于网格中&#xff0c;返回 truetruetrue &#xff1b;否则&#xff0c;返…

3月来了,给自己做一个简单的nodejs后端技术总结

3月来了,给自己做一个简单的nodejs后端技术总结 3月来了,给自己做一个简单的nodejs后端技术总结 完全重构 数据库切换迁移Why Nestjs?prisma or typeorm?serverless 函数辅助GraphQLGithub Action CI/CD部署 tensorflow 模型 我又滚回来写文章了&#xff0c;从去年11月底…

用canvas画一个炫酷的粒子动画倒计时

前言 &#x1f606; 这是一篇踩在活动尾声的文章&#xff0c;主要是之前在摸鱼社群里有人发了个粒子动画的特效视频&#xff0c;想着研究研究写一篇文章出来看看&#xff0c;结果这一下子就研究了半个多月。 &#x1f602; 下面就把研究成果通过文字的形式展现出来吧&#xf…

Compact 调优实例

1.问题描述 10月27号&#xff0c;用户反馈 g_feature 资源组的回溯任务在夜间的耗时比较大。在00:49——04:16期间&#xff0c;查询的平均耗时是大于100ms的。 2. 分析原因 根据问题现象&#xff0c;在夜间的耗时比较大&#xff0c;白天的耗时比较小&#xff0c;首先想到的就…

【电子通识】为什么产品出厂前要进行高温老化?

产品在出厂时往往会进行高温老化测试&#xff0c;那出厂前高温老化的目的是什么&#xff1f;可靠性定义首先我们要知道产品的可靠性&#xff0c;可靠性的定义是指产品在规定的条件下能够正常运行达到产品寿命的概率。如下公式表示&#xff0c;其中&#xff0c;λ表示固有故障率…

一起了解井用污水采样器——让井下污水采样更人性化

井用采样器的工作环境比较特殊。比如&#xff1a;雨水管网、窨井、污水井、排污口、下水道&#xff0c;海洋、河流、沟渠等恶劣狭小的环境。这就要求采样设备小巧灵活&#xff0c;方便环境检测执法检查人员在排污井、检查井、雨水管网等特殊环境中进行水质采样。 **井用采样器主…

二叉树路径查找

题目描述&#xff1a;给定一棵二叉树(结构如下)&#xff0c;其中每个节点值为整数。给定一个值 K&#xff0c;求所有满足如下条件的路径并将路径上节点的值打印出来&#xff1a; 1、路径方向必须向下&#xff0c;即只能从父节点指向子节点 2、路径并不是必须从根节点开始或在叶…

21- 神经网络模型_超参数搜索 (TensorFlow系列) (深度学习)

知识要点 fetch_california_housing&#xff1a;加利福尼亚的房价数据&#xff0c;总计20640个样本&#xff0c;每个样本8个属性表示&#xff0c;以及房价作为target 超参数搜索的方式: 网格搜索, 随机搜索, 遗传算法搜索, 启发式搜索 函数式添加神经网络: model.add(keras.l…

Python可视化界面编程入门

Python可视化界面编程入门具体实现代码如所示&#xff1a; &#xff08;1&#xff09;普通可视化界面编程代码入门&#xff1a; import sys from PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__"__main__":#创建一个Appl…

探索ChatGPT背后的网络基础设施

ChatGPT是OpenAI公司开发的一款聊天机器人应用&#xff0c;自2022年11月推出以来以迅雷不及掩耳盗铃之势火爆全球。ChatGPT不仅可以模仿人类对话&#xff0c;还可以创建音乐、电视剧、童话故事和学生论文&#xff0c;甚至是编写和调试计算机程序。 截至2023年1月&#xff0c;C…

如何打造自己的小程序生态?

2021 年全网小程序数量就已超 700 万&#xff0c;从微信开始&#xff0c;到其他各大平台&#xff0c;如抖音、支付宝&#xff0c;小程序发展迅猛&#xff0c;2023年小程序仍有着巨大的发展潜力。 现在。人们逐渐发现&#xff0c;日常的生活、出行、购物各个方面都越来越离不开…

CAN工具-VSpy(ValueCAN) - Panel面板

在介绍CANoe工具的时候&#xff0c;有介绍过Panel面板的使用&#xff0c;同样&#xff0c;在VSpy软件工具中&#xff0c;也有同类型的工具可供使用 - Graphical Panels&#xff0c;同样也能提供一个控制面板&#xff0c;然后我们通过连接信号实现不同的控件&#xff0c;已达到我…

极验4参数分析

目标链接 aHR0cHM6Ly9ndDQuZ2VldGVzdC5jb20v接口分析 开发者人员工具进行抓包&#xff0c;刷新页面&#xff0c;抓到了一个名为 load?captcha_idxxx 的包&#xff0c;Query String Parameters 包含了一些参数 captcha_id&#xff1a;验证码 id&#xff0c;固定值&#xff0c…

如何使用AzureGraph通过Microsoft Graph收集Azure活动目录信息

关于AzureGraph AzureGraph是一款针对Azure活动目录的信息收集工具&#xff0c;该工具基于Microsoft Graph实现其功能。多亏了Microsoft Graph技术&#xff0c;AzureGraph才能从Azure活动目录获取各种信息&#xff0c;如用户、设备、应用程序、域等。 此应用程序允许我们通过…

一次性搞定 `SHOW SLAVE STATUS` 的解读

一次性搞定 SHOW SLAVE STATUS 的解读 解析日志文件的位置 诚然, GTID(全局事务标识符)已经在 MySQL 5.6中得到支持, 此外,还可以通过 Tungsten replicator 软件来实现(2009年以后一直有谷歌在维护,不是吗?)。 但有一部分人还在使用MySQL 5.5的标准副本方式, 那么这些二进制日…