一、pymysql的相關參數及方法
1.pymysql.connect()參數說明:(連接數據庫時需要添加的參數)
| 參數 | 類型 | 描述 |
|---|---|---|
| host | str | MySQL服務器地址,IP地址或域名 |
| port | int | MySQL服務器端口號 |
| user | str | 用戶名 |
| passwd | str | 密碼 |
| db | str | 數據庫名稱 |
| charset | str | 連接編碼 |
2.connect()對象支持的方法
| 方法 | 描述 |
|---|---|
| cursor() | 使用該連接創建並返回游標 |
| commit() | 提交當前事務 |
| rollback() | 回滾當前事務 |
| close() | 關閉連接 |
3.cursor()支持的方法
excute():執行一個數據庫的查詢命令
excutemany():重復執行一個sql命令
fetchall():接收全部的返回結果
fetchone():接收一條結果
fetchmany():獲取size行結果
rowcount():返回數據條數
close():關閉游標對象
二、案例
1 import pymysql 2 3 config={ 4 'host':'127.0.0.1', 5 'port':3306, 6 'user':'root', 7 'passwd':'root', 8 } 9 10 #連接數據庫 11 conn=pymysql.connect(**config) 12 conn.autocommit(1) 13 14 #獲取游標對象 15 cursor=conn.cursor() 16 17 try: 18 #創建數據庫 19 DB_NAME='test1' 20 cursor.execute('drop database if exists %s' %DB_NAME) 21 cursor.execute('create database if not exists %s'%DB_NAME) 22 conn.select_db(DB_NAME) 23 24 #創建表 25 TABLE_NAME='user' 26 cursor.execute('create table %s(id int primary key,name varchar(30))'%TABLE_NAME) 27 28 #批量插入數據 29 values=[] 30 for i in range(20): 31 values.append((i,"kk"+str(i))) 32 cursor.executemany('insert into user values(%s,%s)',values) 33 34 #查詢數據條目 35 count=cursor.execute('select * from %s'%TABLE_NAME) 36 print('total records:',cursor.rowcount) 37 38 #獲取表名信息 39 desc=cursor.description 40 print("%s,%3s"%(desc[0][0],desc[1][0])) 41 cursor.scroll(10,mode='absolute') 42 results=cursor.fetchall() 43 print("test") 44 for result in results: 45 print(result) 46 47 except: 48 import traceback 49 traceback.print_exc() 50 conn.rollback() 51 finally: 52 cursor.close()
