4、pymysql使用流程

  1. 1、数据库连接对象 db = pymysql.connect(...)


2、游标对象 :cur = db.cursor()
3、执行命令 :cur.execute(‘sql命令’)
4、提交 :db.commit()
5、关闭游标 :cur.close()
6、关闭数据库连接 :db.close()

5、数据库连接对象(db)方法

  1. 1db.commit() :提交到数据库执行


2、db.rollback() :回滚
3、db.close() :断开与数据库连接
4、db.cursor() :创建游标对象

6、游标对象(cur)方法

  1. 1cur.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条.

  1. >>> cur.scroll(5,mode='absolute')
  2. >>> cur.scroll(-3,mode='relative') #负数向后
  3. >>> cur.fetchone()
  4. (4, ' i am rollen')
  5. >>> cur.fetchone()
  6. (5, 'hi rollen5')
  7. >>> cur.fetchone()
  8. (6, 'hi rollen6')
  9. >>> cur.fetchone()
  10. (7, 'hi rollen7')
  11. >>> cur.fetchone()
  12. (8, 'hi rollen8')
  13. # 每次查询,游标都有移动。
  1. conn=MySQLdb.connect(host='localhost',user='root',passwd='root',port=3306)
  2. cur=conn.cursor()
  3. conn.select_db('python') #选择数据库
  4. count=cur.execute('select * from test')
  5. print 'there has %s rows record' % count
  6. result=cur.fetchone()
  7. print result
  8. print 'ID: %s info %s' % result
  9. results=cur.fetchmany(5) #此时游标仍然在首位。# 这时的游标是 基于上次的count=cur.execute('select * from test')的查询结果的。
  10. for r in results:
  11. print r
  12. print '=='*10
  13. cur.scroll(0,mode='absolute')
  14. results=cur.fetchall()
  15. for r in results:
  16. print r[1]
  1. cur.execute('create database if not exists python')
  2. cur.execute('create table test(id int,info varchar(20))')
  3. value=[1,'hi rollen']
  4. cur.execute('insert into test values(%s,%s)',value)
  5. values=[]
  6. for i in range(20):
  7. values.append((i,'hi rollen'+str(i)))
  8. cur.executemany('insert into test values(%s,%s)',values) #多个插入

7、connect()连接对象的参数

  1. 1host :主机地址


2、user :用户名
3、password :密码
4、database :库名
5、charset :字符集(推荐utf8)
6、port :端口号(3306)