摘要:初始化項目創建項目目錄,并使用初始化項目后,執行下面操作安裝依賴創建填寫你的填寫你的用戶名填寫你的密碼在中執行,當看到中打印出,表明數據庫連接成功。打開瀏覽器訪問,當看到屏幕顯示時,表名項目初始化成功。
本文是一篇使用mysql這個npm模塊操作MySQL數據庫的基礎教程。 不涉及MySQL的安裝和配置,如果電腦中還未安裝MySQL, 推薦安裝WAMP、XAMPP等集成環境。本文中還使用到了輕量級的Node.js框架Koa搭建web程序,為的是通過前端瀏覽器請求的方式來模擬項目場景,你無需掌握Koa框架的語法也是可以輕松閱讀本文的。
初始化項目創建項目目錄,并使用npm init初始化項目后,執行下面操作:
安裝依賴npm install mysql koa koa-router創建index.js
// index.js const Koa = require("koa"); const Router = require("koa-router"); const mysql = require("mysql"); const app = new Koa(); const router = new Router(); const connection = mysql.createConnection({ host: "localhost", // 填寫你的mysql host user: "root", // 填寫你的mysql用戶名 password: "123456" // 填寫你的mysql密碼 }) connection.connect(err => { if(err) throw err; console.log("mysql connncted success!"); }) router.get("/", ctx => { ctx.body = "Visit index"; }) app.use(router.routes()); app.listen(3000);
在shell中執行node index.js,當看到shell中打印出mysql connected success!,表明MySQL數據庫連接成功。
打開瀏覽器, 訪問localhost:3000,當看到屏幕顯示Visit index時,表名項目初始化成功。
當訪問/createdb時,創建一個mysqlkoa的數據庫,代碼如下:
router.get("/createdb", ctx => { return new Promise(resolve => { const sql = `CREATE DATABASE mysqlkoa`; connection.query(sql, (err) => { if (err) throw err; ctx.body = { code: 200, msg: `create database mysqlkoa success!` } resolve(); }); }) })
重新執行node index.js,并使用瀏覽器訪問localhost:3000/createdb
創建數據表為了方便,我們直接在連接時使用剛才創建的數據庫,需要在mysql.createConnection中添加database:mysqlkoa的配置項。
const connection = mysql.createConnection({ host: "localhost", user: "root", password: "123456", database: "mysqlkoa" // 添加該列 })
當訪問/createtable時,我們創建一個數據表fe_frame,該表用來保存前端框架的數據:
router.get("/createtable", ctx => { return new Promise(resolve => { const sql = `CREATE TABLE fe_frame( id INT(11) AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), author VARCHAR(255) )`; connection.query(sql, (err ,results, filelds) => { if (err) throw err; ctx.body = { code: 200, msg: `create table of fe_frame success!` } resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問localhost:3000/createtable
插入數據當訪問/insert時,用來插入單條數據:
router.get("/insert", ctx => { return new Promise(resolve => { const sql = `INSERT INTO fe_frame(name, author) VALUES("vue", "Evan")`; connection.query(sql, (err) => { if (err) throw err; ctx.body = { cde: 200, msg: `insert data to fe_frame success!` } resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問localhost:3000/insert
插入多條數據當訪問/insertmulti時,用來插入多條數據:
router.get("/insertmulti", ctx => { return new Promise(resolve => { const sql = `INSERT INTO fe_frame(name, author) VALUES ?`; const values = [ ["React", "Facebook"], ["Angular", "Google"], ["jQuery", "John Resig"] ]; connection.query(sql, [values], (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `insert ${result.affectedRows} data to fe_frame success!` } resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問localhost:3000/insertmulti
使用phpMyAdmin訪問,可以看到此時mysqlkoa表如下
刪除數據當訪問/delete時,刪除相應行。我們使用請求參數name來指定刪除哪個框架,在服務器端使用ctx.query.name獲取,代碼如下:
router.get("/delete", ctx => { return new Promise(resolve => { const name = ctx.query.name; const sql = `DELETE FROM fe_frame WHERE name = "${name}"`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `delete ${result.affectedRows} data from fe_frame success!` }; resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問http://localhost:3000/delete?name=jQuery
修改數據當訪問/update時,更新vue框架的作者名為Evan You,代碼如下:
router.get("/update", ctx => { return new Promise(resolve => { const sql = `UPDATE fe_frame SET author = "Evan You" WHERE NAME = "vue"`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, msg: `update ${result.affectedRows} data from fe_frame success!` }; resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問http://localhost:3000/update
查找數據當訪問/select時,獲取滿足請求參數中框架名條件的項,代碼如下:
router.get("/select", ctx => { return new Promise(resolve => { let name = ctx.query.name; const sql = `SELECT * FROM fe_frame WHERE name = "${name}"`; connection.query(sql, (err, result) => { if (err) throw err; ctx.body = { code: 200, data: result } resolve(); }) }) })
重新執行node index.js,并使用瀏覽器訪問http://localhost:3000/select?name=vue
mysql文檔地址: https://www.npmjs.com/package...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98792.html
摘要:其中用來完成請求,將添加的原型上后就不需要再在每個需要使用它的頁面引入了每個頁面都相當于一個組件,文件以結尾,第一次啟動成功時看到的頁面就是組件,路徑。 學習筆記...在線地址:cl8023.com github 數據庫已改為mongodb 快速搭建 node 后端服務Github-quick-node-server 準備工作 安裝node,這是必須的 新版node自帶npm...
摘要:迅速發展,目前最熱的構建框架非莫屬,在上有的就可以證明。下面就以為中心構建一個前后端都包含在內的簡單吧。簡單的能讓你迅速地了解到工作流程。創建并初始化項目首先,進入到你的工作目錄新建一個項目目錄并打開通過命令為你的項目創建一個文件。 Nodejs迅速發展,目前最熱的Nodejs構建框架非express莫屬,在Github上有32k的star就可以證明。下面就以Nodejs為中心構建一個...
閱讀 2413·2021-08-18 10:21
閱讀 2519·2019-08-30 13:45
閱讀 2155·2019-08-30 13:16
閱讀 2100·2019-08-30 12:52
閱讀 1363·2019-08-30 11:20
閱讀 2622·2019-08-29 13:47
閱讀 1622·2019-08-29 11:22
閱讀 2760·2019-08-26 12:11