Python之操作MySQL數據庫
阿新 • • 發佈:2018-09-29
端口 all 數據 l數據庫 set 大數 word char tab
一、操作步驟
1、導入pymysql模塊
2、建立連接(ip、用戶名、密碼、數據庫名、端口號、字符集)
3、建立遊標
4、執行sql語句
5、關閉遊標
6、關閉連接
import pymysql host=‘xxx.xxx.xxx.xxx‘ user=‘abc‘ password=‘123456‘ #密碼只能是字符串 db=‘database_name‘ port=3306 #端口號只能寫int類型 charset=‘utf8‘ #只能寫utf8,不能寫utf-8 #建立連接 conn=pymysql.connect(host=host,password=password,user=user,db=db, port=port,charset=charset) #建立遊標 cur=conn.cursor() res=cur.execute(‘show tables;‘) #只是幫你執行sql語句,不會返回執行結果 #print(res) #結果為執行語句的指針序列號 print(cur.fetchall()) #獲取數據庫裏面的所有表,返回的是一個二維數組,一個大數組,裏面是每個表 #關閉遊標 cur.close() #關閉連接 conn.close()
二、執行sql語句
- cur.execute(‘sql語句‘)
cur.execute(‘select * from app_myuser limit 5;‘) #獲取一張表中的所有信息 print(cur.fetchall())
三、返回sql語句執行結果
- print(cur.fetchall())
- print(cur.fetchone())
print(cur.fetchall()) print(cur.fetchone()) #返回結果為空,因為上面已經執行到最後了,遊標到尾了,類似於文件指針 #先註釋掉.fetchall()再運行即可 print(cur.fetchone()) #每次取一行數據
.fetchall()和.fetchone()的區別:
- 在不知道一共多少條的情況下,只能使用.fetchall()
- .fetchall()返回的是二維數組,取字段時不方便
- .fetchone()返回的是一維數組,當結果只有一條時,使用.fetchone()比較方便
Python之操作MySQL數據庫