# 第一節:MySQL相關軟件
# MySQL數據庫
在網站開發中,數據庫是網站的重要組成部分。只有提供數據庫,數據才能夠動態的展示,而不是在網頁中顯示一個靜態的頁面。數據庫有很多,比如有`SQL Server`、`Oracle`、`PostgreSQL`以及`MySQL`等等。`MySQL`由于價格實惠、簡單易用、不受平臺限制、靈活度高等特性,目前已經取得了絕大多數的市場份額。因此我們在`Django`中,也是使用`MySQL`來作為數據存儲。
## MySQL數據庫安裝:
1. 在`MySQL`的官網下載`MySQL`數據庫安裝文件:`https://dev.mysql.com/downloads/windows/installer/5.7.html`。
2. 然后雙擊安裝,如果出現以下錯誤,則到`http://www.microsoft.com/en-us/download/details.aspx?id=17113`下載`.net framework`。

3. 在安裝過程中,如果提示沒有`Microsoft C++ 2013`,那么就到以下網址下載安裝即可:`http://download.microsoft.com/download/9/0/5/905DBD86-D1B8-4D4B-8A50-CB0E922017B9/vcredist_x64.exe`。

4. 接下來就是做好用戶名和密碼的配置即可。
## navicat數據庫操作軟件:
安裝完`MySQL`數據庫以后,就可以使用`MySQL`提供的終端客戶端軟件來操作數據庫。如下:

這個軟件所有的操作都是基于`sql`語言,對于想要熟練`sql`語言的同學來講是非常合適的。但是對于在企業中可能不是一款好用的工具。在企業中我們推薦使用`mysql workbench`以及`navicat`這種圖形化操作的軟件。而`mysql workbench`是`mysql`官方提供的一個免費的軟件,正因為是免費,所以在一些功能上不及`navicat`。`navicat for mysql`是一款收費的軟件。官網地址如下:`https://www.navicat.com.cn/products`。使用的截圖如下:

## MySQL驅動程序安裝:
我們使用`Django`來操作`MySQL`,實際上底層還是通過`Python`來操作的。因此我們想要用`Django`來操作`MySQL`,首先還是需要安裝一個驅動程序。在`Python3`中,驅動程序有多種選擇。比如有`pymysql`以及`mysqlclient`等。這里我們就使用`mysqlclient`來操作。`mysqlclient`安裝非常簡單。只需要通過`pip install mysqlclient`即可安裝。
常見`MySQL`驅動介紹:
1. `MySQL-python`:也就是`MySQLdb`。是對`C`語言操作`MySQL`數據庫的一個簡單封裝。遵循了`Python DB API v2`。但是只支持`Python2`,目前還不支持`Python3`。
2. `mysqlclient`:是`MySQL-python`的另外一個分支。支持`Python3`并且修復了一些`bug`。
3. `pymysql`:純`Python`實現的一個驅動。因為是純`Python`編寫的,因此執行效率不如`MySQL-python`。并且也因為是純`Python`編寫的,因此可以和`Python`代碼無縫銜接。
4. `MySQL Connector/Python`:`MySQL`官方推出的使用純`Python`連接`MySQL`的驅動。因為是純`Python`開發的。效率不高。
- Introduction
- 第一章:學前準備
- 第一節:虛擬環境
- 第二節:準備工作
- 第三節:Django介紹
- 第四節:URL組成部分
- 第二章:URL與視圖
- 第一節:第一個Django項目
- 第二節:視圖與URL分發器
- 第三章:模板
- 第一節:模板介紹
- 第二節:模板變量
- 第三節:常用標簽
- 第四節:常用過濾器
- 第五節:自定義過濾器
- 第七節:模版結構優化
- 第八節:加載靜態文件
- 第四章:數據庫
- 第一節:MySQL相關軟件
- 第二節:數據庫操作
- 第三節:ORM模型
- 第四節:模型常用字段
- 第五節:外鍵和表關系
- 第六節:增刪改查操作
- 第七節:查詢操作
- 第八節:QuerySet API
- 第九節:ORM模型遷移
- 第十節:ORM作業
- 第十一節:ORM作業參考答案
- 第十二節:Pycharm連接數據庫
- 第五章:視圖高級
- 第一節:限制請求method
- 第二節:頁面重定向
- 第三節:HttpRequest對象
- 第四節:HttpResponse對象
- 第五節:生成CSV文件
- 第六節:類視圖
- 第七節:錯誤處理
- 第六章:表單
- 第一節:表單概述
- 第二節:用表單驗證數據
- 第三節:ModelForm
- 第四節:文件上傳
- 第七章:cookie和session
- 第八章:上下文處理器和中間件
- 第一節:上下文處理器
- 第二節:中間件
- 第九章:安全
- 第一節:CSRF攻擊
- 第二節:XSS攻擊
- 第三節:點擊劫持攻擊
- 第四節:SQL注入
- 第十章:信號
- 第一節:什么是信號
- 第十一章:驗證和授權
- 第一節:概述
- 第二節:用戶對象
- 第三節:權限和分組
- 第十二章:Admin系統
- 第十三章:Django的緩存
- 第十四章:memcached
- 第十五章:Redis