nodejs 操作数据库学习总结(一)

2017-01-06 10:09:16来源:oschina作者:如风般魅影人点击

写前端的同学也可以操作数据进行增删改查了。


1、首先要使用nodejs mysql的开发模块。


2、在介绍模块功能前首先要对数据库的语句有一定的了解。


/******************************************************************************/


//曾


INSERT 就是曾加的意思TNTO 是在哪个表里,例如:


INSERT INTO userinfo(UserName,UserPass) VALUES("hhhh","bb");


INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );

//改


UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

//查


MySQL中使用 SQL SELECT 命令来读取数据;


SELECT * from userinfo


LIKE 通常与 % 一同使用,类似于一个元字符的搜索。

SELECT * from runoob_tblWHERErunoob_authorLIKE'%jay'
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]

下面是加了 where条件的查询方法


SELECT * from runoob_tbl WHERE runoob_author='Sanjay';

//删


DELETE FROM table_name [WHERE Clause]

以上就是基本的mysql的语法了,接下来上js。


var mysql = require('mysql');//首先得有mysql.js的模板不然就要报错了


首先介绍下参数option


  host:主机地址 (默认:localhost)


  user:用户名


  password:密码


  port:端口号 (默认:3306)


  database:数据库名


  charset:连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写)


  localAddress:此IP用于TCP连接(可选)


  socketPath:连接到unix域路径,当使用 host 和 port 时会被忽略


  timezone:时区(默认:'local')


  connectTimeout:连接超时(默认:不限制;单位:毫秒)


  stringifyObjects:是否序列化对象(默认:'false' ;与安全相关https://github.com/felixge/node-mysql/issues/501)


  typeCast:是否将列值转化为本地JavaScript类型值 (默认:true)


  queryFormat:自定义query语句格式化方法https://github.com/felixge/node-mysql#custom-format


  supportBigNumbers:数据库支持bigint或decimal类型列时,需要设此option为true (默认:false)


  bigNumberStrings:supportBigNumbers和bigNumberStrings启用 强制bigint或decimal列以JavaScript字符串类型返回(默认:false)


  dateStrings:强制timestamp,datetime,data类型以字符串类型返回,而不是JavaScript Date类型(默认:false)


  debug:开启调试(默认:false)


  multipleStatements:是否许一个query中有多个MySQL语句 (默认:false)


  flags:用于修改连接标志,更多详情:https://github.com/felixge/node-mysql#connection-flags


  ssl:使用ssl参数(与crypto.createCredenitals参数格式一至)或一个包含ssl配置文件名称的字符串,目前只捆绑Amazon RDS的配置文件


/*/////////////////////////////////////////////////////////


var mysqlConn = {host:'127.0.0.1',user:'root',password:'111111', port:'3306',database:'nodesample' };//初始化连接mysql的参数


connection.connect(function(err){ if(err){ console.log('[query] - :'+err); return; }console.log('[connection connect] succeed!'); }); //连接服务器 //增加 var userAddSql = 'INSERT INTO userinfo(Id,UserName,UserPass) VALUES(0,?,?)';//曾 var userAddSql_Params = ['Wilson', 'abcd']; 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('-----------------------------------------------------------------/n/n');}); //查询 var userGetSql = 'SELECT * FROM userinfo'; //查 connection.query(userGetSql,function (err, result) { if(err){console.log('[SELECT ERROR] - ',err.message);return; }


console.log('--------------------------SELECT----------------------------');console.log(result); console.log('-----------------------------------------------------------------/n/n');});


connection.end();//释放连接


主要用了query的方法;


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台