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

在此简单记录一下使用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 } ]

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,096评论 2 89
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,489评论 0 9
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,072评论 0 19
  • 你在做什么?我在仰望天空。30°的仰望是什么?是我想念她的角度。为什么要把头抬到30°?为了不让我的眼泪掉下来”是...
    减肥的女孩阅读 800评论 0 0
  • 每个人的记忆都是一座沙城,时间腐蚀着一切建筑,你步步回头,可是却只能往前走。
    方_圆_阅读 398评论 0 0