Nodejs操作MySQL之增删改查

本文章的前提是电脑上已经安装好nodejs和mysql,另外我还安装了Navicat(一个可视化的数据库管理工具,还蛮好用的,从官网下载安装即可)。

下面进入正题,相信有很多像我一样初学写后台的小盆友会遇到这样的疑问,把mysql安装好了,nodejs也知道怎么开启服务了,但是怎么将两者连接在一起呢?当当当当!!!其实so easy,请看下面几行代码

//引入mysql(既然要使用它,当然要引入啦)
const mysql = require("mysql"); 

//连接mysql,option可很具情况自行配置
const option = {
  host: "localhost",
  user: "root",
  password: "xxxxxx",
  database: "mysql",
  port: '3306',
  connectTimeout: 5000, // 连接超时
};

const connection = mysql.createConnection(option);

//连接开始
connection.connect();

//这里就是增删改查的地方啦

//结束连接
connection.end();

其中,option中的配置还有很多其他参数,如下: 

host 主机地址 (默认:localhost)
user 数据库用户名
password 密码
port 端口号(默认为3306)
database 数据库名
connectTimeout 连接超时(默认:不限制;单位:毫秒)
multipleStatements 是否许一个query中有多个MySQL语句 (默认:false)
localAddress 此IP用于TCP连接(可选)
charset 连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)
socketPath 连接到unix域路径,当使用 host 和port 时会被忽略
timezone 时区(默认:'local')
stringifyObjects 是否序列化对象(默认:'false' ;与安全相关)
typeCast 是否将列值转化为本地JavaScript类型值 (默认:true)
queryFormat 自定义query语句格式化方法
supportBigNumbers 数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)
bigNumberStrings supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)
dateStrings 强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScriptDate类型(默认:false)
debug 开启调试(默认:false)
flags 用于修改连接标志
ssl

使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件

配置参数实在有点多 ,小丁也还没有逐个去测试,感兴趣的小伙伴可自行测试哦~

但是疑问又来了,我怎么知道成功连接了呢???

写进去一条数据试试不就知道了。。。但是我们需要在数据库中先新建一个表,我是直接用Navicat建的,表名叫student,如下图

Nodejs操作MySQL之增删改查_第1张图片

增加数据

// 在连接开始和断开之间插入下面的语句
let addSql = "insert into student (name) values (?)"; //student为表名
let addSqlParams = ['new'];

// 执行插入语句
connection.query(addSql, addSqlParams, (err, results) => {
    if (err) {
        throw err;
    }

    // 插入成功输出
    console.log('插入成功');
    console.log(results);

});

这时候就可以打开Navicat查看是否有刚刚插入的数据,当然也可以直接在终端打印数据库表中的所有数据(但是对于我这种懒人,当然是选择可视化的Navicat啦)

Nodejs操作MySQL之增删改查_第2张图片Nodejs操作MySQL之增删改查_第3张图片

最后一条new就是新增的数据啦,到这就先恭喜你,增加数据就成功了,当然删除、查询、修改也不能少呀!!!当当当!!这不是来了。

删除数据

// 删除语句
let delSql = "delete from student where id = 3";

// 执行删除语句
connection.query(delSql, (err, results) => {
    if (err) {
        throw err;
    }

    // 执行成功
    console.log('删除成功!');
    console.log(results);

});

Nodejs操作MySQL之增删改查_第4张图片 Nodejs操作MySQL之增删改查_第5张图片

修改数据

// 修改数据
let modSql = "update student set name = ? where id = ?";
let modSqlParams = ["update", 6];

// 执行更新语句
connection.query(modSql, modSqlParams, (err, results) => {
  if (err) {
    throw err;
  }
  console.log("修改成功!");
  console.log(results);
});

Nodejs操作MySQL之增删改查_第6张图片

查询数据

// 查询语句
let sql = 'SELECT * FROM student';

// 执行查询语句
connection.query(sql, (err, results) => {

    if (err) {
      throw err;
    }

    // 查询成功
    if (results) {
      for (let i = 0; i < results.length; i++) {
        console.log(results[i]);
      }
    }
});

Nodejs操作MySQL之增删改查_第7张图片

总结:

以上只是小丁在数据库增删改查上的一个初探,都是些简单的用法,适合初学入门。

你可能感兴趣的:(Nodejs操作MySQL之增删改查)