认识数据库,及 MySQL数据库的基本使用

数据库

1.1 数据库的基本概念

1.2 常见的数据库及分类

市面上的数据库有很多种,最常见的数据库有如下几个:

  • MySQL 数据库(目前使用最广泛、流行度最高的开源免费数据库;Community + Enterprise)

  • Oracle 数据库(收费)

  • SQL Server 数据库(收费)

  • Mongodb 数据库(Community + Enterprise)

其中,MySQL、Oracle、SQL Server 属于传统型数据库(又叫做:关系型数据库 或 SQL 数据库),这三者的设计理念相同,用法比较类似。

而 Mongodb 属于新型数据库(又叫做:非关系型数据库 或 NoSQL 数据库),它在一定程度上弥补了传统型数据库的缺陷。

1.3 传统型数据库的数据组织结构

**数据的组织结构:**指的就是数据以什么样的结构进行存储。

传统型数据库的数据组织结构,与 Excel 中数据的组织结构比较类似。

在传统型数据库中,数据的组织结构分为数据库(database)、数据表(table)、数据行(row)、字段(field)这4大部分组成。

① 数据库类似于 Excel 的工作簿

② 数据表类似于 Excel 的工作表

③ 数据行类似于 Excel 的每一行数据

④ 字段类似于 Excel 的列

⑤ 每个字段都有对应的数据类型

2 安装并配置 MySql

2.1 需要安装的工具

对于开发人员来说,只需要安装 MySQL Server 和 MySQL Workbench 这两个软件,就能满足开发的需要了。

lMySQL Server:专门用来提供数据存储和服务的软件

lMySQL Workbench:可视化的 MySQL 管理工具,通过它,可以方便的操作存储在 MySQL Server 中的数据。

3 MySQL的基本使用

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

3.2 sql的select语句

1 语法

``select 语句用于从表中查询数据`。

执行的结果被存储在一个结果表中(称为结果集)。语法格式如下:

-- 从  form 指定的表中,查询所有的数据,* 表示所有列
select * from 表名称-- 从  form 指定的表中,查询指定列名称的数据
select 列名称 from 表名称

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

2 示例

-- 通过 * 把 users 表中所有的数据查询出来
select * from users-- 从 users 表中把 username, password 对应的数据查询出来
select username, password from users

3.3 sql的insert into语句

inster into 语句用于向数据表中插入新的数据行

语法:

-- 向指定的表中,插入如下几列数据,列的值通过 values 指定
-- 列和值要一一对应,多个列和多个值之间使用英文的逗号insert into tableName (1,2,3...) values (1,2,3...)

示例:

-- 向 users 表中,插入一条 username 为 xiaoxu,password 为 123123 的用户数据insert into users (username, password) values ('xiaoxu', '123123');

3.4 sql的update语句

update 语句用于修改表中的数据

语法:

-- 1 用 update 指定要更新的表名
-- 2 用 set 指定列对应的新值
-- 3 用 where 指定更新的条件update tableName set 列名称 = 新值 where 列名称 = 某值-- 多个被更新的列之间用英文逗号, 进行分割
update tableName set 列名称1 = 新值, 列名称2 = 新值2 where 列名称 = 某值

示例:

-- 把 users 表中 id 为 7 的用户密码,更新为 888888。示例如下:
update users set password = 888888 where id = 7

3.5 sql的delete语句

delete 语句用于删除表中的行

语法:

-- 从指定的表中,根据 where 条件,删除对应的数据行
delete from tableName where 列名称 =

示例:

-- 从 users 表中删除 id 为 4 的记录
delete from users where id = 4

3.6 sql的where子句

where子句用于限定选择的标准。在 select、update、delete语句中,皆可使用 where
子句来限定选择的标准。

-- 查询语句中的 where 条件
select 列名称 from 表名称 where 列 运算符 值-- 更新语句中的 where 条件
update 表名称 set= 新值 where 列 运算符 值-- 删除语句中的 where 条件
delete from 表名称 where 列 运算符 值

可在where字句中使用的运算符有:

操作符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
between在二者之间
like搜索某种模式
!=也是不等于

3.7 sql的and和or运算符

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

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

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

3.8 sql的order by字句

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

默认升序 ASC ,降序 DESC。

select * from users order by status; 		-- 默认升序
select * from users order by status ASC;  	-- 与上方等价select * from users order by status DESC;  	-- 降序

多重排序。

-- 对users表中的数据,先按照status字段进行降序排序,再按照username的字母顺序,进行升序排序select * from users order by status DESC, username ASC;

3.9 sql的count(*)函数

COUNT(*) 函用于返回查询结果的总数据条数

语法:

select count(*) from 表名称

示例:

-- 查询 users 表中 status 为 0 的总数据条数 
select count(*) from users where status = 0

3.10 sql的as设置别名

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

-- 将列名 count(*) 修改为  total 
select count(*) as total from users where status = 0

4 在项目中操作 MySQL

4.1 在项目中操作数据库的步骤

①安装操作 MySQL 数据库的第三方模块(mysql)

②通过 mysql 模块连接到 MySQL 数据库

③通过 mysql 模块执行 SQL 语句

4.2 安装与配置 mysql 模块

1 安装 mysql 模块

mysql 模块是托管于 npm 上的第三方模块。它提供了在 Node.js 项目中连接和操作 MySQL 数据库的能力。

运行如下命令,将 mysql 安装为项目的依赖包:

npm install mysql
2 配置 mysql 模块

在使用mysql模块操作MySQL数据库之前,必须先对 mysql 模块进行必要的配置。

主要的配置步骤如下:

// 1 导入 mysql 模块
const mysql = require('mysql')// 2 建立与 MySQL 数据库的链接
const db = mysql.createPool({host: '127.0.0.1',			// 数据库的 ip 地址user: 'root',				// 登录数据库的账号password: 'admin123',		// 登录数据库的密码database: 'my_db_o1',		// 指定要操作哪个数据库 
})
3 测试 mysql 模块能否正常工作

调用db.query()函数,指定要执行的SQL语句,通过回调函数拿到执行的结果:

// 检测 mysql 模块能否正常工作
db.query('select 1', (err,result) => {if(err) return console.log(err.message)// 只要打印出 [ RowDataPacket {'1':1 } ] 的结果,就证明数据库链接正常console.log(result)
})

4.3 使用mysql模块操作MySQL数据库

1 查询数据

查询users表中所有的数据:

// 查询 users 表中所有的用户数据db.query('select * from users', (err,result) => {// 查询失败if(err) return console.log(err.message)// 查询成功console.log(result)
})

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

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

相关文章

这 10 个 Linux 命令,我不允许你还不知道!

Linux当中有很多比较有趣的命令&#xff0c;可以动手看看&#xff0c;很简单的。 1.rev命令 一行接一行地颠倒所输入的字符串。 运行&#xff1a; $rev 如输入&#xff1a;shiyanlou shiyanlou 2.asciiview命令 1.先安装aview $sudo apt-get install aview 2.再安装im…

【吃透Java手写】6-Netty-NIO-BIO-简易版

Netty 1 BIO&NIO模型 1.1 BIO 在JDK1.4出来之前&#xff0c;我们建立网络连接的时候采用BIO模式&#xff0c;需要先在服务端启动一个ServerSocket&#xff0c;然后在客户端启动Socket来对服务端进行通信&#xff0c;默认情况下服务端需要对每个请求建立一堆线程等待请求&…

TikTok Shop认知课 打通TK小店全流程

资料 001-先导课.mp4 002-如何用思维导图工具做课程笔记.mp4 003-TTS入驻模式.mp4 004-如何获取店铺.mp4 005-TTS店铺注册全流程,mp4 006-店铺整体运营思路.mp4 007-运营的几个误区.mp4 008-新店起店准备工作,mp4 009-规店铺风控注意事项,mp4 010-店铺基础设置之店铺…

基于火山引擎云搜索的混合搜索实战

在搜索应用中&#xff0c;传统的 Keyword Search 一直是主要的搜索方法&#xff0c;它适合精确匹配查询的场景&#xff0c;能够提供低延迟和良好的结果可解释性&#xff0c;但是 Keyword Search 并没有考虑上下文信息&#xff0c;可能产生不相关的结果。最近几年&#xff0c;基…

单文件组件,为什么要使用 SFC

介绍 Vue 的单文件组件 (即 *.vue 文件&#xff0c;英文 Single-File Component&#xff0c;简称 SFC) 是一种特殊的文件格式&#xff0c;使我们能够将一个 Vue 组件的模板、逻辑与样式封装在单个文件中。下面是一个单文件组件的示例&#xff1a; <script setup> impor…

机器学习_朴素贝叶斯

机器学习_朴素贝叶斯 朴素贝叶斯算法&#xff08;Naive Bayes Algorithm&#xff09;是一种基于贝叶斯定理与特征条件独立假设的分类方法。该算法假设给定目标值时&#xff0c;各个特征之间相互独立。朴素贝叶斯算法通过训练数据集学习联合概率分布&#xff0c;并基于此模型&a…

优秀博士学位论文分享:复杂场景下高精度有向目标检测的研究

优秀博士学位论文代表了各学科领域博士研究生研究成果的最高水平&#xff0c;本公众号近期将推出“优秀博士学位论文分享”系列文章&#xff0c;对人工智能领域2023年优秀博士学位论文进行介绍和分享&#xff0c;方便广大读者了解人工智能领域最前沿的研究进展。 “博士学位论…

C++11 新特性 常量表达式 constexpr

为了解决常量无法确定的问题&#xff0c;C11在新标准中提出了关键字constexpr&#xff0c;它能够有效地定义常量表达式&#xff0c;并且达到类型安全、可移植、方便库和嵌入式系统开发的目的。 一、常量的不确定性 在C11标准以前&#xff0c;我们没有一种方法能够有效地要求一…

UBUNTU下CMAKE指定执行文件运行时查找库的路径

在Ubuntu下&#xff0c;使用CMake时&#xff0c;如果需要指定执行文件运行时库的搜索路径&#xff0c;可以在CMakeLists.txt文件中通过set_target_properties命令来设置。 以下是一个示例&#xff0c;假设你的目标是一个名为my_application的可执行文件&#xff0c;你想要添加…

LLama3大模型本地部署 仅需6步完成对话模型本地安装部署。附送可视化ui安装、自定义模型目录,修改模型保存地址,第三方微调模型、中文模型下载地址

本篇分为三部分 一&#xff1a;6步完成llama3大模型本地部署 二&#xff1a;8步完成llama3可视化对话界面安装 三&#xff1a;重设模型文件路径 四&#xff1a;微调模型、中文模型下载资源分享 一、LLama3 大模型本地部署安装 首先去mata官网下载ollama客户端 Ollama 选择合适…

如何使用正则表达式避免生成空字符串

在字符串处理中&#xff0c;我们经常需要将字符串根据特定的分隔符拆分成多个子字符串。Java 中的 split 方法可以很好地完成这项任务。但是&#xff0c;在使用 split 方法时&#xff0c;如果分隔符连续出现&#xff0c;可能会生成空字符串。 可以使用正则表达式避免生成空字符…

linux 环境下 分布式文件搭建fastDFS

1.软件信息 地址&#xff1a;happyfish100 (YuQing) GitHub 1.fastdfs-master.zip 2.fastdfs-nginx-module-master.zip 3.libfastcommon-master.zip 4.libserverframe-master.zip yum install make cmake gcc gcc-c perl 2.安装libfastcommon unzip libfastcommon-mast…

MQTT_客户端安装_1.4

下载地址 MQTTX 下载 下一步直接安装即可 界面介绍

人工智能项目,如何解决大模型的数据私有化

这个问题是最近走访百家企业&#xff0c;客户问的最多的问题。人工智能是对数据集中后&#xff0c;再利用的智能化手段&#xff0c;ChatGPT还在持续的投入&#xff0c;汇集数据、训练模型&#xff0c;微软也不过是做了一个办公客户端的智能工具&#xff0c;那么行业应运之时&am…

基于CentOS-7搭建hadoop3.3.6大数据集群(保姆级教程)

目录 安装虚拟机 为hadoop用户添加权限 关闭防火墙 修改主机名以及ip地址映射 配置ip 连接xshell &#xff0c;以hadoop用户登录 创建目录并将该文件夹权限赋予hadoop用户 安装配置jdk 关闭虚拟机&#xff0c;克隆其他两个节点 修改主机名和ip地址 配置免密登录 安装…

如何通过专业的二手机店erp优化手机商家运营!

在数字化浪潮席卷全球的大背景下&#xff0c;手机行业作为科技发展的前沿阵地&#xff0c;正经历着前所未有的变革。对于众多手机商家而言&#xff0c;如何在这场变革中抢占先机&#xff0c;实现数字化转型&#xff0c;成为了摆在他们面前的一大难题。幸运的是&#xff0c;途渡…

工作绩效域怎么写和子题目如何回应

某智慧案管信息化系统 在2023年11月&#xff0c;我作为项目经理&#xff0c;领导了“某市XX智慧案管信息化系统”项目的建设工作。该项目以485.5万元的合同金额成功中标&#xff0c;预计建设周期为12个月。作为一个多维度的系统工程&#xff0c;它由案件受理、分配、跟踪、审理…

python如何在图片上写斜体字

在Python中&#xff0c;直接在图片上写斜体文字通常不是图像库&#xff08;如PIL或OpenCV&#xff09;的内置功能&#xff0c;因为这些库主要关注于图像处理而非复杂的文本渲染。然而&#xff0c;你可以通过几种方式在图片上创建斜体效果&#xff1a; 使用PIL&#xff08;Pytho…

API低代码平台介绍3-异构数据源的数据查询功能

异构数据源的数据查询功能 在上一篇文章中我们通过API平台定义了一个最基本的数据查询接口&#xff0c;本篇文章我们将上升难度&#xff0c;在原有接口的基础上&#xff0c;实现在MySQL数据库和Oracle数据库同时进行数据查询。   什么场景会需要同时对异构数据源进行查询&…

基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 vivado2019.2和matlab2022a测试&#xff0c;结果如下&#xff1a; 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescale …