mysql與python的互動
阿新 • • 發佈:2018-12-16
1. 建立一個data.sql檔案,即mysql資料庫檔案:
set names utf8; #設立程式碼內容為utf8格式。 drop database if exists boke #如果boke資料庫存在就刪除。 create database boke charset=utf8 #建立一個utf8格式的資料庫boke。 use boke; #進入boke資料庫. create table b_user( #建立一個b_user表 id int primary key, #主鍵,自增長。 uname varchar(32) not null default '', #非空,預設值''. tel varchar(11) nuique not null default "", #唯一,非空,預設值''。 class enum("1班","2班") not null , foreign key (class) refereces b_shary(s_id) #外來鍵約束,關聯b_shary表的s_id列。 ) insert into b_user VALUES(null,"Ace","1111111111","1班");
2. python操作mysql資料庫步驟:
#步驟1:先安裝pymysql,然後在import 匯入模組pymysql在.py檔案中。 import pymysql #步驟2:建立一個Connection連線。 conn=connect(host="localhost",port=3306,user="root",password="mysql",database="boke",charset="utf8") #步驟3:獲取cursor物件。 cs1=conn.cursor() #步驟4:執行sql語句,增刪改查資料庫,並接收返回的結果result。 result=cs1.excute("select * from b_user where id>1") #步驟5:對sql語句的返回結果進行操作處理。 print("查詢結果%s"%result) #步驟6:關閉cursor物件。 cs1.close() #步驟7:關閉connection連線。 conn.close()
3. python操作mysql資料庫具體案例:
import pymysql class BOKE(object): def __init__(self): #建立一個connection連線 self.conn=connect(host="localhost",port=3306,user="root",password="mysql", database="boke",charset="utf8") #獲取cursor物件 self.cs1=self.conn.cursor() #BOKE物件例項銷燬時,關閉cursor物件和connection連線 def __del__(self): self.cs1.close() self.conn.close() #執行sql語句函式 def sql_handle(self,sql): self.cs1.execute(sql) for tem in self.cs1.fetchall(): print(tem) def select1_sql(self): sql="select * from b_user where name=%s" print(self.sql_handle(sql,["Ace"])) #通過列表儲存%s代表的值,防止SQL注入 def select2_sql(self): sql="""select * from b_user where name="Ace" """ print(self.sql_handle(sql)) def print_handle(self): print("請選擇") print("1:查詢使用者姓名") print("2.查詢使用者電話") return input(">>>輸入對應序號:") def run(self): while True: num=print_handle() if num =='1': self.select1_sql() elif num=="2": self.select2_sql() else: print("輸入有誤!") def main(): boke=BOKE() boke.run() if __name__ =="__main__": main()