(一)数据库的基本概念
一、什么是数据库
二、常见的数据库及分类
三、传统型数据库的数据组织结构
1、Excle 的数据组织结构
2、 传统型数据库的数据组织结构
3、实际开发中库、表、行、字段的关系
(二)安装并配置 MySQL
一、了解需要安装哪些MySQL相关的软件
二、MySQL 在 Mac 环境下的安装
三、MySQL 在 Windows环境下的安装
(三)MySQL 的基本使用
一、使用 MySQL Workbench 管理数据库
1、连接数据库
2、 了解主界面的组成部分
3、创建数据库
4、创建数据表
5、 向表中写入数据
二、使用SQL管理数据库
1、什么是SQL
2、SQL能做什么
3、SQL的学习目标
三、SQL的SELECT语句
1、语法
2、SELECT* 示例
3、SELECT列名称 示例
四、SQL 的 INSERT INTO 语句
1、语法
2、INSERT INTO 示例
五、SQL 的 UPDATE 语句
1、语法
2、UPDATE 的示例
六、SQL 的 DELETE 语句
1、语法
2、DELETE 的示例
七、SQL 的 WHERE 子句
1、语法
2、可在 WHERE 子句中使用的运算符
3、WHERE子句示例
八、SQL 的 AND 和 OR 运算符
1、语法
2、AND运算符示例
3、OR运算符示例
九、SQL的 ORDER BY 子句
1、语法
2、 ORDER BY 子句——升序排序
3、 ORDER BY 子句——降序排序
4、ORDER BY 子句——多重排序
十、SQL 的 COUNT(*)函数
1、语法
2、 COUNT(*) 示例
3、使用 AS 为列设置别名
(四)在项目中操作 MySQL
一、在项目中操作数据库的步骤
二、安装与配置 mysql 模块
1、安装mysql 模块
2、配置 mysql模块
// 1.导入数据库模块
const mysql = require('mysql')
// 2.建立与MySQL 数据库的连接关系
const db = mysql.createPool({
host: '127.0.0.1' , //数据库的IP地址
user : 'root', //登录数据库的账号
password : 'admin123' , //登录数据库的密码
database: 'my_db_01' //指定要操作哪个数据库
})
3、测试 mysql 模块能否正常工作
// 测试mysql 模块能否正常工作
db.query('select 1' , (err , results) => {
// mysql 模块工作期间报错了
if(err) return console.log(err.message);
// 能够成功的执行 SQL语句
console.log(results);
})
三、使用mysql模块操作MySQL 数据库
1、查询数据
// 查询 users表中的所有数据
const sqlStr = 'select * from users'
db.query(sqlStr , (err , results) => {
// 查询数据失败
if(err) return console.log(err.message);
// 查询数据成功
// 注意: 如果执行的是 select 查询语句,则执行的结果是数组
console.log(results);
})
2、插入数据
// 插入数据
// 1.向users表中,新增一条数据,其中username的值为Spider-Man,password的值为pcc123
// 要插入到 users表中的数据对象
const user = {username :'Spider-Man' , password : 'pcc123'}
// 2.定义待执行的 SQL语句
const sqlStr = 'insert into users (username , password) values (? , ?)'
// 3.执行 SQL语句
db.query(sqlStr , [user.username , user.password] , (err ,results) => {
// 执行 SQL语句失败
if(err) return console.log(err.message);
// 执行 SQL语句成功
// 注意: 如果执行的是 insert into 插入语句,则 results是一个对象
// 可以 通过 affectedRows 属性,来判断数据是否插入成功
if(results.affectedRows === 1){
console.log('插入数据成功!');
}
})
3、插入数据的便捷方式
// 演示插入数据的便捷方式
const user = {username :'Spider-Man' , password : 'pcc123'}
// 2.定义待执行的 SQL语句
const sqlStr = 'insert into users set ?'
// 3.执行 SQL语句
db.query(sqlStr , [user.username , user.password] , (err ,results) => {
// 执行 SQL语句失败
if(err) return console.log(err.message);
// 执行 SQL语句成功
// 注意: 如果执行的是 insert into 插入语句,则 results是一个对象
// 可以 通过 affectedRows 属性,来判断数据是否插入成功
if(results.affectedRows === 1){
console.log('插入数据成功!');
}
})
4、更新数据
// 更新数据
const user = {id : 6 ,username :'aaa' , password : '111'}
// 2.定义SQL语句
const sqlStr = 'update users set username=? , password=? where id=?'
// 执行SQL语句
db.query(sqlStr, [user.username , user.password , user.id] , (err , results) => {
if(err) return console.log(err.message);
// 注意: 执行了 update 语句之后, 执行的结果也是一个对象,可以通过 affectedRows 判断是否更新成功
if(results.affectedRows === 1) console.log('更新数据成功!');
})
5、更新数据的便捷方式
// 演示更新数据的便捷方式
const user = {id : 6 ,username :'aaa' , password : '111'}
// 2.定义SQL语句
const sqlStr = 'update users set ? where id=?'
// 执行SQL语句
db.query(sqlStr, [user , user.id] , (err , results) => {
if(err) return console.log(err.message);
// 注意: 执行了 update 语句之后, 执行的结果也是一个对象,可以通过 affectedRows 判断是否更新成功
if(results.affectedRows === 1) console.log('更新数据成功!');
})
6、删除数据
// 删除数据
// 删除 id= 5 的用户
const sqlStr = 'delete from users where id=?'
db.query(sqlStr, 5, (err , results) => {
if(err) return console.log(err.message);
// 注意: 执行了 delete 语句之后, 执行的结果也是一个对象,可以通过 affectedRows 判断是否删除成功
if(results.affectedRows === 1) console.log('删除数据成功!');
})
7、标记删除
// 标记删除
const sqlStr = 'update users set status=? where id=?'
db.query(sqlStr , [1,6] , (err,results) => {
if(err) return console.log(err.message);
if(results.affectedRows === 1) {
console.log('标记删除成功');
}
})