认识数据库,及 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)
})
  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值