當前位置:首頁 » 數據倉庫 » js資料庫操作mysql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

js資料庫操作mysql

發布時間: 2022-11-04 15:55:26

⑴ nodejs簡單訪問及操作mysql資料庫的方法示例

本文實例講述了nodejs簡單訪問及操作mysql資料庫的方法。分享給大家供大家參考,具體如下:
var
mysql
=
require('mysql');
//調用MySQL模塊
mysql模塊要安裝
$
npm
install
mysql
//創建一個connection
var
connection
=
mysql.createConnection({
host
:
'127.0.0.1',
//主機
user
:
'root',
//MySQL認證用戶名
password
:
'',
//MySQL認證用戶密碼
port:
'3306',
//埠號
database:''
//資料庫名
});
//創建一個connection
connection.connect(function(err){
if(err){
console.log('[query]
-
:'+err);
return;
}
console.log('[connection
connect]
succeed!');
});
//執行SQL語句
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);
});
//關閉connection
connection.end(function(err){
if(err){
return;
}
console.log('[connection
end]
succeed!');
});
註:nodejs在操作資料庫的時候不用設置資料庫的編碼格式
set
names
utf8
希望本文所述對大家nodejs程序設計有所幫助。
您可能感興趣的文章:nodejs連接mysql資料庫簡單封裝示例-mysql模塊nodejs進階(6)—連接MySQL資料庫示例nodejs實現的連接MySQL資料庫功能示例Nodejs連接mysql並實現增、刪、改、查操作的方法詳解nodeJs實現基於連接池連接mysql的方法示例nodejs中操作mysql資料庫示例NodeJS鏈接MySql資料庫的操作方法Nodejs使用mysql模塊之獲得更新和刪除影響的行數的方法NodeJs使用Mysql模塊實現事務處理實例nodejs連接mysql資料庫及基本知識點詳解

⑵ 菜鳥教程中的nodejs連接mysql資料庫教程存在sql注入問題嗎

是否有漏洞與代碼有關,與此無關

其中主流的連接MySQL的方式是用mysql或者mysql2包,它們只是提供了調用驅動的api。很多框架中包括egg,nest都是基於此封裝的。

但這不是SQL注入的關鍵,它只是一種連接方式。它只管連接,不管其他的,存不存在SQL注入完全靠寫代碼的人本身啊。

一句腳本本沒有問題(知道不讓直接放sql的,也是放注入),但是你如果讓SQL變成由用戶輸入拼接而成,那就存在SQL注入的風險。

你應該去了解SQL注入的原理,然後進行防患,網路就能找到,然後可以用ORM,一般都對輸入做了處理,還能避免直接寫SQL(但其實難的地方還得自己寫)。

有不理解可以追問。

⑶ JavaScript獲取mysql資料庫裡面的數據需要哪些技術的支持

從技術上而言,JavaScript是可以直接訪問mysql資料庫的,但瀏覽器出於安全考慮(因為這樣一來資料庫的登錄信息就完全暴露在所有用戶的眼裡了,別人就可以繞開你的程序直接訪問資料庫,甚至可以任意增刪改你的數據),都對這個功能進行了非常嚴格的限制(也就是說其實還是可以訪問的,但必須把瀏覽器的安全等級調到最低最低!),所以這種需求在實際應用中很難實現。
這樣就需要一個中間程序,放在網路伺服器中,html(含JavaScript)向這個中間程序發送請求,由它去mysql資料庫中獲取數據,再把數據發送回html。這類似於點外賣,你在網路上點餐,跑腿小哥就會把你點的食物送到你手上。對於瀏覽器而言,發送請求和返回數據的過程都是安全的(對資料庫的所有操作都發生在網路伺服器中,網頁用戶是看不到的),這樣就沒有限制了。
這個中間程序的開發語言(或者說架構)一般是PHP、ASP、ASP.NET、JSP等,也就是通常所說的「後台程序」。
jQuery則是JavaScript的一個框架(或者說插件、函數庫),它是把JavaScript的一些復雜的操作封裝成簡單的、容易操作的函數和對象,所以jQuery本質上還是JavaScript。如果把JavaScript比作普通的面條,那麼jQuery就好比是方便麵,它幫你把做面的一些關鍵步驟先做好了,然後你只需要幾個簡單的操作就可以吃到嘴裡了。
ajax則是JavaScript(含jQuery)向伺服器的中間程序(即上面所說的)發送請求並處理返回數據的一種技術,可以實現網頁未刷新的情況下實時動態更新網頁上的數據。它實際上也仍然是包含在JavaScript范疇內的。
xml是網路間數據傳輸的一種數據格式,但現在更流行的則是json。
所以實際的網路數據訪問流程是:

html+JavaScript(jquery)
↓↑
PHP(ASP、ASP.NET、JSP)
↓↑
MySql
在這其中JavaScript的作用反而是次要的,它只是起到在數據訪問的前後對數據進行加工、篩選的作用,甚至可以完全拋開js,直接利用表單提交來實現數據訪問和展示的目的,即:
html+Form
↓↑
PHP(ASP、ASP.NET、JSP)
↓↑
MySql

⑷ js如何連接和操作騰訊雲mysql資料庫

首先是登陸騰訊雲,登陸之後可以領取新手禮包,如圖

二、使用一個demo來說明如何操作雲mysql資料庫

    1.在實例上上新建一個為nodejs的資料庫,然後新建一個為employee的表,新建四個欄位 name sex age email除了年齡為int其它的全部為varchar格式
    2.新建一個TimLiu的文件夾,打開cmd,cd TimLiu, 初始化項目npm init ,按照它的提示一步一步的操作即可,安裝mysql模塊,npm insitall mysql, 這個模塊的作用主要是連接mysql資料庫。
    3.新建一個model.js 文件,

  • var mysql = require(『mysql』);

  • var connection = mysql.createConnection({

  • host:'',

  • user:'root',

  • password:'123abc',

  • database:' nodejs',

  • port:6445

  • })

  • connection.connect();

  • 這里的host為我們在騰訊雲上開通的外地址,埠號也是在外網地址裡面,注意要把外網地址寫分開,用戶為默認的管理員用戶,密碼為我們在雲平台上設置的密碼,資料庫為我們創建的nodejs資料庫。
    接下來我們對資料庫進行增刪改查操作

  • /**

  • * 增加員工

  • */function addEmployee(){

  • var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';

  • var employeeInsertSql_Params = ['Tim','男',22,'[email protected]']

  • connection.query(employeeInsertSql,employeeInsertSql_Params,function(err,result){

  • if(err) console.log('[INSERT ERR]-',err.message);

  • console.log(result);

  • }) }addEmployee()

  • }

  • /**

  • * 更新員工

  • */

  • function insertEmployee(){

  • var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";

  • var employeeUpdateSql_Params = ['Peter',22];

  • connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

  • if(err) console.log('[UPDATE ERR]-',err.message);

  • console.log(result);

  • })}



  • insertEmployee();

  • /**

  • *查詢員工

  • */ function getEmployee(){

  • var employeeGetSql = "SELECT * FROM employee";

  • connection.query(employeeGetSql,function(err,result){

  • if(err) console.log('[SELECT ERR]-',err.message);

  • console.log(result);

  • })}

  • getEmployee();

  • /**

  • *刪除員工

  • */ function deleteEmployee(){

  • var employeeDeleteSql = "DELETE employee WHERE name = ?";

  • var employeeDeleteSql_Params = 'Peter';

  • connection.query(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){

  • if(err) console.log('[DELETE ERR]-',err.message);

  • console.log(result);

  • })

  • }deleteEmployee();

  • 這樣我們就可以愉快的操作資料庫了

    如果大家想把項目更模塊化操作,可在model下面新建一個employee_two.js,代碼如下

  • var mysql = require('mysql');var connection = mysql.createConnection({

  • host:'',

  • user:'root',

  • password:'',

  • database:'nodejs',

  • port:})connection.connect();/**

  • * 增加員工

  • * @param {String} employee

  • * @param {Function} callback

  • */exports.addEmployee=function(employee,callback){

  • var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';

  • var employeeInsertSql_Params = [employee.name,employee.sex,employee.age,employee.email]

  • connection.query(employeeInsertSql,employeeInsertSql_Params,callback)}/**

  • * 更新員工

  • * @param {String} employee

  • * @param {Function} callback

  • */exports.updateEmployee = function(name,age){

  • var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";

  • var employeeUpdateSql_Params = ['Peter',22];

  • connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

  • if(err) console.log('[UPDATE ERR]-',err.message);

  • console.log(result);

  • })}/**

  • * 查詢員工

  • *

  • */exports.getEmployee = function(){

  • var employeeGetSql = "SELECT * FROM employee";

  • connection.query(employeeGetSql,callback)}/**

  • * 刪除員工

  • * @param {String} name

  • */exports.deleteEmployee = function(name){

  • var employeeDeleteSql = "DELETE employee WHERE name = ?";

  • var employeeDeleteSql_Params = 'Peter';

  • connection.query(employeeDeleteSql,employeeDeleteSql_Params,callback)

  • }再在根目錄下新建index.js,代碼如下var db = require('./model/employee_two');//增加員工var employee = {

  • name:'lisa',

  • age:22,

  • sex:"女",

  • email:'[email protected]'}db.addEmployee(employee,function(err,result){

  • if(err) console.log("[INSERT err]-",err.message)

  • console.log(result);})//刪除員工db.deleteEmployee('Peter',function(err,result){

  • if(err) console.log("[DELETE err]-",err.message)

  • console.log(result);})//更新員工db.updateEmployee('Tim',23,function(err,result){

  • if(err) console.log("[UPDATE err]-",err.message)

  • console.log(result);})//查詢員工db.getEmployee(function(err,result){

  • if(err) console.log("[GET err]-",err.message)

  • console.log(result);})

⑸ js怎樣連接和調用mysql資料庫

我知道 ie 怎麼連接,別的瀏覽器不行。首先先去mysql官網下載個 odbc 然後安裝,安裝完再去控制面板找到「管理工具」--》「(ODBC)數據源」--》(如果是在自己電腦上測試就選
「用戶DSN」,如果想被別人訪問就選「系統DSN」) 然後添加mysqlodbc,然後把驅動的名字記下來(不是你起的名字,是後面自帶的名字!),准備工作做完,我們就可以通過代碼訪問資料庫了。(註:我第一次安裝ODBC,用js調用時提示我未知數據源一類的話,卸載ODBC後再次安裝ODBC就正常了) 用 ie 先調用odbc驅動 然後操作mysql,話不多說,上代碼!

//創建資料庫連接對象
var conn = new ActiveXObject("ADODB.Connection");
//創建數據集對象
var rs = new ActiveXObject("ADODB.Recordset");
try{
//MySQL ODBC 5.3 ANSI Driver 這個就是我剛才說讓你記得驅動的名字
var connectionstring = "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;User=root;Password=root;Database=mysql;Option=3;Port=3306";
console.log(connectionstring);
//打開連接
conn.open(connectionstring);
//查詢語句
var sql = " select * from table1 ";
//打開數據集(即執行查詢語句)
rs.open(sql,conn);
//(或者rs=conn.execute(sql);)
//遍歷所有記錄
while(!rs.eof){
//WScript是Windows 的腳本宿主對象,詳細情況請在windows幫助里查找。
//WScript.Echo輸出記錄的內容
document.write(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");
//下一條記錄
rs.moveNext();
}
//關閉記錄集
rs.close();
//關閉資料庫連接
conn.close();
} catch(e){
//異常報告
document.write(e.message);
} finally{
//
}

前端JS可以連接MYSQL資料庫嗎和php有什麼不同

Node.JS 伺服器可以在 後端 連接mysql,這時的情況和php是一樣的。

我從未見過前端JS直接連接mysql的,原因是:

(1)瀏覽器內置的javascript 引擎一般只支持websocket,即基於http連接的套接字高層協議,而不是真正的socket,因此除非伺服器端也開啟websocket服務並拆開套接字轉發到mysql,否則無法代理連接

(2)我見過的絕大多數mysql 伺服器都工作在伺服器環境下的一個虛擬子網,換句話說,直接的遠程3306埠是拒絕連接的,這樣可以隔絕埠直接攻擊

如果前段js直接可以連接後端伺服器mysql的埠,那麼就不叫B/S結構了,而是C/S結構(比如傳統的windows桌面程序),安全上有很多問題,所以大多數瀏覽器也不支持這個操作。

⑺ js如何從mysql讀取資料庫啊

avaScript DataBase Connector
JSDBC:提供Javascript有效的連接資料庫,目前支持MySQL、SQLite、ACCESS,後期會支持更多的資料庫;
在從事AJAX開發的工程師肯定會希望有一個通過AJAX直接連接資料庫的組件,這樣,可以省掉後台很多的操作步驟,比如免去了部署JAVA的運行環境,免去了寫很多復雜的JDBC調用,不管出於調試的需要還是應用的需要,JSDBC都能夠很好的集成到您的應用當中。

/**
* 類說明:該腳本主要是實現與JSDBC for MySQL 連接,方便用戶在js直接使用MySQL
* 創建事件: 3333
*/
//Include OCX Object
document.writeln(" <OBJECT id='mysql' classid='clsid:9C579403-6745-4695-B14C-96212D319F18'");
document.writeln(" codebase='JSDBC_MySQL.ocx#Version=1,0,0,000'");
document.writeln(" WIDTH='0' HEIGHT='0'>");
document.writeln(" </OBJECT>");
//error message
var lasterr = "";
//Exec Falg
var execFlag;
/**
* Connecte to mysql server
* provite:MySQL IP,PORT,DB Name,USER,Password,CharSet
*/
function connectMySQL()
{
execFlag = mysql.connecte("127.0.0.1","3306","testdb","root","123210","GBK");
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Close already open Connection
*/
function closeMySQL()
{
execFlag = mysql.close();
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Exec Insert Into SQL statement
* @param {Object} sql
*/
function insertMySQL(sql)
{
execFlag = mysql.insertData(sql);
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Exec DataBase Manager Language
* @param {Object} sql
*/
function execDMLMySQL(sql)
{
execFlag = mysql.execDML(sql);
if(execFlag == 1)
return 0;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Exec Select Data From DataBase
* @param {Object} sql
* @param {Object} cnum == Number of fields in SQL statement
*/
function selectMySQL(sql,cnum)
{
var rs = mysql.selectData(sql,cnum);
if(rs.length > 0)
{
var array = new Array();
var DataSet = new Array();
var rowsplit = '';//行間隔 ,注意,這並不是普通的'-',而是0x06 轉換而來的,使用時拷貝過去即可
var fieldsplit ='';//欄位間隔,注意,這並不是普通的'|',而是0x05 轉換而來的,使用時拷貝過去即可

array = rs.split(rowsplit);
for(var i = 0;i < array.length; i++)
{
var DataRow = array[i].split(fieldsplit);
DataSet[i] = DataRow;
}
return DataSet;
}
else
{
lasterr = mysql.getLastError();
return null;
}
}
/**
* Exec Delete SQL statement
* @param {Object} sql
*/
function deleteMySQL(sql)
{
execFlag = mysql.deleteData(sql);
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Exec Update SQL statement
* @param {Object} sql
*/
function updateMySQL(sql)
{
execFlag = mysql.updateData(sql);
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Exec Call Proce
* @param {Object} proname == Proce Name
* @param {Object} inparas == Proce IN Parameters
* @param {Object} outparas == Proce OUT Parameters
* @param {Object} cnum == Number of fields in OUT Parameters
*/
function callProceMySQL(proname,inparas,outparas,cnum)
{
var rs = mysql.execProce(proname,inparas,outparas,cnum);
if(rs.length == 0)
{
lasterr = mysql.getLastError();
return null;
}
else
{
var array = new Array();
var DataSet = new Array();

var rowsplit = '';//行間隔 ,注意,這並不是普通的'-',而是0x06 轉換而來的
var fieldsplit ='';//欄位間隔,注意,這並不是普通的'|',而是0x05 轉換而來的

array = rs.split(rowsplit);
var DataRow = new Array();
for(var i = 0;i < array.length; i++)
{
var fieldarray = array[i].split(fieldsplit);
DataSet[i] = fieldarray;
}
return DataSet;
}
}
/**
* Exec Transcation
* @param {Object} sql
*/
function execTranscationMySQL(sql)
{
execFlag = mysql.execTranscation(sql);
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
/**
* Get Last Error Message if exec error from js
*/
function getLastErrorMySQL()
{
return lasterr;
}
/**
* Get Last Error Message if exec error from ocx
*/
function getLastErrorFromMySQL()
{
var lasterrmysql = mysql.getLastError();
return lasterrmysql;
}

⑻ 如何把JS獲得的值存入mysql資料庫

JS獲得的值 var name=document.getElenmentById("username").value;

用url 提交到後台 腳本 winodw.open('addname.php?username='+name);

後台獲取前台提交的數據後用mysql命令寫入資料庫

<?php

$username=$_GET['username'];

$link=mysql_connect('127.0.0.1','root','******')ordie("connectionerror".mysql_error());
$flag=mysql_select_db("testdb",$link);
mysql_query("setnames"."utf8");
mysql_query('insertintouser(username)value('.$username.')');
?>

⑼ js怎麼連接mysql資料庫連接

具體連接方法如下:

1、打開HBuilder工具,在Web項目中的js文件夾中,新建JavaScript文件ConnDB.js

使用require()引入mysql模塊,然後賦值給變數mysql

⑽ 用javascript如何查詢mysql資料庫

創建資料庫鏈接對象,使用資料庫驅動,要寫好資料庫登錄名與password,然後使用資料庫查詢命令執行,輸出查詢結果,關閉資料庫,代碼你去想,師兄只能幫你這么多了