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)
本文来自博客园,作者:鬼凤,转载请注明原文链接:https://www.cnblogs.com/microfan/articles/5487660.html

浙公网安备 33010602011771号