微信小程序開發(fā)項目實戰(zhàn)(微課版)課件 10-1 課件-數(shù)據(jù)庫基本操作_第1頁
微信小程序開發(fā)項目實戰(zhàn)(微課版)課件 10-1 課件-數(shù)據(jù)庫基本操作_第2頁
微信小程序開發(fā)項目實戰(zhàn)(微課版)課件 10-1 課件-數(shù)據(jù)庫基本操作_第3頁
微信小程序開發(fā)項目實戰(zhàn)(微課版)課件 10-1 課件-數(shù)據(jù)庫基本操作_第4頁
微信小程序開發(fā)項目實戰(zhàn)(微課版)課件 10-1 課件-數(shù)據(jù)庫基本操作_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目十新聞數(shù)據(jù)接口Basicdatabaseoperation任務(wù)一數(shù)據(jù)庫基本操作在小程序開發(fā)中,數(shù)據(jù)存儲和管理是不可或缺的一部分。MySQL是一個流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),而Node.js是一個基于事件驅(qū)動、非阻塞I/O的JavaScript運行時環(huán)境。通過將Node.js和MySQL結(jié)合使用,讀者可以輕松地連接到數(shù)據(jù)庫,并進行數(shù)據(jù)操作和查詢。本章節(jié)將詳細介紹如何在Node.js中連接MySQL數(shù)據(jù)庫,包括安裝依賴、創(chuàng)建數(shù)據(jù)庫連接、執(zhí)行查詢和更新操作等。項目十新聞數(shù)據(jù)接口任務(wù)描述創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

使用Navicate創(chuàng)建數(shù)據(jù)庫名為cms,在MySQL中,創(chuàng)建數(shù)據(jù)庫必須通過SQL語句CREATEDATABASE實現(xiàn)的。CREATEDATABASEcms;創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

在數(shù)據(jù)庫cms創(chuàng)建兩張表,新聞分類表tb_newstype和新聞信息表tb_news。在創(chuàng)建完數(shù)據(jù)庫之后,接下來的工作就是創(chuàng)建數(shù)據(jù)表。所謂創(chuàng)建數(shù)據(jù)表,指的是在已經(jīng)創(chuàng)建好的數(shù)據(jù)庫中建立新表。創(chuàng)建數(shù)據(jù)表使用的是CREATETABLE語句來完成的。CREATETABLEtb_newstype(idint(11)NOTNULLPRIMARYKEYAUTO_INCREMENT,typenamevarchar(20)CHARACTERSETutf8,statusint(11)NOTNULLDEFAULT0)創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表

創(chuàng)建數(shù)據(jù)表tb_news的語法如下所示。CREATETABLEtb_news(idint(11)NOTNULLPRIMARYKEYAUTO_INCREMENT,titlevarchar(50)COMMENT'新聞標題',typeidint(11)COMMENT'新聞類型編號',keywordsvarchar(20)COMMENT'關(guān)鍵字',summaryvarchar(255)COMMENT'新聞?wù)?,authorvarchar(20)COMMENT'新聞作者',comvarchar(50)COMMENT'新聞來源',thumbnailvarchar(100)COMMENT'縮略圖',contenttextCOMMENT'新聞內(nèi)容',addtimeint(11)COMMENT'更新時間',totalcountint(11)COMMENT'瀏覽次數(shù)')新建項目

新建

cms文件夾作為項目根目錄,并在項目根目錄中運行如下的命令,初始化包管理配置文件。npminit-y

Web應(yīng)用程序Express是一個保持最小規(guī)模的靈活的應(yīng)用程序開發(fā)框架。運行如下的命令,安裝express框架。npminstallexpress--save新建項目

在項目cms下新建app.js頁面,導(dǎo)入express模板,并監(jiān)聽3000端口,代碼實現(xiàn)如下所示。constexpress=require('express')

//導(dǎo)入express模塊constapp=express()

//創(chuàng)建express的服務(wù)器實例constbodyParser=require('body-parser')app.use(bodyParser.urlencoded({extended:true}))app.use(bodyParser.json())

//解析JSON格式app.listen(3000,()=>{

//調(diào)用app.listen方法,指定端口號并啟動web服務(wù)器

console.log('serverisrunning')})

使用node啟動app.js。nodeapp.js安裝數(shù)據(jù)庫

在cms項目下安裝MySQL,代碼如下所示。npminstallmysql連接數(shù)據(jù)庫

在使用node鏈接mysql的時候需要使用mysql模塊去創(chuàng)建連接,而mysql模塊創(chuàng)建連接有兩種方法:createConnection()與createPool(),接下來我們來說說這兩種函數(shù)的區(qū)別。連接數(shù)據(jù)庫createConnection()方法:createConnection方法用于創(chuàng)建一個單獨的MySQL連接。每次調(diào)用createConnection都會創(chuàng)建一個新的連接對象,該連接對象與數(shù)據(jù)庫建立連接,并且只能由一個客戶端使用。當連接不再需要時,需要手動調(diào)用end方法來關(guān)閉連接。適用于簡單的、低并發(fā)的應(yīng)用場景。constmysql=require('mysql');constconnection=mysql.createConnection({host:'localhost',user:'root',password:'password',database:'mydb'});connection.connect(function(err){if(err)throwerr;console.log('ConnectedtoMySQLdatabase');//執(zhí)行數(shù)據(jù)庫操作

connection.end();//關(guān)閉連接});連接數(shù)據(jù)庫createPool()方法:createPool方法用于創(chuàng)建一個連接池,連接池中包含多個

可重用的連接。連接池允許多個客戶端同時使用連接,提高了并發(fā)性能。連接池會自動管理連接的分配和釋放,可以避免頻繁地創(chuàng)建

和銷毀連接。適用于高并發(fā)的應(yīng)用場景。constmysql=require('mysql');constpool=mysql.createPool({connectionLimit:10,host:'localhost',user:'root',password:'password',database:'mydb'});pool.getConnection(function(err,connection){if(err)throwerr;console.log('ConnectedtoMySQLdatabase');

connection.release();//釋放連接回連接池});測試數(shù)據(jù)庫

測試是否安裝成功。在項目cms下新建db.js頁面,導(dǎo)入MySQL模塊并建立連接,在Node.js應(yīng)用程序中,使用require語句導(dǎo)入MySQL模塊。constmysql=require('mysql')//導(dǎo)入mysql模塊constdb=mysql.createPool({

host:'localhost',//表示連接某個服務(wù)器上的mysql數(shù)據(jù)庫

user:'root',//數(shù)據(jù)庫的用戶名(默認為root)

password:'root',//數(shù)據(jù)庫的密碼(默認為root)

database:'cms',//創(chuàng)建的本地數(shù)據(jù)庫名稱

})module.exports=db測試數(shù)據(jù)庫

在app.js頁面引入db.j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論