python運算元據庫流程
引入模組
建連線(建立和資料庫連線)
執行sql語句
非查詢:增加,刪,修改
查詢:select
處理結果
釋放資源
關連線關游標! 驅動介紹 python操作mysql驅動/第三方模組: mysqldb pymysql pymysql: 支援2.x 支援3.x mysqldb: 只支援3.x #安裝模組 pip install pymysql
增刪改sql python實現非查詢
非查詢:步驟一樣的!
區別: sql語句不同, 引數個數不同! # 增加 insert into 表名(列1,列2,....) values(值1,值2,...) # 刪除 delete from 表名 ; # 刪除表中所有資料! delete from 表名 where 條件; # 修改 update 表名 set 列1=值1,列2=值2,....; #不加條件,修改所有列!~ update 表名 set 列1=值1,列2=值2,....where 條件; select * from students where *** ='男'; insert into students(name,***,age,birthday,phone,addr) values('劉帥','女',20,now(),'17600950805','山西') ; update students set ***='男' where name ='劉帥' delete from students where name ='劉曬' def my_execute(sql,params): '''非查詢通用功能! sql語句, 引數列表''' # 2.連線
conn = pymysql.connect(host='39.98.39.173',port=13306,user='root',passwd='root',db='1909c2',c harset='utf8') print(conn) # 3. 獲取游標 cur = conn.cursor() # 4. 執行sql num = cur.execute(sql,params) #print(f'影響行數:') conn.commit() # 必須手動提交到資料庫! # 5. 釋放資源 cur.close() conn.close() # 返回影響行數! return num if name == 'main': # 通用 sql ='insert into students(name,***,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' params=('王五','女',39,'2020-11-03','17600950805','山西') if my_execute(sql,params)>0: print('資料庫操作成功!') else:print('資料庫操作失敗!')
引數如何傳遞
sql ='insert into students(name,***,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' # 格式:一行資料就是乙個元組! params=('王五','女',39,'2020-11-03','17600950805','山西') num = cur.execute(sql,params)
批量執行非查詢
sql ='insert into students(name,***,age,birthday,phone,addr) values(%s,%s,%s,%s,%s,%s)' # 格式:一行資料就是乙個元組! params=[('王五1','女',39,'2020-11-03','17600950805','山西'),('王五2','女',39,'2020-11- 03','17600950805','山西')] num = cur.executemany(sql,params) # 結果大於1的
核心物件
連線物件: conn= pymysql.connect(host='ip位址',port=13306,user='使用者名稱',passwd='密 碼',db='資料庫名',charset='utf) conn.close() #關閉
cur= conn.cursor() 建立游標
游標 cursor 運算元據庫依靠游標!
num = cur.execute(sql,引數) 執行非查詢,返回影響的行數! num=cur.executemangy(sql,[(),(),..]) 批量執行非查詢,返回影響行數! cur.close() cur.fetchone() 抓取1條,,返回元組或none cur.fetchall() 抓取所有
cur.fetchmany(大小) 指定抓取大小
cur.next() 游標下移!
查詢任務
增加刪改
查所有根據名字查
import pymysql def get_one(): # 1. 連線 conn = pymysql.connect(host='39.98.39.173', port=13306, user='root', passwd='root', db='1909c2', charset='utf8') # 2. 開啟游標 cur = conn.cursor() # 3. 執行 sql ='select * from students where *** = %s' cur.execute(sql,('女')) #result = cur.fetchone() # 返回乙個元組() 預設找第1個! result = cur.fetchall() # 返回多個元祖 ((),(),(),...) print(result)
for stu in result: print(f'id:,名字:') # 4.關閉資源 cur.close() conn.close() if name == 'main': get_one()
pymsql模組操作MySQL資料庫
表結構 使用者 user 表 使用者id user id 使用者名稱 user name 密碼 password 訂單 orders 表 訂單編號 order id 下單時間 order time 支付 金 額 payment 使用者id uid user import pymysql conn p...
自己封裝的Mysql資料庫操作模組
注 這裡是基於nodejs進行的mysql模組操作 在nodejs目錄下建立乙個名為 js檔案 模組 如下 function usemysql myhost,myuser,mypassword,mydatabase return arr1 function forarr2value arr2 ret...
mysql資料庫核對 Mysql資料庫操作總結
1 部署資料庫服務 mariadb yum install y mariadb 運算元據庫命令 mariadb server 啟動資料庫服務 systemctl startmariadb 建立資料庫 create database 資料庫名 建立好資料庫之後可以檢視資料庫是否建立 show data...