一.数据库
1.什么是数据库
用来组织、储存和管理数据的仓库。
2.分类
传统型数据库(又称关系型数据库或SQL数据库):MySQL(开源免费,当前最流行)、Oracle(收费)、SQL Server(收费)。
新型数据库(又称非关系型数据库或NoSQL数据库):MongoDB
二.MySQL的基本使用
1.安装
需安装MySQL和MySQL-Workbench。
官网:(www.mysql.com/downloads/)…
进入后点击download。
然后往下滑点击下图位置。
然后下载下图两个软件。
2.了解SQL
-
它是一门数据库编程语言。
-
使用SQL编码出来的语句叫SQL语句。
-
只能在关系型数据库中使用。
SQL——SELECT语句
用于从表中查询数据。执行的结果被存储在一个结果表中(被称为结果集)。
-- + 空格:表示注解
SELECT * FROM 表名称 (从FROM指定的表中,查询所有的数据).
SELECT 列名称 FROM 表名称 (从FROM指定的表中,查询指定列名称的数据).
注:SQL对关键字大小不敏感,其余都敏感。
SQL——INSERT INTO语句
用于数据表中插入新的数据行。
INSERT INTO table_name(列1,列2,...)VALUES(值1,值2,...)。
SQL——UPDATE语句
用于修改表中的数据。
UPDATE 表名称 SET 列名称=新值 WHERE 列名称=某值。
SQL——DELETE语句
用于删除表中的行。
DELETE FROM 表名称 WHERE 列名称=值.
SQL——WHERE语句
用于限定选择的标准。
主句 WHERE 列 运算符 值。
SQL——AND和OR运算符
AND——同时满足多个条件。
OR——满足任意一个条件。
主句 WHERE 条件 AND 条件。
SQL——ORDER BY语句
用于根据指定的列对结果集进行排序。
默认按照升序排列:ASC。
降序:DESC。
主句 WHERE ORDER BY 列名称 ASC/DESC。
SQL——COUNT( * )语句
用于返回查询结果的总数据条数。
SELECT COUNT( * ) FROM 表名称。
使用AS为列设置别名。
3.在项目中操作MySQL
- 安装操作MySQL数据库的第三方模块。
npm install mysql
- 通过mysql模块连接到MySQL数据库。
导入:
const mysql = require('mysql')
建立连接:
const db = mysql.createPool({
host:
//IP地址
user:
//账号
password:
//密码
database:
//哪个数据库
})
检测是否连接成功:
db.query('SELECT',(err,results) => {
if(err) return console.log(err.message)
console.log(results)
})
查询user中所有的数据:
const sqlStr = 'select * from users'
db.query(sqlStr, (err, result) => {
if (err) return console.log(err.message);
console.log(result);
})
插入数据:
const user = { username: 'Spider-man2', password: 'sjb7481' }
// //插入数据的便捷方式
const sqlStr = 'insert into users set ?'
db.query(sqlStr, user, (err, results) => {
if (err) return console.log(err.message);
//若是执行插入insert into语句,则results是一个对象
if(results.affectedRows===1) return console.log('插入数据成功!');
})
更新数据:
//使用delete语句会直接删除数据,不能恢复
const sqlStr = 'delete from users where id=?'
db.query(sqlStr, 7, (err, results) => {
if (err) return console.log(err.message);
// results也是一个对象
if(results.affectedRows===1) return console.log('删除数据成功!')
})
标记删除:
// 利用update语句替代delete语句,更新数据状态,不进行真正删除(推荐使用)
const sqlStr = 'uppdate users set status=? where id=?'
db.query(sqlStr, [1, 6], (err, results) => {
if (err) return console.log(err.message);
if(results.affectedRows===1) return console.log('删除数据成功!')
})