4、pymysql使用流程
1、数据库连接对象 :db = pymysql.connect(...)
2、游标对象 :cur = db.cursor()
3、执行命令 :cur.execute(‘sql命令’)
4、提交 :db.commit()
5、关闭游标 :cur.close()
6、关闭数据库连接 :db.close()
5、数据库连接对象(db)方法
1、db.commit() :提交到数据库执行
2、db.rollback() :回滚
3、db.close() :断开与数据库连接
4、db.cursor() :创建游标对象
6、游标对象(cur)方法
1、cur.execute(sql命令) :执行sql命令
2、cur.close() :关闭游标对象
3、cur.fetchone() :取第1条(查询)
4、cur.fetchmany(n) :取n条(查询)
5、cur.fetchall() :取所有记录(查询)
cur.nextset(self):移动到下一个结果集
cur.scroll(self, value, mode=’relative’):移动指针到某一行.
如果mode=’relative’,则表示从当前所在行移动value条,
如果mode=’absolute’,则表示从结果集的第一 行移动value条.
>>> cur.scroll(5,mode='absolute')
>>> cur.scroll(-3,mode='relative') #负数向后
>>> cur.fetchone()
(4, ' i am rollen')
>>> cur.fetchone()
(5, 'hi rollen5')
>>> cur.fetchone()
(6, 'hi rollen6')
>>> cur.fetchone()
(7, 'hi rollen7')
>>> cur.fetchone()
(8, 'hi rollen8')
# 每次查询,游标都有移动。
conn=MySQLdb.connect(host='localhost',user='root',passwd='root',port=3306)
cur=conn.cursor()
conn.select_db('python') #选择数据库
count=cur.execute('select * from test')
print 'there has %s rows record' % count
result=cur.fetchone()
print result
print 'ID: %s info %s' % result
results=cur.fetchmany(5) #此时游标仍然在首位。# 这时的游标是 基于上次的count=cur.execute('select * from test')的查询结果的。
for r in results:
print r
print '=='*10
cur.scroll(0,mode='absolute')
results=cur.fetchall()
for r in results:
print r[1]
cur.execute('create database if not exists python')
cur.execute('create table test(id int,info varchar(20))')
value=[1,'hi rollen']
cur.execute('insert into test values(%s,%s)',value)
values=[]
for i in range(20):
values.append((i,'hi rollen'+str(i)))
cur.executemany('insert into test values(%s,%s)',values) #多个插入
7、connect()连接对象的参数
1、host :主机地址
2、user :用户名
3、password :密码
4、database :库名
5、charset :字符集(推荐utf8)
6、port :端口号(3306)
上一篇:ORM
下一篇:MySQL 及 SQL 注入