【操作mysql】-- Python基礎
這次些的文章是對於python3.x,連線資料庫的庫使用的是pymysql
在教程開始的時候需要先了解下mysql:
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體。
MySQL是一種關係資料庫管理系統,關係資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標準化語言。MySQL 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
python 是如何練級的mysql,對於這點我想大家在學習其他的程式語言的時候也清楚,mysql廠商給出了一套API,java有Java的jdbc,當然python也有python自己的,咱們就使用python3.x專用的pymysql。因為我已經安裝好了pymysql現在也沒有辦法給大家截圖,這裡我就找了一個網上的網友些的一篇關於安裝pymsql的文章:點選傳送
在此之前,還需要了解mysql語句,俗話說:磨刀不誤砍柴工,所以這裡在操作資料庫之前,現看一下是如何建立的mysql資料庫,如何新增的表,如何插入資料的,如果mysql不懂得如何安裝點
這裡我就把這次教程學習的增刪查該者幾個的語句給大家寫出來:
建立資料庫:create database 資料庫名;
建立表:create table 表名(欄位名 欄位型別);
插入資料:insert into 表名(欄位名) values (插入的資料);
刪除資料:delete from 表名 where 條件;。 注:這裡加上條件就是刪除的和條件匹配的記錄,不加條件就是刪除所有
查詢:select 欄位名 from 表名; 注:這裡可以用*代替欄位名,這樣會顯示資料庫裡面的所有內容
好了關於資料庫的知識先了解這些,那麼先建立一個數據,因為我電腦上沒有安裝資料庫管理軟體,這裡咱們就使用命令列來操作資料庫,大家可以自己下載一個自己用的熟練的資料庫操作軟體,這樣更方便操作。
首先登陸資料庫:使用的命令是(mysql -u 使用者名稱 -p) 我使用的root進行登陸的
建立資料庫:(create database student;) 這個命令上面介紹sql語句的時候已經說了大家可以去看下:
執行完了命令顯示 Query ok,1 row affected就說明建立成功
然後需要開啟資料庫:use 資料庫名; 這樣開啟資料庫才可以對資料進行操作
建立表(create table stu(name varchar(5),age varchar(2),gender varchar(5));)
插入資料:(insert into stu(name,age,gender) values ("張三","12","男");)
這樣就成功的插入了一條資料,接下來我們檢視有沒有插入:(select * from stu;)
看,這裡已經顯示了我插入的資料了。
基本的操作資料庫我們會了, 那麼如何使用python來操作資料庫呢?接下來,看我操作。嘿嘿嘿嘿(賤賤的微笑)。
這裡我沒有說如何安裝pymysql哈,上面我給出了網上網友寫的一片關於安裝pymysql的教程,很仔細大家可以看看:
1 # -*- coding:UTF-8 -*- 2 3 # Author:Carr 4 # Project_Name:Study 5 # @Time:2018/11/10 下午4:30 6 # IDE:PyCharm 7 8 #匯入操作資料庫的API 9 import pymysql 10 11 ''' 12 自定義函式 13 _host mysql資料庫的地址 14 _username 資料庫使用者名稱 15 _pwd 資料庫密碼 16 _db 資料庫名 17 _charset 資料庫字符集 18 _port 連線資料庫埠 19 ''' 20 def connectDatabase(_host,_username,_pwd,_db,_charset,_port = 3306): 21 #pymysql連線資料的方法,需要的引數mysql資料庫的地址、資料庫使用者名稱、資料庫密碼、資料庫名、資料庫字符集、連線資料庫埠 22 conn = pymysql.connect(host = _host,user = _username,password = _pwd,db = _db,port = _port,charset = _charset) 23 #返回連線資料庫返回值 24 return conn 25 26 conn = connectDatabase('localhost','root','admin123','student','utf8') 27 28 conn.close()連線資料程式碼
操作資料庫,使用python插入資料:
1 #這裡拿到資料庫的遊標,因為下面對資料庫操作都需要這個遊標 2 cursor = conn.cursor() 3 4 #編寫一個插入資料的sql語句 5 sql = 'insert into stu(name,age,gender) values ("尼古拉斯","22","男");' 6 #執行sql語句,因為我的資料庫裡使用的utf8的編碼集,所以這裡需要編碼到utf8,這是方式插入資料出現未知的錯誤 7 cursor.execute(sql.encode('utf8')) 8 #提交操作,如果這裡沒有提交,是不會寫入到資料庫的 9 conn.commit()資料庫插入資料
執行程式後,這裡沒有出現紅色的錯誤文字就說明執行成功,接下里看下資料庫是否有了新的資料:(select * from stu;)
看這裡出現了我剛剛插入的資料,
這裡重要說下是關於python對於資料庫查詢的方法,因為查詢這一塊相對於其他的插入刪除來說有點難度,但是你跟著我的教程走還是挺好理解的:
在此之前我參考了下其他網友寫的文章,也進行了幾種查詢方式的比較,對於大資料量下咱們使用遊標fetchmany方法,因為這種方式在大資料量下查詢耗時比較短,那咱們就說下如何使用fetchmany遊標查詢資料庫:
先貼程式碼:
1 # -*- coding:UTF-8 -*- 2 3 # Author:Carr 4 # Project_Name:Study 5 # @Time:2018/11/10 下午4:30 6 # IDE:PyCharm 7 8 #匯入操作資料庫的API 9 import pymysql 10 11 ''' 12 自定義函式 13 _host mysql資料庫的地址 14 _username 資料庫使用者名稱 15 _pwd 資料庫密碼 16 _db 資料庫名 17 _charset 資料庫字符集 18 _port 連線資料庫埠 19 ''' 20 def connectDatabase(_host,_username,_pwd,_db,_charset,_port = 3306): 21 #pymysql連線資料的方法,需要的引數mysql資料庫的地址、資料庫使用者名稱、資料庫密碼、資料庫名、資料庫字符集、連線資料庫埠 22 conn = pymysql.connect(host = _host,user = _username,password = _pwd,db = _db,port = _port,charset = _charset) 23 #返回連線資料庫返回值 24 return conn 25 26 conn = connectDatabase('localhost','root','admin123','student','utf8') 27 #這裡拿到資料庫的遊標,因為下面對資料庫操作都需要這個遊標 28 cursor = conn.cursor() 29 30 #編寫一個查詢資料的sql語句 31 sql = 'select * from stu;' 32 yus = [] 33 #執行sql 34 cursor.execute(sql) 35 #死迴圈查詢資料,當沒有獲取到資料的時候跳出迴圈 36 while True: 37 data = cursor.fetchmany(1) 38 #列印獲取到的資料 39 print(data) 40 yus.append(data) 41 if not data: 42 break 43 44 #提交操作,如果這裡沒有提交,是不會寫入到資料庫的 45 conn.commit() 46 47 #每次進行一次開啟的操作,都需要關閉 48 cursor.close() 49 conn.close()查詢程式碼
這種查詢方式是使用者指定的,每次查詢多少條資料,這裡我使用的是每次查詢一條資料,死迴圈查詢,當查詢不到資料時跳出迴圈,
這樣就查詢出來了: 沒有辦法截圖全部 只能擷取部分圖片
大家看完教程後,自己在電腦上練習一下,還是很快就能學會的。
如果部落格有錯誤請大家在下面評論出來,
不懂的地方是在下方評論哦!!!