亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數據庫node使用詳解

 更新時間:2023年06月30日 10:56:55   作者:木公176  
這篇文章主要介紹了MySQL數據庫node使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1 MySQL查詢對象

2 MySQL查詢數組

3 mysql2庫介紹使用

4 mysql2預處理語句

5 mysql2連接池使用

6 mysql2的Promi

這里僅說明如何使用服務器連接數據庫并進行操作。

預處理語句就是可以輸入變量的語句(表現(xiàn)形式是有符號:?)。需要使用.execute來執(zhí)行;

需要運行普通的語句(不添加變量的語句)。就使用query。

預處理語句有很多好處,比如性能好、安全性(sql注入)。

 如果連接的用戶很多,每次都創(chuàng)建數據庫的連接和銷毀連接會有影響,所以創(chuàng)建數據庫連接的時候我們可以使用連接池來做優(yōu)化

沒使用連接池的連接方法:

 使用了連接池的方法:

需要下載相應的第三方庫才能讓node驅動數據庫:

npm install mysql2

準備數據-將json文件的數據插入到數據庫中

從phpne.json文件里面獲取json格式的數據并寫到數據庫里面。

const mysql = require('mysql2');
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: 'Coderwhy123.',
  database: 'music_db'
});
const statement = `INSERT INTO products SET ?;`
const phoneJson = require('./phone.json');
for (let phone of phoneJson) {
  connection.query(statement, phone);
}

phone.jsond的內容:

[
  {
    "brand": "華為",
    "title": "華為nova 3(全網通) ",
    "price": 2699,
    "score": 6.7,
    "voteCnt": 65,
    "url": "http://detail.zol.com.cn/cell_phone/index1185512.shtml",
    "pid": "1185512"
  },
  {
    "brand": "華為",
    "title": "華為P20 Pro(6GB RAM/全網通) ",
    "price": 4488,
    "score": 8.3,
    "voteCnt": 103,
    "url": "http://detail.zol.com.cn/cell_phone/index1207038.shtml",
    "pid": "1207038"
  },
  {
    "brand": "華為",
    "title": "華為P20(全網通) ",
    "price": 3388,
    "score": 8.4,
    "voteCnt": 127,
    "url": "http://detail.zol.com.cn/cell_phone/index1175779.shtml",
    "pid": "1175779"
  },
  {
    "brand": "華為",
    "title": "華為nova 3i(4GB RAM/全網通) ",
    "price": 1999,
    "score": 7,
    "voteCnt": 9,
    "url": "http://detail.zol.com.cn/cell_phone/index1222100.shtml",
    "pid": "1222100"
  }
]

mysql2-基本使用

const mysql = require('mysql2')
// 1.創(chuàng)建一個連接(連接上數據庫)
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})
// 2.執(zhí)行操作語句, 操作數據庫
const statement = 'SELECT * FROM `students`;'
// structure query language: DDL/DML/DQL/DCL
// query可以執(zhí)行DDL/DML/DQL/DCL的語句的代碼。返回的值在回調函數里面。
connection.query(statement, (err, values, fields) => {
  if (err) {
    console.log('查詢失敗:', err)
    return
  }
  // 查看結果
  console.log(values)
  // console.log(fields)
})

mysql2-預處理語句

const mysql = require('mysql2')
// 1.創(chuàng)建一個連接
const connection = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.'
})
// 2.執(zhí)行一個SQL語句: 預處理語句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connection.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})
// connection.destroy()

mysql2-連接池使用

const mysql = require('mysql2')
// 1.創(chuàng)建一個連接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
 // connectionLimit用來限制連接數量的
  connectionLimit: 5
})
// 2.執(zhí)行一個SQL語句: 預處理語句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.execute(statement, [1000, 8], (err, values) => {
  console.log(values)
})

mysql2-Promise寫法

const mysql = require('mysql2')
// 1.創(chuàng)建一個連接
const connectionPool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  database: 'music_db',
  user: 'root',
  password: 'Coderwhy123.',
  connectionLimit: 5
})
// 2.執(zhí)行一個SQL語句: 預處理語句
const statement = 'SELECT * FROM `products` WHERE price > ? AND score > ?;'
connectionPool.promise().execute(statement, [1000, 9]).then((res) => {
  const [values, fields] = res
  console.log('-------------------values------------------')
  console.log(values)
  console.log('-------------------fields------------------')
  console.log(fields)
}).catch(err => {
  console.log(err)
})

到此這篇關于MySQL數據庫node使用的文章就介紹到這了,更多相關mysql node使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql索引失效的十大問題小結

    mysql索引失效的十大問題小結

    最近生產爆出一條慢sql,原因是用了or和!=,導致索引失效。于是,總結了索引失效的十大雜癥,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • MySQL存儲過程輸入參數(in),輸出參數(out),輸入輸出參數(inout)

    MySQL存儲過程輸入參數(in),輸出參數(out),輸入輸出參數(inout)

    這篇文章主要介紹了MySQL存儲過程輸入參數(in),輸出參數(out),輸入輸出參數(inout),存儲過程就是一組SQL語句集,功能強大,可以實現(xiàn)一些比較復雜的邏輯功能,類似于JAVA語言中的方法;Python里面的函數
    2022-07-07
  • MYSQL中文亂碼問題的解決方案

    MYSQL中文亂碼問題的解決方案

    mysql是我們項目中非常常用的數據型數據庫,但是因為我們需要在數據庫保存中文字符,所以經常遇到數據庫亂碼情況這篇文章主要給大家介紹了關于MYSQL中文亂碼問題的解決方案,需要的朋友可以參考下
    2022-06-06
  • MySQL單表查詢實例詳解

    MySQL單表查詢實例詳解

    這篇文章主要給大家介紹了關于MySQL單表查詢的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 12個優(yōu)化MySQL的技巧小整理

    12個優(yōu)化MySQL的技巧小整理

    這篇文章主要介紹了12個優(yōu)化MySQL的技巧小整理,包括表連接和WHERE語句等基本的優(yōu)化點等內容,已經了解的也不妨加深一下印象,需要的朋友可以參考下
    2015-06-06
  • Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)

    Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)

    這篇文章主要介紹了Mysql查詢最近一條記錄的sql語句,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 深入解析MySQL中的Redo Log、Undo Log和Binlog

    深入解析MySQL中的Redo Log、Undo Log和Binlog

    本文詳細介紹了MySQL中的RedoLog、UndoLog和Binlog的背景、業(yè)務場景、功能、底層實現(xiàn)原理以及使用措施,通過Java代碼示例展示了如何與這些日志進行交互,進一步深化了對MySQL日志系統(tǒng)的理解,理解并合理使用這些日志,可以有效地提升數據庫的性能和可靠性
    2024-10-10
  • mysql語句實現(xiàn)簡單的增、刪、改、查操作示例

    mysql語句實現(xiàn)簡單的增、刪、改、查操作示例

    這篇文章主要介紹了mysql語句實現(xiàn)簡單的增、刪、改、查操作,結合實例形式分析總結了mysql語句實現(xiàn)數據庫與表的創(chuàng)建、刪除以及增刪改查等常見操作技巧,需要的朋友可以參考下
    2019-05-05
  • mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解

    mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解

    這篇文章主要介紹了mysql-5.7.21-winx64免安裝版安裝--Windows 教程詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • MySQL?UPDATE多表關聯(lián)更新的實現(xiàn)示例

    MySQL?UPDATE多表關聯(lián)更新的實現(xiàn)示例

    MySQL可以基于多表查詢更新數據,本文主要介紹了MySQL?UPDATE多表關聯(lián)更新的實現(xiàn)示例,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08

最新評論