pymysql介绍——Mysql API

pymysql

python2.x中的mysqldb,官方已经不支持python3.x,取而代之的是:pymysql(pip安装)

一、创建数据库、创建表
#!/usr/bin/env python

import pymysql

# conn = pymysql.connect(host='192.168.1.80', port=3306, user='root', passwd='123456', db='mydb')
conn = pymysql.connect(host='192.168.1.80', port=3306, user='root', passwd='123456', charset='utf8')
cur = conn.cursor() # 获取一个游标对象
cur.execute("CREATE DATABASE mydb") # 创建数据库
cur.execute("use mydb")
cur.execute('CREATE TABLE students (id int not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null ,tel char(13) null default "-" )')    # 创建表
cur.execute('ALTER TABLE students add column nal char(64)') # 插入列

conn.commit() # 向数据库中提交任何未解决的事务,对不支持事务的数据库不进行任何操作

cur.close() # 关闭游标
conn.close()  # 关闭到数据库的连接,释放数据库资源
二、插入、回滚数据
import pymysql

conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')

cur = conn.cursor()

reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('alex','usa'))
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'})

# conn.rollback() # 回滚操作
conn.commit() # 向数据库中提交任何未解决的事务,对不支持事务的数据库不进行任何操作

cur.close()  # 关闭游标
conn.close()  # 关闭到数据库的连接,释放数据库资源

print(reCount)
三、查询数据
import pymysql

conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')

cur = conn.cursor()

reCount = cur.execute('select * from students')
# reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'wupeiqi'})

res = cur.fetchone()  # 取出一条记录
res = cur.fetchall()  # 取出所有记录,并存入元组
res = cur.fetchmany(3)  # 取出3条记录,并存入元组

print(res)

conn.commit() # 向数据库中提交任何未解决的事务,对不支持事务的数据库不进行任何操作

cur.close()  # 关闭游标
conn.close()  # 关闭到数据库的连接,释放数据库资源

print(reCount)
四、批量插入数据
import pymysql

conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')

cur = conn.cursor()

li =[
     ('alex','usa'),
     ('sb','usa'),
]
reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li)

conn.commit()
cur.close()
conn.close()

print(reCount)
posted @ 2016-04-05 19:13  鬼凤  阅读(1154)  评论(0)    收藏  举报