今天正式开启第二阶段学习,先了解数据库相关知识和Node.js对数据库的操作等。
一、数据库安装
- 数据库:专门用于存放数据地方。sqlServer,mysql,sqlite
- 数据库分类:关系型数据库(mysql),非关系型数据库(nosql,mongodb),图谱数据库(大数据建立知识图谱)
1. Mysql下载
2. 选择 MySQL Community Server
3. 下载页面
4. 安装MySQL
注意:
- 仅安装server-only
- 选择mysql.5x密码验证
5. 测试是否安装成功
- 打开mysql8.0 cline client
- 输入账号密码能够进入数据库
6. 安装navicat等可视化工具
二、Node.js操作MySQL数据库
1.安装mysql库
npm install mysql
2.引入 mysql 模块
// 引入 mysql 模块
var mysql = require('mysql');
3.连接数据库
// 创建与数据库的连接
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
// port : '3306', //可选可不选,默认端口3306
database : 'wess' //库名
});
//建立连接
connection.connect((err) => {
if(err){
console.log('连接失败!'+err);
}else{
console.log('数据库连接成功!');
}
});
4.创建(增)
-
创建库
// 创建与数据库的连接
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
// port : '3306', //可选可不选,默认端口3306
// database : 'wess' //库名
});
//建立连接
connection.connect((err) => {
if(err){
console.log('连接失败!'+err);
}else{
console.log('数据库连接成功!');
}
});
// 创建库
let sqlGetup = 'create database testadd';//创建testadd库
connection.query(sqlGetup, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('创建库成功!');
});
-
创建表
// 创建与数据库的连接
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
// port: '3306', //可选可不选,默认端口3306
database : 'testadd' //库名
});
//建立连接
connection.connect((err) => {
if(err){
console.log('连接失败!'+err);
}else{
console.log('数据库连接成功!');
}
});
// 创建表
let sqlGetup2 = `CREATE TABLE testadd.user (
id int NOT NULL AUTO_INCREMENT,
name varchar(255) NULL,
pwd varchar(255) NULL,
PRIMARY KEY (id)
);`
connection.query(sqlGetup2, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('创建表成功!');
});
5.插入(增)
// 插入
let sqlAdd = 'insert into user (id,name,pwd) values (1,"admin","123456")';
connection.query(sqlAdd, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('插入数据成功!');
});
// 方法二
let sqlAdd = 'insert into user (name,pwd) values (?,?)';//id自动递增,不用写
let addTxt = ['小明','111111']
connection.query(sqlAdd,addTxt, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('插入数据成功!');
});
6.删除(删)
-
删除表
// 删除表
let sqlDel = 'drop table test1';//删除test1表
connection.query(sqlDel, (err, results) => {
if (err) throw err; //错误信息
console.log('删除表成功!'+results); //结果
});
-
删除库(谨慎操作)
//删除库
//谨慎删除
let sqlDel2 = 'drop database testadd';//删除testadd库
connection.query(sqlDel2, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('删除库成功!');
});
-
删除指定数据
// 删除数据
let delSql = 'delete from user where id = 2 '; //删除user表id为2的数据
connection.query(delSql, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('删除数据成功!');
});
7.更新(改)
// 更新
let sqlUpdate = 'update user set name = ? ,pwd = ? where id = ?';
let updateTxt = ['大明','222222',1];
connection.query(sqlUpdate,updateTxt, (err, results) => {
if (err) throw err; //错误信息
console.log(results); //结果
console.log('更新数据成功!');
});
8.查询(查)
// 查询
let sqlQuery = 'select * from test'; //查询所有内容从test表中
connection.query(sqlQuery, (err, results, fields) => {
if (err) throw err; //错误信息
console.log(results); //查询结果
console.log(fields); //字段信息
});
数据库必须要掌握的就是:增删改查,其实也不是很难
日期:2021/11/23
学习参考视频:*www.bilibili.com/video/BV1i7…
学习参考文档参考部分相关视频文案和课件,仅供个人学习和记录