pymysql连接数据库

一、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()
View Code

 

posted @ 2019-01-09 21:06  小草csm  阅读(1965)  评论(1编辑  收藏  举报