新建数据表
使用Navicat for mysql之类的工具新建数据
- 新建名为my_news_test的数据库
- 在my_news_test中使用如下代码创建数据表
CREATE TABLE `node_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) DEFAULT NULL,
`age` int(8) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
INSERT INTO `node_user` VALUES ('1', 'admin', '32');
INSERT INTO `node_user` VALUES ('2', 'dans88', '45');
INSERT INTO `node_user` VALUES ('3', '张三', '35');
INSERT INTO `node_user` VALUES ('4', 'ABCDEF', '88');
INSERT INTO `node_user` VALUES ('5', '李小二', '65');
创建完成后刷新数据库,可以看到新增了一个表,且有五条数据
接下来,就要开始使用nodejs来操作了
安装node-mysql
npm install mysql
测试连接
在根目录下新建test.js,测试是否能成功连接到mysql,js代码如下
var mysql = require('mysql');
var TEST_DATABASE = 'my_news_test';
var TEST_TABLE = 'node_user';
//创建连接
var client = mysql.createConnection({
user: 'root',
password: 'angel',
});
client.connect();
client.query("use " + TEST_DATABASE);
client.query(
'SELECT * FROM '+TEST_TABLE,
function selectCb(err, results, fields) {
if (err) {
throw err;
}
if(results)
{
for(var i = 0; i < results.length; i++)
{
console.log("%d\t%s\t%s", results[i].id, results[i].name, results[i].age);
}
}
client.end();
}
);
在cmd中执行上面的js文件,打印如下为正常
增
新建insert.js文件,代码如下
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'angel',
port: '3306',
database: 'my_news_test',
});
connection.connect();
var userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';
var userAddSql_Params = ['Wilson', 55];
//增 add
connection.query(userAddSql,userAddSql_Params,function (err, result) {
if(err){
console.log('[INSERT ERROR] - ',err.message);
return;
}
console.log('-------INSERT----------');
//console.log('INSERT ID:',result.insertId);
console.log('INSERT ID:',result);
console.log('#######################');
});
connection.end();
再打开Navicat for mysql查看数据库,是否成功插入一条数据
改
新建名为update.js的文件,代码如下
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'angel',
port: '3306',
database: 'my_news_test',
});
connection.connect();
var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';
var userModSql_Params = ['Hello World',99,6];
//改 up
connection.query(userModSql,userModSql_Params,function (err, result) {
if(err){
console.log('[UPDATE ERROR] - ',err.message);
return;
}
console.log('----------UPDATE-------------');
console.log('UPDATE affectedRows',result.affectedRows);
console.log('******************************');
});
connection.end();
运行上面的代码
刷新Navicat for mysql,查看数据是否已被成功修改
查
新建query.js文件,代码如下:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'angel',
port: '3306',
database: 'my_news_test',
});
connection.connect();
var userGetSql = 'SELECT * FROM node_user';
//查 query
connection.query(userGetSql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
console.log('---------------SELECT----------------');
console.log(result);
console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$');
});
connection.end();
删
新建del.js文件,代码为
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'angel',
port: '3306',
database: 'my_news_test',
});
connection.connect();
var userDelSql = 'DELETE FROM node_user WHERE id = 5';
//ɾ
connection.query(userDelSql,function (err, result) {
if(err){
console.log('[DELETE ERROR] - ',err.message);
return;
}
console.log('-------------DELETE--------------');
console.log('DELETE affectedRows',result.affectedRows);
console.log('&&&&&&&&&&&&&&&&&');
});
connection.end();
执行代码
刷新Navicat for mysql,查看数据是否已被删除