欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node終端里如何連接mysql數(shù)據(jù)庫(kù)并進(jìn)行sql查詢

 更新時(shí)間:2023年07月24日 09:43:07   作者:Heymar  
這篇文章主要為大家介紹了node終端里如何連接mysql數(shù)據(jù)庫(kù)并進(jìn)行sql查詢,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

node終端里面怎么來連接數(shù)據(jù)庫(kù)

今天結(jié)束的挺早,因?yàn)榻裉斓膬?nèi)容還可以不是很難,今天全程是學(xué)了一些關(guān)于mysql數(shù)據(jù)庫(kù)和sql查詢語(yǔ)句的內(nèi)容包括在node終端里面怎么來連接數(shù)據(jù)庫(kù)。經(jīng)過今天的一個(gè)學(xué)習(xí),我感覺離那個(gè)地步越來越近了,就是那個(gè)自己完成一個(gè)網(wǎng)站,有服務(wù)器、有響應(yīng),就跟現(xiàn)在這些上線的網(wǎng)站一樣一樣的,越來越近了。

這些內(nèi)容其實(shí)上學(xué)期間就學(xué)過了,現(xiàn)在主要是拿來復(fù)習(xí)一下。

數(shù)據(jù)庫(kù)的基本概念

首先我們先了解一下數(shù)據(jù)庫(kù)的基本概念,用來組織、存儲(chǔ),管理數(shù)據(jù)的倉(cāng)庫(kù)。

我們傳統(tǒng)型數(shù)據(jù)庫(kù)(mysql、sql、Oracle)的一個(gè)數(shù)據(jù)結(jié)構(gòu)為:數(shù)據(jù)庫(kù)》數(shù)據(jù)表》數(shù)據(jù)行》字段

庫(kù)、表、行、字段之間的一些關(guān)系:

  • ①每個(gè)項(xiàng)目都有獨(dú)立的數(shù)據(jù)庫(kù)文件
  • ②不同的數(shù)據(jù)要放在不同的表中,比如一個(gè)用戶信息就應(yīng)該放到user表中
  • ③每個(gè)表要存放哪些信息是由字段來決定的
  • ④表中的行代表一條具體的數(shù)據(jù)

安裝配置mysql

其實(shí)還是有一些步驟的,建議baidu就不多贅述了這里。

然后裝好后用workbench去創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)再去創(chuàng)建一個(gè)表這個(gè)時(shí)候就有一些數(shù)據(jù)類型參考了,常見的int整數(shù)型,varchar字符串型、tinyint是布爾值

包括還有一些特殊標(biāo)識(shí),pk代表主鍵具有唯一標(biāo)識(shí),nn是not null不能為空值,uq是值唯一,ai是值會(huì)自增

sql結(jié)構(gòu)化查詢語(yǔ)言

上面是通過用那個(gè)工具去寫一些數(shù)據(jù)進(jìn)去,但是我們是程序員那肯定是要用代碼來實(shí)現(xiàn)的,sql結(jié)構(gòu)化查詢語(yǔ)言來了,專門搞數(shù)據(jù)庫(kù)的語(yǔ)言。

無非就是四個(gè)增刪改查,我說一下一些注意點(diǎn),然后就可以看代碼就行了。

首先是增這里的列名和值必須要一一對(duì)應(yīng)就沒有了

-- 通過 * 把 users 表中所有的數(shù)據(jù)查詢出來
-- select * from users
-- 從 users 表中把 username 和 password 對(duì)應(yīng)的數(shù)據(jù)查詢出來
-- select username, password from users
-- 向 users 表中,插入新數(shù)據(jù),username 的值為 tony stark  password 的值為 098123
-- insert into users (username, password) values ('tony stark', '098123')
-- select * from users
-- 將 id 為 4 的用戶密碼,更新成 888888
-- update users set password='888888' where id=4
-- select * from users
-- 更新 id 為 2 的用戶,把用戶密碼更新為 admin123  同時(shí),把用戶的狀態(tài)更新為 1
-- update users set password='admin123', status=1 where id=2
-- select * from users
-- 刪除 users 表中, id 為 4 的用戶
-- delete from users where id=4
-- select * from users
-- and運(yùn)算符
-- select * from users where id = 1 and username = '2'
-- select * from users where id = 1 or username = '2'
-- oder by
-- select * from users order by id desc
-- count
select count(*) as total from users where status = 0

mysql模塊

怎么在項(xiàng)目中來操作一個(gè)mysql

首先要安裝通過npm然后要配置來連接那個(gè)數(shù)據(jù)庫(kù),再去執(zhí)行一些語(yǔ)句,主要實(shí)現(xiàn)的功能還是一個(gè)增刪查改

注意

查:返回的是一個(gè)數(shù)組

增:sql語(yǔ)句中用?先來作為占位符先不填充數(shù)據(jù),后面的也是這樣,返回的是一個(gè)對(duì)象,里面有一個(gè)屬性affectedRows也就是被影響的行,要等于一這個(gè)操作才能被算作生效,

然后由于我們的id具有唯一標(biāo)識(shí)性,所以如果你刪了4,又去增加一個(gè)那么他的id是5不是4,增有便捷版操作

改:也有便捷版,也返回的是一個(gè)對(duì)象,注意他的便捷版的where條件不能夠省略

刪:推薦以id這個(gè)唯一標(biāo)識(shí)符作為條件來刪除,然后我們delete就是真的從數(shù)據(jù)庫(kù)刪除了,其實(shí)是有點(diǎn)危險(xiǎn)的,因?yàn)槿f一用戶反悔了想恢復(fù)回來,這個(gè)時(shí)候就沒辦法了,所以我們一般是用標(biāo)記刪除,也就是通過update來改類似于status的值來達(dá)到一個(gè)模擬刪除的操作,并沒有真正從數(shù)據(jù)庫(kù)刪除

// 1. 前面如果通過npm安裝了mysql第三方包后,就需要配置一下mysql模塊了
// 首先是導(dǎo)入
const mysql = require('mysql')
// 通過mysql.createPool來配置
const db = mysql.createPool({
    host : '127.0.0.1', // 數(shù)據(jù)庫(kù)的ip地址
    user : 'root' , // 登錄數(shù)據(jù)庫(kù)的賬號(hào)
    password : 'admin123', // 登錄數(shù)據(jù)庫(kù)密碼
    database : 'my_db_01' // 指定要操作哪個(gè)數(shù)據(jù)庫(kù)
})
// 2.測(cè)試mysql
// select 1 沒有任何作用只是可以測(cè)試是否連接成功
db.query('select 1' ,(err, results) => {
    if (err) return err.message
    return console.log(results);
})
// 3. 查詢數(shù)據(jù)
db.query('select * from users', (err, results) => {
    if (err) return err.message
    return console.log(results);
})
// 4.插入數(shù)據(jù)
/* let obj = {
    username : '流星',
    password : '653213'
} */
// 4.1注意sql語(yǔ)句中可用?來占位
/* let insertStr = 'insert into users(username, password) values (?,?)'
// 4.2使用數(shù)組的形式可以依次去填補(bǔ)?里面的值
db.query(insertStr, [obj.username, obj.password] ,(err, results) => {
    if (err) return err.message
    // 4.3用到rsults的一個(gè)屬性 表示影響的行數(shù),只有當(dāng)為一才表示真正的插入成功了
    if (results.affectedRows == 1) return console.log('數(shù)據(jù)添加成功');
}) */
// 4.2插入數(shù)據(jù)便捷版
/* let obj = {
    username : 'jj',
    password : '653213'
}
let insertStr = 'insert into users set ?'
// 4.2使用數(shù)組的形式可以依次去填補(bǔ)?里面的值
db.query(insertStr, obj ,(err, results) => {
    if (err) return err.message
    // 4.3用到rsults的一個(gè)屬性 表示影響的行數(shù),只有當(dāng)為一才表示真正的插入成功了
    if (results.affectedRows == 1) return console.log('數(shù)據(jù)添加成功');
}) */
// 5.改數(shù)據(jù)
/* let user = {username : '姐姐', password : '1243333', id : '9'}
let updateStr = 'update users set username = ? , password = ? where id = ?'
db.query(updateStr, [user.username, user.password, user.id], (err, results) => {
    if (err) {
        return err.message
    } else if (results.affectedRows == 1) {
        return console.log('更新數(shù)據(jù)成功');
    }
}) */
// 5.1便捷版
/* let user = {username : '姐姐', password : '1243333', id : '9'}
let updateStr = 'update users set ? where id = ?'
db.query(updateStr, [user, user.id], (err, results) => {
    if (err) {
        return err.message
    } else if (results.affectedRows == 1) {
        return console.log('更新數(shù)據(jù)成功');
    }
}) */
// 6.刪除數(shù)據(jù)
let deleteStr = 'delete from users where id = ?'
db.query(deleteStr, 9, (err, results) => {
    if (err) {
        return err.message
    } else if (results.affectedRows == 1) {
        return console.log('刪除數(shù)據(jù)成功');
    }
})

以上就是node終端里如何連接mysql數(shù)據(jù)庫(kù)并進(jìn)行sql查詢的詳細(xì)內(nèi)容,更多關(guān)于node連接mysql查詢sql的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • node模塊機(jī)制與異步處理詳解

    node模塊機(jī)制與異步處理詳解

    這篇文章主要介紹了node模塊機(jī)制與異步處理詳解的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Koa代理Http請(qǐng)求的示例代碼

    Koa代理Http請(qǐng)求的示例代碼

    這篇文章主要介紹了Koa代理Http請(qǐng)求的示例代碼,詳解介紹了Koa 代理http請(qǐng)求,解決跨域問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Node.js簡(jiǎn)單入門前傳

    Node.js簡(jiǎn)單入門前傳

    Node.js 是一個(gè)基于Chrome JavaScript 運(yùn)行時(shí)建立的一個(gè)平臺(tái)。接下來通過本文給大家分享node.js 入門前傳,感興趣的朋友一起看看吧
    2017-08-08
  • node.js中的fs.futimesSync方法使用說明

    node.js中的fs.futimesSync方法使用說明

    這篇文章主要介紹了node.js中的fs.futimes方法使用說明,本文介紹了fs.futimesSync方法說明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js中的fs.readFile方法使用說明

    node.js中的fs.readFile方法使用說明

    這篇文章主要介紹了node.js中的fs.readFile方法使用說明,本文介紹了fs.readFile的方法說明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 基于node的cli工具開發(fā)使用詳解

    基于node的cli工具開發(fā)使用詳解

    這篇文章主要為大家介紹了基于node的cli工具開發(fā)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 詳解Nodejs 部署到阿里云全過程

    詳解Nodejs 部署到阿里云全過程

    這篇文章主要介紹了詳解Nodejs 部署到阿里云全過程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-06-06
  • nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例

    nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例

    這篇文章主要介紹了nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法,通過兩個(gè)具體案例形式分析了node.js同步刪除文件/文件夾,以及異步刪除文件/文件夾的相關(guān)實(shí)現(xiàn)技巧,涉及遞歸遍歷與文件判斷、回調(diào)等相關(guān)操作,需要的朋友可以參考下
    2023-04-04
  • Node.js+Express+Mysql 實(shí)現(xiàn)增刪改查

    Node.js+Express+Mysql 實(shí)現(xiàn)增刪改查

    這篇文章主要介紹了Node.js+Express+Mysql 實(shí)現(xiàn)增刪改查,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 2014年最火的Node.JS后端框架推薦

    2014年最火的Node.JS后端框架推薦

    用nodejs開發(fā)web應(yīng)用,用哪個(gè)框架好?express?還是其他什么?今天小編就來給大家推薦一下今年最好用的幾款Node.js后端框架
    2014-10-10

最新評(píng)論