MySQL
使用MySQL
使用線上服務
免費信箱 https://10minutemail.com/10MinuteMail/index.html?dswid=-5419
測試用免費mysql:https://www.freemysqlhosting.net/ (預設一個資料庫,不可再增加或修改)
記得,如果請申請過freemysqlhosting後,想再申請一個帳號記得先把網站的cookie刪除,因目前沒刪除直接重新註冊會產生收不到密碼信件的Bug
在本地安裝
Windows
https://dev.mysql.com/downloads/installer/
啟動相關命令:https://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html
到安裝路徑的bin資料夾輸入
D:\MYSQL\Bin>mysql -u root -p adminMac
homebrew install mysql與Node.js連線
1.使用npm安裝mysql
2.測試連線
操控資料庫
CREATE TABLE
記得每段分行要用+號,因為javascript分行要用字串聯接
或是
使用ES6 的新字元串` ,可跨行連接字段
如要使用變數記得用${}
insert column
insert row
Read data
使用?號
UPDATE
加上where,限制要更新的row
使用?號
有關? 與??
範例1
範例2
使用escape,防止injection
https://www.wikiwand.com/zh-tw/SQL%E8%B3%87%E6%96%99%E9%9A%B1%E7%A2%BC%E6%94%BB%E6%93%8A
可達到的效果
1.
escape()
跟?作用相同
如果要excape的是name
使用escapeId()
使用??一樣效果
(??是給mysql module 內的function解析的,所以他不是變數,不用字串包住前後)
insert資料時傳回該筆insert id(主鍵)
複習sql語法
資料表查詢
SELECT
欄位FROM資料表;一般用法: SELECT * FROM
table;翻譯:選擇table這個資料表所有欄位的資料(就是全選啦!!)
備註:星號代表所有欄位,在sql語法、指令中星號代表全部
資料表查詢 + 排序
SELECT
欄位FROM資料表ORDER BY特定欄位DESC ;一般用法: SELECT
id,nameFROMtableORDER BY特定欄位DESC ;翻譯: 選取table資料表內的 id 和 name 這兩個欄位,並根據id這欄位做降冪排序(由高而低、由大到小、由z到a)
備註:ASC則是(由低而高、由小到大、由a到z),與DESC相反
資料表查詢 + 查詢條件
SELECT
欄位FROM資料表WHERE特定欄位= 數字 ;一般用法: SELECT * FROM
tableWHEREid= 363 ;翻譯: 在table資料表內的尋找 id 欄位的內容是 363 且將 所有欄位的資料都取出來
使用完記得關閉
參考至:
https://www.npmjs.com/package/mysql#getting-the-id-of-an-inserted-row
http://www.sitepoint.com/using-node-mysql-javascript-client/
於Linux安裝的MySQL
一開始預設只有local可以存取到本地資料夾
停止
開啟
phpmyadmin中的使用者即為mysql的使用者所以更改後兩者都會變,安裝phpmyadmin套件可參考本書GCE章節。
如在terminal輸入mysql後告知沒有權限,可輸入以下
Last updated
Was this helpful?