mysql網路資料庫操作模組 mysql資料庫操作

2021-10-18 23:48:27 字數 2757 閱讀 9547

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...