一、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():关闭游标对象
二、案例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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()