在此简单记录一下使用node.js对MySQL的一些操作
数据表的结构
我在MySQL里新建了一个名为wg_database
的数据库,在该数据库里新建了一个my_tbl
的数据表,如下图:
这张表里的字段如下图:
字段.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
这张表,刷新一下,会发现这条数据已经插入进去了。
删除一条数据
删除最后一条数据:
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 } ]
以上就是简单的对数据库增删改查的操作。
完
网友评论