美文网首页
node操作数据库

node操作数据库

作者: kzc爱吃梨 | 来源:发表于2022-02-10 22:08 被阅读0次
    DBMS

    Docker安装MySQL

    ·步骤

    • 进入Docker上面MySQL的主页
    • 选择版本,如5.7.27或者8.0.18
    • 使用 docker run命令启动容器
    1. name是容器的名字
    2. MYSQL_ROOT_PASSWORD是密码
      3.tag是版本号,我们选用5.7.27
    3. 再加一个端口映射-p 3306:3306
    4. 最终命令docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.27

    一些有用的 Docker命令

    • 命令
      运行docker ps 查看容器
      运行状态运行 docker kill mysql1关掉容器
      运行 docker container start mysal1开启刚关掉的容器
      运行docker rm mysql1删掉容器,必要时可加-f选项
      运行docker run 启动新容器(详细看上面)

    • 注意
      用 Docker 运行的容器,默认不会持久化
      也就是说如果容器被删掉了,那么数据也没了
      如果需要持久化,自行搜索「docker mysql数据目录」学习阶段不需要持久化

    如何用命令行连接

    • mysql Docker exec 命令
      docker exec -it mysql1 bash
      这句命令会进入容器,容器里有一个Linux系统
      然后你就可以在这个系统里运行 mysql

    • mysql命令
      mysql -u root -p 回车,然后输入密码 123456
      命令 show databases;可查看数据库列表
      如果你手抖忘了写分号就回车了,按 Ctrl+C 重来吧
      命令 use xxx;可选择使用 xxx 数据库
      命令use sys;我们试试默认的 sys 数据库命令show tables;查看所有表
      命令select * from CHARACTER SETS;查看表内容

    Node.js 连接数据库

    安装mysql

    yarn add mysql
    

    代码

    var mysql = require('mysql');
    var connection = mysql.createConnection({
        host: 'localhost',
        user: 'root',
        password: '123456',
    });
    
    connection.connect();
    // 如果存在kong的数据库就不创建,如果没有就创建名字为kong的数据库,编码方式为utf8mb4
    connection.query('CREATE DATABASE IF NOT EXISTS kong DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_520_ci;', function (error, results, fields) {
        if (error) throw error;
        console.log('创建数据库');
        console.log(results);
    });
    
    connection.query('use kong;')  // 选中kong数据库
    // 如果没有user的表就进行创建
    connection.query(`CREATE TABLE IF NOT EXISTS user(
        name text,
        age int
    )`, function (error, results, fields) {
        if (error) throw error;
        console.log('创建表');
        console.log(results);
    });
    
    connection.end();
    

    对表的增删改查

    删除名为kong的数据库

    DROP database kong;
    

    删除名为user的表

    DROP table user;
    

    了解如何添加记录

    给user表添加一条记录

    insert into user (name, age) values ('kong', 18);
    
    效果

    给user表增加一列id的数据

    alter table user add id serial;
    
    效果

    删除go go的记录

    delete from user where name = 'go go';
    

    修改kong记录的年龄改为70

     update user set age=70 where name='kong';
    
    效果

    如果修改记录不指定位置,则所有记录的age都改为18

     update user set age=18;
    
    效果

    查看user表agename的数据的前十条

    select name,age from user limit 10;
    
    效果

    查看user表中name的个数

    select count(name) from user;
    
    效果

    推荐文档
    devdocs.io开启PostgreSQL
    菜鸟文档

    相关文章

      网友评论

          本文标题:node操作数据库

          本文链接:https://www.haomeiwen.com/subject/rejokrtx.html