简介
PyMysql是python用于操作数据库的模块
方法
pymysql.connect(host="",user="",password="",database="")
参数:
host:string,主机地址
user:string,用户账户
password:string,用户密码
database:string,数据库名
返回值:db
返回值意义:mysql对象,用于提交sql语句和获取游标对象
作用:连接mysql,获取数据库对象
db.cursor()
参数:无
返回值:cursor
返回值意义:游标
作用:获取游标对象,用于执行sql语句
db.commit()
参数:无
返回值:无
返回值意义:无
作用:提交sql语句执行。增删改需要commit()
db.rollback()
参数:无
返回值:无
返回值意义:无
作用:回滚sql语句。用于try:except:
cursor.execute(sql="")
参数:
sql:sql语句
返回值:无
返回值意义:无
作用:执行sql语句
cursor.fetchall(sql="")
参数:
sql:sql查询语句
返回值:result:结果行
返回值意义:获取包含所有值的结果行
作用;获取包含所有值的结果行
cursor.fetchone(sql="")
参数:
sql:sql查询语句
返回值:result:结果对象
返回值意义:获取第一行结果对象
作用:获取第一行结果对象
使用
# 获取数据库连接 def conn(): db = pymysql.connect(host="127.0.0.1",user="root",password="root",database="pymysql") return db # 创建图书表 def createBookTable(db): cursor = db.cursor() sql = "create table book (id int(11) primary key auto_increment,bookname varchar(255),bookprice int(11))" cursor.execute(sql) # 图书表插入数据 def insertBookTable(db): cursor = db.cursor() sql = "insert into book (bookname,bookprice) values ('%s',%d)" % ('三国演义',29) try: cursor.execute(sql) db.commit() except: db.rollback() def main(): db = conn() createBookTable(db) insertBookTable(db) if __name__ == '__main__': main()
# SQL 查询语句 sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > %s" % (1000) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印结果 print ("fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \ (fname, lname, age, sex, income )) except: print ("Error: unable to fetch data")