使用node.js对MySQL进行增删改查操作

2018-07-29  本文已影响0人  橘子柚子橙子_

在此简单记录一下使用node.js对MySQL的一些操作

数据表的结构

我在MySQL里新建了一个名为wg_database的数据库,在该数据库里新建了一个my_tbl的数据表,如下图:

数据表截图.png
这张表里的字段如下图:
字段.png
从图片里可以看到表里有5条数据,现在对它们进行增删改查的操作。

增加一条数据

// 连接数据库
let mysql = require('mysql')
let connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '',
    database: 'wg_database'
})
connection.connect()
// 插入一条数据
let post = {
    my_id: 6,
    my_title: 'title6',
    my_author: '小金',
    submission_date: '2018-07-06'

}
let insertSql = 'INSERT INTO my_tbl SET ?'
connection.query(insertSql, post, function (error, results) {
    if (error) throw error;
    console.log(results)
})
connection.end()

把以上代码保存到一个js文件中,可以命名为testSql.js,在终端中执行node testSql.js。会看到终端输出如下:

OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 6,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0 }

切换到Navicat中,查看my_tbl这张表,刷新一下,会发现这条数据已经插入进去了。

数据已经插入.png

删除一条数据

删除最后一条数据:

let mysql = require('mysql')
let connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '',
    database: 'wg_database'
})
connection.connect()
// 删除数据
let delSql = 'DELETE FROM my_tbl WHERE my_id=6'
connection.query(delSql, function (error, results) {
    if (error) throw error;
    console.log(results)
})
connection.end()

在终端中执行node testSql.js,返回如下:

OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0 }

在数据表中查看,my_id=6的那条数据已经删除了。

修改数据

尝试把数据表中my_id=5的那条数据中的my_author改为小希submission_date改为2018-07-10,代码如下:

// 连接数据库
let mysql = require('mysql')
let connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '',
    database: 'wg_database'
})
connection.connect()
// 删除数据
let updateSql = 'UPDATE my_tbl SET my_author = ?, submission_date = ? WHERE my_id = ?'
connection.query(updateSql, ['小希', '2018-07-10', 5], function (error, results) {
    if (error) throw error;
    console.log(results)
})
connection.end()

在终端中执行testSql.js,输出如下:

OkPacket {
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '(Rows matched: 1  Changed: 1  Warnings: 0',
  protocol41: true,
  changedRows: 1 }

返回数据表,刷新之后会发现,数据已经更新:


数据已经更新.png

查找数据

编写代码如下:

// 连接数据库
let mysql = require('mysql')
let connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '',
    database: 'wg_database'
})
connection.connect()
// 查找数据
let selectSql = 'SELECT * FROM my_tbl'
connection.query(selectSql, function (error, results) {
    if (error) throw error;
    console.log(results)
})
connection.end()

在终端中执行testSql.js,得到如下输出:

[ RowDataPacket {
    my_id: 1,
    my_title: 'title1',
    my_author: '小明',
    submission_date: 2018-06-30T16:00:00.000Z },
  RowDataPacket {
    my_id: 2,
    my_title: 'title2',
    my_author: '小刘',
    submission_date: 2018-07-01T16:00:00.000Z },
  RowDataPacket {
    my_id: 3,
    my_title: 'title3',
    my_author: '小张',
    submission_date: 2018-07-02T16:00:00.000Z },
  RowDataPacket {
    my_id: 4,
    my_title: 'title4',
    my_author: '小王',
    submission_date: 2018-07-03T16:00:00.000Z },
  RowDataPacket {
    my_id: 5,
    my_title: 'title5',
    my_author: '小希',
    submission_date: 2018-07-09T16:00:00.000Z } ]

以上就是简单的对数据库增删改查的操作。

上一篇下一篇

猜你喜欢

热点阅读