一、数据库基本概念
1.什么是数据库
- 数据库是用来组织、存储和管理数据的仓库
- 为了方便管理互联网世界中数据,就有了数据库管理系统的概念。用户可以对数据库进行新增、查询、更新、删除等操作。
2.常见数据库及其分类
- 常见数据库分类
- MySQL 数据库
- Oracle 数据库(收费)
- SQL Server 数据库(收费)
- Mongodb 数据库
二、SQL 语句
1、什么是SQL
- SQL 是结构化查询语言,专门用来访问和数据库的编程语言,能够以变成形式,操作数据库里面的数据。
- 三个关键点:
- SQL 是一门数据库编程语言
- 使用 SQL 语言编写出来的代码,叫做 SQL 语句
- SQL 语言只能关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言
2、SQL 的语句
-- 将列名 username 改为 uname , password 改为 upwd
`select username as uname, password as upwd from users`
三、MySQL模块
1.作用
- 通过 mysql 模块连接到 mySQL 数据库
- 通过 mysql 模块执行 SQL 语句
2.安装配置 mysql 模块
- 安装命令
`npm i mysql
- 配置 mysql 模块
const mysql = require('mysql')
const db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
db.query('select 1',(err,data)=>{
if(err) return console.log(err.message);
console.log(data);
})
3.使用 select 语句查询数据
const mysql = require('mysql')
var db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
db.query('select * from users',(err,data)=>{
if(err) return console.log(err.message);
console.log(data);
})
4.使用 insert into 语句插入数据
const mysql = require('mysql')
var db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
const data = {
username:'kxu',
password:'123'
}
const dl = 'insert into users set?'
db.query(dl,data,(err,user)=>{
if(err) return console.log(err.message);
console.log(user);
if(user.affectedRows ===1) return console.log('插入成功');
})
5.使用 update 语句更新数据
const mysql = require('mysql')
var db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
const data = {
id: 4,
username:'ffff',
password:'123',
}
const ql = 'update users set ? where id=?'
db.query(ql,[data,data.id],(err,user)=>{
console.log(user);
if(err) return console.log(err.message);
if (user.affectedRows===1) return console.log('更新成功');
})
6.使用 update 语句标记删除数据
const mysql = require('mysql')
var db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
const dl = 'update users set status=0 where id=?'
db.query(dl,9,(err,data)=>{
if(err) return console.log(err.message);
if(data.affectedRows===1) return console.log('删除成功');
})
7.通过 node 来操作 mysql
const express = require('express')
const app = express()
const mysql = require('mysql')
const db = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'web67'
})
app.get('/user',(req,res)=>{
db.query('select * from users', (err, data) => {
if(err) return console.log(err.message);
res.send({
status:0,
msg:'请求成功',
data
})
})
})
app.use(express.urlencoded({ extended: false }))
app.post('/postuser',(req,res)=>{
const body = req.body
const dl = 'insert into users set ?'
db.query(dl,body, (err, data) => {
if (err) return console.log(err.message);
res.send({
status: 0,
msg: '添加成功',
})
})
})
app.post('/duser',(req,res)=>{
const body = req.body
const dl = 'update users set ? where id=?'
db.query(dl,[body,body.id], (err, data) => {
if (err) return console.log(err.message);
if(data.affactedRows!==1) console.log('更新失败');
res.send({
status: 0,
msg: '更新成功',
})
})
})
app.get('/iuser/:id',(req,res)=>{
const user = req.params.id
const dl = 'delete from users where id=?'
db.query(dl, user, (err, data) => {
if (err) return console.log(err.message);
if (data.affactedRows !== 1) console.log('更新失败');
res.send({
status: 0,
msg: '删除成功',
})
})
})
app.listen(3000,()=>{
console.log('完成');
})