摘要:運用自己的業(yè)余時間學習學習制作簡單點的小例子,代碼寫的有點隨意,我這里只相當于提供一個引子,升華部分還是需要大家自己去成長,相比來說要比好用許多,沒事大家可以自己學習學習,多學習一點東西總是好的項目地址使用數(shù)據(jù)庫管理破解版地址連接失敗解決方
運用自己的業(yè)余時間學習學習node.js+koa+mysql,制作簡單點的小例子,代碼寫的有點隨意,我這里只相當于提供一個引子,升華部分還是需要大家自己去成長,相比來說koa要比express好用許多,沒事大家可以自己學習學習,多學習一點東西總是好的!1.使用數(shù)據(jù)庫管理navicat for MySQL 破解版地址
項目地址https://github.com/iopwanglei...
https://blog.csdn.net/chanffffdlleerr/article/details/746065482.navicat 連接失敗解決方案
https://blog.csdn.net/u013700358/article/details/803065603.聯(lián)合查詢
* user表 CREATE TABLE IF NOT EXISTS user ( uid int(11) NOT NULL, username varchar(30) NOT NULL, password char(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-----+-----------+----------+ | uid | username | password | +-----+-----------+----------+ | 1 | 張翰 | 123456 | | 2 | 李二蛋 | 1235531 | | 3 | 李文凱 | 123455 | | 4 | 安小超 | 12311q | | 5 | 韓小平 | 1asdas | | 6 | 張三 | 123555 | +-----+-----------+----------+ * order_goods表 CREATE TABLE IF NOT EXISTS order_goods ( oid int(11) NOT NULL, uid int(11) NOT NULL, name varchar(50) NOT NULL, buytime int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-----+-----------+----------+ | oid | uid | name | buytime | +-----+-----------+----------+ | 1 | 6 | 張翰 | 123456 | | 2 | 1 | 李二蛋| 1235531 | | 3 | 2 | 李文凱| 123455 | +-----+-----------+----------+ * sql的left join 、right join 、inner join之間的區(qū)別 left join(左聯(lián)接) 返回包括左表中的所有記錄和右表中聯(lián)結字段相等的記錄 right join(右聯(lián)接) 返回包括右表中的所有記錄和左表中聯(lián)結字段相等的記錄 inner join(等值連接) 只返回兩個表中聯(lián)結字段相等的行 * 內連接查詢: select表,字段uid,username[as]使用別名,select order_goods表,字段(和前邊一樣)inner join 表(order_goods)on 條件 = 匹配條件 select user.uid ,user.username as username,order_goods.oid,order_goods.uid,order_goods.name as shopname from user inner join order_goods on user.uid = order_goods.uid; * 外連接 左連接:select 表(user)以左表(user)為主,顯示, on 條件 select * from user left join order_goods on user.uid = order_goods.uid; * 外連接 右連接:以右表為主顯示核對成功的即on的條件成立的 SELECT * FROM `user` RIGHT JOIN order_goods on user.uid = order_goods.uid; * 子查詢 : 子查詢的關鍵字包括in、not in、=、!=、exists、not exists等。 select * from user where uid in (1,2,3); 查詢user表中uid 為1,2,3的數(shù)據(jù) select * from user where uid in (select uid from order_goods); 查詢order_goods表中uid和user表中相同的,在user表中展示 * 交叉連接: CROSS JOIN SELECT * FROM user CROSS JOIN order_goods; 自行查看展示4.安裝koa等所需
npm i koa //使用async await 異步須node版本為7.6.0以上 npm i koa-router npm i koa-bodyparser //解析中間件 npm i mysql5.目錄結構 6.config文件下mysql.js 數(shù)據(jù)庫連接池
const mysql = require("mysql"); // 創(chuàng)建連接池 let pool = mysql.createPool({ host: "127.0.0.1", // 主機 user: "root", // mysql認證用戶名 password: "789456", // mysql用戶密碼 port: "3306", // 端口 database: "數(shù)據(jù)庫" }); let query = ( sql, values ) => { return new Promise(( resolve, reject ) => { pool.getConnection(function(err, connection) { if (err) { reject( err ) } else { connection.query(sql, values, ( err, res) => { if ( err ) { reject( err ) } else { resolve( res ) } connection.release() }) } }) }) } module.exports = query;7.路由user_router.js,這里需要調用servse文件中的user_servse.js里面的方法
const router = require("koa-router")(); const user = require("../servse/user_servse.js"); const routers = router .post("/add", user.selectData); module.exports = routers;8.路由index.js使用
const router = require("koa-router")(); const user = require("./user_router.js"); router.use(user.routes(), user.allowedMethods()) module.exports = router;9.user_servse.js方法,以及sql語句,引入mysql.js
const query = require("../config/mysql.js"); // 新增插入數(shù)據(jù)查詢條件 let insert = "INSERT INTO `goods` (`oid`, `uid`, `name`, `buytime`) VALUES (?, ?, ?, ?)"; const user = { async selectData(ctx) { let data = ctx.request.body let userAddParams = [data.oid,data.uid,data.name,data.buytime]; if(Object.keys(data).length > 0) { try { await query(insert, userAddParams); ctx.response.body = { status: 200, description: "ok", result: data } } catch(err) { ctx.response.body = { status: 404 } } } } } module.exports = user;10.app.js啟動文件
const Koa = require("koa"); const app = new Koa(); const bodyParser = require("koa-bodyparser"); const routers = require("./router/index"); // 配置ctx.body解析中間件 app.use(bodyParser()) // 初始化路由中間件 app.use(routers.routes()).use(routers.allowedMethods()) app.listen(3000);
學習資料 喜歡的童鞋點個贊
1.http://mysql.phpxy.com/75314
2.http://www.manongjc.com/artic...
3.http://www.runoob.com/mysql/m...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/95876.html
摘要:整理的一些實用的類網站及工具。鏈接云適配有時候我們做出的網站沒有用到響應式布局,也可能我們的網站的像素寬度已經規(guī)定成具體的多少像素了。同時提供多個開放,功能實用,非常強大。 整理的一些實用的IT類網站及工具。 1.聚合數(shù)據(jù) 大家在開發(fā)過程中,可能會用到各種各樣的數(shù)據(jù),想找一些接口來提供一些數(shù)據(jù)。比如天氣預報查詢,火車時刻表查詢,彩票查詢,身份證查詢等等。有了這個接口,直接調用即可。各種...
摘要:大學,光學工程研究生畢業(yè),和程序猿完全不搭邊。那怎么辦,試著學一學唄,學習才是程序猿的天性。所以我在想程序猿是不是都需要新知識刺激一下,才能保持興奮的頭腦。有句話說的很對程序猿就像好奇的貓,追著毛球的線頭玩,最后一個毛球在腦袋里攪漿糊。 說說我自己的經歷。211大學,光學工程研究生畢業(yè),和程序猿完全不搭邊。 畢業(yè)后進了成都某國字頭研究所,在行業(yè)里摸爬滾打了四年,2018年機緣巧合在家養(yǎng)...
摘要:的翻譯文檔由的維護很多人說,阮老師已經有一本關于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。 JavaScript Promise 迷你書(中文版) 超詳細介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...
閱讀 2271·2021-10-09 09:41
閱讀 3426·2021-09-13 10:34
閱讀 1932·2019-08-30 12:59
閱讀 569·2019-08-29 17:27
閱讀 1070·2019-08-29 16:07
閱讀 2963·2019-08-29 13:15
閱讀 1316·2019-08-29 13:14
閱讀 1571·2019-08-26 12:18