免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

mysql后臺(tái)怎么用 mysql使用

nodejs怎么后臺(tái)操作mysql

連接流程代碼如下:

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的南康網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

var mysql ?= require('mysql'); ?//調(diào)用MySQL模塊//創(chuàng)建一個(gè)connectionvar connection = mysql.createConnection({ ? ?

host ? ? : '127.0.0.1', ? ? ? //主機(jī)

user ? ? : 'root', ? ? ? ? ? ?//MySQL認(rèn)證用戶名

password:'12345',

port: ? '3306',

database: 'node'});//創(chuàng)建一個(gè)connectionconnection.connect(function(err){

if(err){ ? ? ?

console.log('[query] - :'+err); ? ? ? ?return;

}

console.log('[connection connect] ?succeed!');

});

//執(zhí)行SQL語(yǔ)句connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {

if (err) {

console.log('[query] - :'+err); ? ? ? ?return;

}

console.log('The solution is: ', rows[0].solution);

});

//關(guān)閉connectionconnection.end(function(err){

if(err){ ? ? ?

return;

}

console.log('[connection end] succeed!');

});12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455

關(guān)于Connection Optionos

要想創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接,先就要認(rèn)識(shí)清楚Options

host:主機(jī)地址 (默認(rèn):localhost)

user:用戶名

password:密碼

port:端口號(hào) (默認(rèn):3306)

database:數(shù)據(jù)庫(kù)名

charset:連接字符集(默認(rèn):’UTF8_GENERAL_CI’,注意字符集的字母都要大寫)

localAddress:此IP用于TCP連接(可選)

socketPath:連接到unix域路徑,當(dāng)使用 host 和 port 時(shí)會(huì)被忽略

timezone:時(shí)區(qū)(默認(rèn):’local’)

connectTimeout:連接超時(shí)(默認(rèn):不限制;單位:毫秒)

stringifyObjects:是否序列化對(duì)象(默認(rèn):’false’ ;與安全相關(guān))

typeCast:是否將列值轉(zhuǎn)化為本地JavaScript類型值 (默認(rèn):true)

queryFormat:自定義query語(yǔ)句格式化方法?

supportBigNumbers:數(shù)據(jù)庫(kù)支持bigint或decimal類型列時(shí),需要設(shè)此option為true (默認(rèn):false)

bigNumberStrings:supportBigNumbers和bigNumberStrings啟用 強(qiáng)制bigint或decimal列以JavaScript字符串類型返回(默認(rèn):false)

dateStrings:強(qiáng)制timestamp,datetime,data類型以字符串類型返回,而不是JavaScript Date類型(默認(rèn):false)

debug:開啟調(diào)試(默認(rèn):false)

multipleStatements:是否許一個(gè)query中有多個(gè)MySQL語(yǔ)句 (默認(rèn):false)

flags:用于修改連接標(biāo)志,更多詳情:

ssl:使用ssl參數(shù)(與crypto.createCredenitals參數(shù)格式一至)或一個(gè)包含ssl配置文件名稱的字符串,目前只捆綁Amazon RDS的配置文件

其它:

可以使用URL形式的加接字符串,不多介紹了,不太喜歡那種格式,覺(jué)得可讀性差,也易出錯(cuò),想了解的可以去主頁(yè)上看。

MYSQL CURD操作

增加

var mysql = require('mysql');var DATABASE = "seckill";var TABLE="seckill"var connection = mysql.createConnection({

host:'127.0.0.1',

user:'root',

password:'12345',

port:'3306',

database: DATABASE

});

connection.connect();var addVip = 'insert into seckill(name,number) values(?,?)';var param = ['100元秒殺家教機(jī)',100];

connection.query(addVip, param, function(error, result){

if(error)

{

console.log(error.message);

}else{

console.log('insert id: '+result.insertId);

}

});

connection.end();12345678910111213141516171819202122232425

刪除

var mysql = require('mysql');var DATABASE = "node";var TABLE="seckill"var connection = mysql.createConnection({

host:'127.0.0.1',

user:'root',

password:'12345',

port:'3306',

database: DATABASE

});

connection.connect();var addVip = 'delete from seckill where seckill_id = 1005';

connection.query(addVip, function(error, result){

if(error)

{

console.log(error.message);

}else{

console.log('affectedRows: '+result.affectedRows);

}

});

connection.end();123456789101112131415161718192021222324

查找

var mysql = require("mysql");var DATABASE = "node";var TABLE="seckill"var connection = mysql.createConnection({

host:'127.0.0.1',

user:'root',

password:'12345',

port:'3306',

});

connection.connect();

connection.query('use '+DATABASE);

connection.query('select * from '+TABLE, function(error, results, fields){

if (error) { ? ? ? ?throw error;

} ? ?if (results) { ? ? ? ?for(var i = 0; i results.length; i++)

{

console.log('%s\t%s',results[i].name,results[i].end_time);

}

}

});

connection.end();12345678910111213141516171819202122232425

修改

var mysql = require('mysql');var DATABASE = "seckill";var connection = mysql.createConnection({

host:'127.0.0.1',

user:'root',

password:'12345',

port:'3306',

database: DATABASE

});

connection.connect();var userSql = "update seckill set number = number-1 where seckill_id = ?";var param = [1000, 2];

connection.query(userSql, param, function (error, result) {

if(error)

{

console.log(error.message);

}else{

console.log('affectedRows: '+result.affectedRows);

}

});

connection.end();123456789101112131415161718192021

結(jié)束連接其實(shí)有兩種方法end(),destory();

end()?

end()方法在queries都結(jié)束后執(zhí)行,end()方法接收一個(gè)回調(diào)函數(shù),queries執(zhí)行出錯(cuò),仍然后結(jié)束連接,錯(cuò)誤會(huì)返回給回調(diào)函數(shù)err參數(shù),可以在回調(diào)函數(shù)中處理!

destory()?

比較暴力,沒(méi)有回調(diào)函數(shù),即刻執(zhí)行,不管queries是否完成!

使用連接池

在數(shù)據(jù)庫(kù)中執(zhí)行如下代碼創(chuàng)建一個(gè)存儲(chǔ)過(guò)程

DROP PROCEDURE IF EXISTS `P_SeckillInfo`;DELIMITER ;;CREATE DEFINER=`root`@`localhost` PROCEDURE `P_SeckillInfo`(IN ExtName VARCHAR(120),IN ExtNumber INT(11),OUT ExtReturnVal INT)

TOP: BEGIN

DECLARE EXIT HANDLER FOR SQLEXCEPTION ? ?BEGIN

ROLLBACK;

SET ExtReturnVal = 0; ?-- Failed

END;

START TRANSACTION;

INSERT INTO seckill(name, number) VALUES(ExtName,ExtNumber);

SET ExtReturnVal = 1;

SELECT ExtReturnVal;

COMMIT;END;;

DELIMITER ;12345678910111213141516171819202122232425262728293031323334

調(diào)用示例:

var mysql = require("mysql");var pool = mysql.createPool({

host: '127.0.0.1', ? ?

user: 'root',

password:'12345',

port:'3306',

database:'node'});//監(jiān)聽(tīng)connection事件pool.on('connection', function(connection) {

connection.query('select * from seckill', function(error, results, fields){

?if (error) { ? ? ? ? ? ?throw error;

?} ? ? ? ?if (results) { ? ? ? ? ? ?for(var i = 0; i results.length; i++)

? ? ?{

? ? ? ? ?console.log('%s\t%s',results[i].name,results[i].end_time);

? ? ?}

?}

});

});//連接池可以直接使用,也可以共享一個(gè)連接或管理多個(gè)連接(引用官方示例)//直接使用pool.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {

if (err) throw err;

console.log('The solution is: ', rows[0].solution);

});//共享連接function myQuery(sql){

pool.getConnection(function(err, connection) {

?connection.query(sql, function(err, result) { ?

? ? ?console.log(result); ? ? ? ? ? ?//釋放連接

? ? ?connection.release();

?}); ? ? ? ?//Error: Connection already released,應(yīng)該每次到連接池中再次獲取

?// connection.query( 'SELECT * FROM seckill;', function(err, result) {

?// ?console.log(result);

?// ?connection.release();

?// });

});

}

myQuery('SELECT * FROM seckill;');

myQuery('SELECT * FROM seckill;');123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

1.連接池的創(chuàng)建,使用createPool方法,options和createConntion一致;?

2.其它連接池配置選項(xiàng) 

waitForConnections

當(dāng)連接池沒(méi)有連接或超出最大限制時(shí),設(shè)置為true且會(huì)把連接放入隊(duì)列,設(shè)置為false會(huì)返回error

connectionLimit?

連接數(shù)限制,默認(rèn):10

queueLimit?

最大連接請(qǐng)求隊(duì)列限制,設(shè)置為0表示不限制,默認(rèn):0

斷開重連

示例代碼:

var mysql = require('mysql');var db_config = {

host: '127.0.0.1', ? ?

user: 'root',

password:'12345',

port:'3306',

database:'node'};var connection;function handleDisconnect() {

connection = mysql.createConnection(db_config); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

connection.connect(function(err) { ? ? ? ? ? ?

?if(err) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ?console.log('進(jìn)行斷線重連:' + new Date());

? ? ?setTimeout(handleDisconnect, 2000); ? //2秒重連一次

? ? ?return;

?} ? ? ? ?

?console.log('連接成功');

}); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

connection.on('error', function(err) {

?console.log('db error', err); ? ? ? ?if(err.code === 'PROTOCOL_CONNECTION_LOST') {

? ? ?handleDisconnect(); ? ? ? ? ? ? ? ? ? ? ? ?

?} else { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ?throw err; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?}

});

}

handleDisconnect();12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455

首先關(guān)閉mysql服務(wù),然后執(zhí)行程序,會(huì)一直打印斷線重連,當(dāng)再次開啟mysql服務(wù)后,打印連接成功。

防止SQL注入

可以使用pool.escape()和connect.escape(),示例代碼:

var mysql = require('mysql');var pool = mysql.createPool({

host: '127.0.0.1', ? ?

user: 'root',

password:'12345',

port:'3306',

database:'node'});function myQuery(sql){

pool.getConnection(function(err,connection){

?connection.query(sql,function(err,result){

? ? ?//console.log(err);

? ? ?console.log(result);

? ? ?connection.release();

?}); ? ? ? ?// connection.query('SELECT * FROM userinfo WHERE id = ' + pool.escape('5 OR ID = 6') ,function(err,result){

?// //console.log(err);

?// console.log(result);

?// connection.release();

?// });

});

}

myQuery('SELECT * FROM seckill WHERE seckill_id = ' + '1006 OR seckill_id = 1007');

myQuery('SELECT * FROM seckill WHERE seckill_id = ' + pool.escape('1006 OR seckill_id = 1007'));123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

結(jié)果可以看出,第1個(gè)query拼接條件可以被執(zhí)行,而通過(guò)escape方法轉(zhuǎn)義后的忽略了后面的拼接的部分!

遇到的問(wèn)題

編碼導(dǎo)致的問(wèn)題?

1366 (HY000): Incorrect string value: ‘\xC3\xEB\xC9\xB1’ for column ‘ExtName’ at row 1?

字符編碼沒(méi)有統(tǒng)一的問(wèn)題,查看數(shù)據(jù)庫(kù)的編碼方式命令為:?

mysql show variables like ‘character%’;?

從以上信息可知數(shù)據(jù)庫(kù)的編碼為latin1,需要修改為gbk或者是utf8;

如何后臺(tái)運(yùn)行mysql腳本

使用如下語(yǔ)句:

sprintf(sqlstring,"source /home/lijian/copydata.sql");

if(mysql_query(mysql,sqlstring))

{

fprintf(logfile,"error %s:%s\n",sqlstring,mysql_error(mysql));

return 1;

}

知道m(xù)ysql賬號(hào)和密碼,怎樣進(jìn)入后臺(tái)?

首先得看一下你的電腦里是否裝有Mysql.如果有的話可以直接在DOS命令行里輸入查看有關(guān)信息

具體方法

加載Mysql mysqld -install

啟動(dòng)Mysql net start mysql

登陸Mysql mysql -u 主機(jī)名 -r 用戶名 -p 密碼

不建議使用此方法.因?yàn)榧词鼓愕顷懮先ズ蟛榭从嘘P(guān)數(shù)據(jù)庫(kù)信息可視化不強(qiáng).不易操作.

當(dāng)然如果你MYSQL客戶端工具,就更加簡(jiǎn)單了.建議使用NAVICAT如果沒(méi)有可以下一個(gè).使用非常方便..打開客戶端工具.在連接管理處,輸入你的主機(jī)名.用戶名.密碼即可以連接成功

如果還不明白還以再問(wèn)我.

當(dāng)前標(biāo)題:mysql后臺(tái)怎么用 mysql使用
標(biāo)題URL:http://m.newbst.com/article18/docpodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版外貿(mào)建站搜索引擎優(yōu)化云服務(wù)器靜態(tài)網(wǎng)站定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)