這次的練習項目是一個商城網(wǎng)站。個人感覺對于我這個沒有任何項目開發(fā)經(jīng)驗的人來說剩晴,還是有點難度的。
一侵状、建立數(shù)據(jù)表
由于我不是程序員赞弥。需求分析這里就不深入了。直接跳到創(chuàng)建數(shù)據(jù)表趣兄。個人感覺mysql還是多熟悉一下沒壞處绽左。(嗯,經(jīng)過熟悉與實踐艇潭,我下面這幅圖錯的很“經(jīng)典”拼窥!硬是排查了一個多小時,才知道錯在哪蹋凝!沒辦法鲁纠,mysql基礎不牢,地動山搖)
正確的圖片如下:
錯誤原因鳍寂,表名和列名都要用鍵盤左上角的那個符號改含,不是引號伐割!雖然長得和引號很像候味!但是這個特殊符號就是用來區(qū)分字段和值的!
上面數(shù)據(jù)表知識點查漏補缺隔心,下面是格式白群,方括號中內(nèi)容可選:
CREATE TABLE '表名稱' [IF NOT EXISTS]
(
? ? `id` ? ?數(shù)據(jù)類型與字符數(shù)量 ? ?字符類型更精確 ? ?是否為空 ? ?自動增長,
? ? #注意,自動增長往往都是針對 'id' 的 ? ?
? ? `字段名` ? ?數(shù)據(jù)類型與字符數(shù)量 ? ?字符類型更精確 ? ?是否為空 ? ?默認值,
? ? #以此類推………………
? ? …………………………
? ? #當字段名都創(chuàng)建好之后硬霍,開始設置主鍵帜慢、索引,根據(jù)不同類型創(chuàng)建不同索引
? ? PRIMARY KEY (`id`),
? ? KEY parent_id(`parent_id`)
)引擎類型 ? ?自動增長值 ? ?默認字符編碼
剛開始對索引不理解唯卖,現(xiàn)在理解多了粱玲。所謂索引,就是相當于查字典的時候拜轨,字典最前面幾頁的玩意兒抽减,可以讓我們更快的找到數(shù)據(jù)。但是橄碾,索引也不是越多越好卵沉,這個索引占內(nèi)存颠锉,因此往往一張數(shù)據(jù)表中經(jīng)常在where語句中查詢的字段,給其添加索引史汗。而主鍵則每張表都要有琼掠,防止表中有相同的數(shù)據(jù),用來保證數(shù)據(jù)的唯一性停撞。況且瓷蛙,還可以增加數(shù)據(jù)查詢的速度。
再建立一張城市表戈毒。由于城市有英文名字艰猬,用uname字段表示,還是保證這個英文名字的唯一性埋市,因此給這個字段也創(chuàng)建一個UNIQUE KEY索引姥宝。我估計這個字段也會在用戶的查詢中,經(jīng)常被用到where語句中去恐疲。
同理再創(chuàng)建其他的表腊满,這里其他的表的截圖就不貼出來了。都差不多了培己。我只貼出來與眾不同的表碳蛋。
在貼上一張商戶表吧,由于是根據(jù)商戶名字來在where后面進行查詢省咨,所以這張表看起來稍微有點不一樣
作為未來搞安全的人肃弟,對商戶的賬號密碼之類的必須感興趣啊。'code'是存放的隨機數(shù)零蓉,用來和password加密使用的笤受。所以貼一張數(shù)據(jù)表圖片。
其他的表就暫時省略了敌蜂。不上圖了箩兽。
二、導入數(shù)據(jù)庫
在導入數(shù)據(jù)庫的時候章喉,有兩種方法汗贫。
第一種,簡單省事秸脱,直接將以sql后綴的文件用mysql的source命令導入到數(shù)據(jù)庫中就可以了落包。
需要注意的是:1.創(chuàng)建數(shù)據(jù)庫的時候,默認字符編碼要進行設置摊唇,應該是和數(shù)據(jù)表的編碼保持一致(這是個好習慣咐蝇,防止亂碼,而且我記得好像和寬字節(jié)注入也有聯(lián)系)巷查;2.使用source命令之前有序,需要指定數(shù)據(jù)庫撮竿,并且source命令使用的時候,最后千萬不能加分號代表命令結(jié)束笔呀!這是我一上午的教訓!3.若是報錯髓需,一定要仔細的根據(jù)報錯原因來排查许师,不要瞎J8排查,這也是我血的教訓僚匆!
附一張創(chuàng)建數(shù)據(jù)庫并且配置字符編碼的圖片:
第二種微渠,麻煩一點,將寫好的語句復制粘貼到數(shù)據(jù)庫中咧擂,運行即可逞盆。(這是一張表一張表的創(chuàng)建方法。上面是一次性全創(chuàng)建好的方法)
綜上所述松申,基于需求分析的數(shù)據(jù)庫云芦、數(shù)據(jù)表的建立就告一段落了。