- var mysql = require('mysql');
- var connection = mysql.createConnection({
- host : 'localhost',
- port : 3306,
- database : 'test',
- user : 'root',
- password : ''
- });
- connection.connect(function(err){
- if(err){
- cosnole.log('与mysql数据库建立连接失败');
- }else{
- console.log('与mysql数据库建立连接成功');
- //关闭连接
- connection.end(function(err){
- if(err){
- console.log('关闭mysql数据库操作失败');
- }else{
- console.log('关闭mysql数据库操作成功');
- }
- })
- }
- })
- var mysql = require('mysql');
- var connection = mysql.createConnection({
- host : 'localhost',
- port : 3306,
- database : 'test',
- user : 'root',
- password : ''
- });
- function connect(){
- connection.connect(function(err){
- if(err){
- console.log('与mysql数据库建立连接失败');
- }else{
- console.log('与mysql数据库建立连接成功');
- }
- })
- }
- //通过监听connection对象的error事件来处理与数据库服务器连接中断时的操作(断电、崩溃、重启等)
- connection.on('error',function(err){
- if(err.code === 'PROTOCOL_CONNECTION_LOST'){
- console.log('与mysql数据库之间的连接丢失');
- //5秒后重新尝试连接数据库
- setTimeout(function(){
- connect();
- },5000);
- }else{
- throw err;
- }
- })
- connect();
- var mysql = require('mysql');
- var connection = mysql.createConnection({
- host : 'localhost',
- port : 3306,
- database : 'test',
- user : 'root',
- password : ''
- });
- function connect(){
- connection.connect(function(err){
- if(err){
- console.log('与mysql数据库建立连接失败');
- }else{
- console.log('与mysql数据库建立连接成功');
- //使用connection对象的query方法统一执行数据的增删改查
- //使用三个参数,第一个为sql语句,第二个为数据(数组或者对象),第三个为执行后的回调函数(err为执行失败时触发的错误对象,result为执行结果)
- connection.query('insert into admin set ?',{username:'Jack',password:'456'},function(err,result){
- if(err){
- console.log('插入数据失败');
- }else{
- //在一个具有自增主键字段的数据表中插入一条数据后,可以使用result.insertId来获取该数据的主键值
- console.log(result.insertId);
- //在查询语句中,使用??占位符来为sql标识符使用参数
- connection.query('select * from ??',['admin'],function(err,result){
- if(err){
- console.log('查询数据失败');
- }else{
- console.log(result);
- connection.end();
- }
- })
- }
- })
- }
- })
- }
- connect();
- var mysql = require('mysql');
- var table = 'admin'; //表名
- var connection = mysql.createConnection({
- host : 'localhost',
- port : 3306,
- database : 'test',
- user : 'root',
- password : '',
- multipleStatements : true //默认是禁止多语句操作,把该属性设置为true,即可执行多条语句
- });
- connection.connect(function(err){
- if(err){
- console.log('与mysql数据库建立连接失败');
- }else{
- console.log('与mysql数据库建立连接成功');
- //插入数据
- insertData();
- }
- });
- function insertData(){
- var sqlStr = "";
- //插入多条sql语句
- //为了防止sql注入攻击,使用connection对象的escape方法对用户输入的数据进行escape编码处理
- //有些情况下,可能由用户决定使用某个sql标识符(数据库名、数据表名、字段名等),这时候,使用escapeId方法编码处理该标识符
- for(var i=0;i<3;i++){
- sqlStr += 'insert into ' + table + '(username,password) values(' + connection.escape('用户名' + i.toString()) + ',' + connection.escape('密码' + i.toString()) + ');';
- }
- connection.query(sqlStr,function(err,result){
- if(err){
- console.log('插入数据失败');
- }else{
- console.log('插入数据成功');
- //更新数据
- updateData();
- }
- })
- }
- function updateData(){
- connection.query('update ' + table + ' set password = ? where username = ?',['新的密码','用户名1'],function(err,result){
- if(err){
- console.log('更新数据失败');
- }else{
- console.log('更新数据成功');
- //删除数据
- deleteData();
- }
- })
- }
- function deleteData(){
- connection.query('delete from ' + table + ' where username = ?',['用户名2'],function(err,result){
- if(err){
- console.log('删除数据失败');
- }else{
- console.log('删除数据成功');
- //查询数据
- queryData();
- }
- })
- }
- function queryData(){
- connection.query('select * from ' + table,function(err,result){
- if(err){
- console.log('查询数据失败');
- }else{
- console.log('查询数据成功');
- console.log(result);
- //断开连接
- connection.end();
- }
- })
- }
https://cnodejs.org/topic/53f834248f44dfa351525511
参考地址: