1. 準備工作
創新互聯-專業網站定制、快速模板網站建設、高性價比巢湖網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式巢湖網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋巢湖地區。費用合理售后完善,十載實體公司更值得信賴。
在開始之前,請確保已經安裝好了MySQL數據庫并保證它能正常運行,而且需要安裝好PyMySQL庫。
2. 連接數據庫
這里,首先嘗試連接一下數據庫。假設當前的MySQL運行在本地,用戶名為root,密碼為123456,運行端口為3306。這里利用PyMySQL先連接MySQL,然后創建一個新的數據庫,名字叫作spiders,代碼如下:
import pymysql
db = pymysql.connect(host='localhost',user='root', password='123456', port=3306)
cursor = db.cursor()
cursor.execute('SELECT VERSION()')
data = cursor.fetchone()
print('Database version:', data)
cursor.execute("CREATE DATABASE spiders DEFAULT CHARACTER SET utf8")
db.close()
運行結果如下:
Database version: ('5.6.22',)
這里通過PyMySQL的connect()方法聲明一個MySQL連接對象db,此時需要傳入MySQL運行的host(即IP)。由于MySQL在本地運行,所以傳入的是localhost。如果MySQL在遠程運行,則傳入其公網IP地址。后續的參數user即用戶名,password即密碼,port即端口(默認為3306)。
連接成功后,需要再調用cursor()方法獲得MySQL的操作游標,利用游標來執行SQL語句。這里我們執行了兩句SQL,直接用execute()方法執行即可。第一句SQL用于獲得MySQL的當前版本,然后調用fetchone()方法獲得第一條數據,也就得到了版本號。第二句SQL執行創建數據庫的操作,數據庫名叫作spiders,默認編碼為UTF-8。由于該語句不是查詢語句,所以直接執行后就成功創建了數據庫spiders。接著,再利用這個數據庫進行后續的操作。
3. 創建表
一般來說,創建數據庫的操作只需要執行一次就好了。當然,我們也可以手動創建數據庫。以后,我們的操作都在spiders數據庫上執行。
創建數據庫后,在連接時需要額外指定一個參數db。
一般來說mysql里面還是不要存儲圖片,你可以把圖片的url地址存儲在mysql里面,這樣mysql里面就只需要存儲文本了
(一)MyISAM
它不支持事務,也不支持外鍵,尤其是訪問速度快,對事務完整性沒有要求或者以SELECT、INSERT為主的應用基本都可以使用這個引擎來創建表。
每個MyISAM在磁盤上存儲成3個文件,其中文件名和表名都相同,但是擴展名分別為:
.frm(存儲表定義)
MYD(MYData,存儲數據)
MYI(MYIndex,存儲索引)
(二)InnoDB
InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比MyISAM的存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引。
(三)MEMORY
memory使用存在內存中的內容來創建表。每個MEMORY表實際對應一個磁盤文件,格式是.frm。MEMORY類型的表訪問非常快,因為它到數據是放在內存中的,并且默認使用HASH索引,但是一旦服務器關閉,表中的數據就會丟失,但表還會繼續存在。
默認情況下,memory數據表使用散列索引,利用這種索引進行“相等比較”非常快,但是對“范圍比較”的速度就慢多了。因此,散列索引值適合使用在"="和"="的操作符中,不適合使用在""或""操作符中,也同樣不適合用在order?by字句里。如果確實要使用""或""或betwen操作符,可以使用btree索引來加快速度。
存儲在MEMORY數據表里的數據行使用的是長度不變的格式,因此加快處理速度,這意味著不能使用BLOB和TEXT這樣的長度可變的數據類型。VARCHAR是一種長度可變的類型,但因為它在MySQL內部當作長度固定不變的CHAR類型,所以可以使用。
四)MERGE
merge存儲引擎是一組MyISAM表的組合,這些MyISAM表結構必須完全相同,MERGE表中并沒有數據,對MERGE類型的表可以進行查詢、更新、刪除的操作,這些操作實際上是對內部的MyISAM表進行操作。對于對MERGE表進行的插入操作,是根據INSERT_METHOD子句定義的插入的表,可以有3個不同的值,first和last值使得插入操作被相應的作用在第一個或最后一個表上,不定義這個子句或者為NO,表示不能對這個MERGE表進行插入操作。可以對MERGE表進行drop操作,這個操作只是刪除MERGE表的定義,對內部的表沒有任何影響。MERGE在磁盤上保留2個以MERGE表名開頭文件:.frm文件存儲表的定義;.MRG文件包含組合表的信息,包括MERGE表由哪些表組成,插入數據時的依據。可以通過修改.MRG文件來修改MERGE表,但是修改后要通過flush?table刷新。
文章標題:MySQL要怎么存儲種類,mysql可以存什么
分享路徑:http://m.kartarina.com/article18/hegidp.html
成都網站建設公司_創新互聯,為您提供移動網站建設、網站維護、網站制作、服務器托管、面包屑導航、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯