数据库

mysql数据库

2021-03-27  本文已影响0人  beizi

数据库简介

  1. 什么是数据库
    保存和管理数据的仓库,数据库
  2. 什么是数据
    文件,图片,视频,订单,用户名,密码等等。这些数据都需要有专门的地方来保存和管理
  3. 数据库的分类
    关系型:mysql ...
    非关系型:mongodb...

理解关系型数据库

在关系型数据库中,存在三级关系:

安装MySQL

phpstudy-mysql-navicat中操作数据库

phpstudy下载 ,安装
开启了mysql(这个数据库就是我们自己的电脑)

操作数据库-用navicat

新建数据库

新建数据表

添加字段和添加数据

SQL语句

结构化查询语言(Structured Query Language)简称SQL。
是一种数据库查询和程序设计语言,用来存取数据以及查询、更新、和管理关系型数据库。
常用的sql语句有四类,分别对应对数据的四种操作:

添加数据

删除数据

修改数据

数据查询

nodejs中mysql包来连接mysql数据库

  1. 创建项目

  2. npm init --yes

  3. 安装第三方模块

     npm install mysql
    
  4. 写代码

     let mysql = require('mysql');
    
     let connection = mysql.createConnection({
       host     : 'localhost',   // 你要连接的数据库服务器的地址
       port     : 3306,// 端口号
       user     : 'root',        // 连接数据库服务器需要的用户名
       password : 'root',        // 连接数据库服务器需要的密码
       database : 'testStu'      //你要连接的数据库的名字
     });
    
     connection.connect((err) => {
       // 如果有错误对象,表示连接失败
       if (err) return console.log('数据库连接失败')
       // 没有错误对象提示连接成功
       console.log('mysql数据库连接成功')
     });
    

nodejs中mysql包操作数据库-做查询

    // 1. 加载mysql
    const mysql = require('mysql');
    // 2. 创建连接对象
    const conn = mysql.createConnection({
        // 对象的属性名字不能改变
        host: 'localhost',
        port: 3306,
        user: 'root',
        password: 'root',
        database: 'testStu'
    });
    // 3. 连接到MySQL服务器
    connection.connect((err) => {
      // 如果有错误对象,表示连接失败
      if (err) return console.log('数据库连接失败')
      // 没有错误对象提示连接成功
      console.log('mysql数据库连接成功')
    });

    let sql = 'insert into users (name,password) values("小王","snv")'
    connection.query(sql, (err, result) => {
        if (result.affectedRows > 0) {
            console.log('添加成功,新数据的id为:' + result.insertId);
        } else {
            console.log('添加失败');
        }
    });

写一个真正接口

  1. 项目初始化

     npm init --yes
    
  2. 数据库服务器启动,准备数据库,数据表

  3. 项目安装依赖
  4. 写一个基本的express程序

     // 写一个用来做添加用户接口
     // 地址: localhost:3030/user/add
     // 类型:post
     // 参数: name ,age ,gender
     // 备注: 数据要写入数据库
    
     // 引入模板
     const express = require('express')
    
     // 创建服务
     const server = express()
    
     // 启动服务
     server.listen(3030, () => {
         console.log('端口3030启动成功');
     })
    
  5. 写一个最简单的接口

       // 引入模板
     const express = require('express')
    
     // 创建服务
     const server = express()
    
     // post请求
     server.post('/user/add', (req, res) => {
    
     })
    
     // 启动服务
     server.listen(3030, () => {
        console.log('端口3030启动成功');
     })
    
  6. 收集用户数据并拼接sql语句

     // 引入模板
     const express = require('express')
     // 引入自定义数据库连接模板
     const conn = require("./util/sql")
     // 引入cors 解决跨域问题
     const cors = require('cors')
    
     // 创建服务
     const server = express()
     server.use(cors())
     server.use(express.urlencoded())
    
     server.post('/user/add', (req, res) => {
         // 1.收集用户信息
         let { name, age, gender } = req.body
         // 2. 拼接sql语句
         let sqlStr = `insert into test(name,age,gender) values("${name}",${age},"${gender}")`
    
     })
    
     // 启动服务
     server.listen(3030, () => {
         console.log('端口3030启动成功');
     })
    
  7. 执行sql,根据执行结果,给出返回值

     // 引入模板
     const express = require('express')
     // 引入自定义数据库连接模板
     const conn = require("./util/sql")
     // 引入cors 解决跨域问题
     const cors = require('cors')
    
     // 创建服务
     const server = express()
     server.use(cors())
     server.use(express.urlencoded())
    
     server.post('/user/add', (req, res) => {
         // 1.收集用户信息
         let { name, age, gender } = req.body
         // 2. 拼接sql语句
         let sqlStr = `insert into test(name,age,gender) values("${name}",${age},"${gender}")`
         // 3. 执行sql,根据执行结果,给出返回值
         conn.query(sqlStr, (err, result) => {
             if (err) {
                 res.status(500).json({ msg: '添加失败', code: 500 })
             }
             res.json({ msg: '添加成功', code: 200 })
         })
     })
    
     // 启动服务
     server.listen(3030, () => {
         console.log('端口3030启动成功');
     })
    
上一篇下一篇

猜你喜欢

热点阅读