import pymysql
db = pymysql.connect(host="localhost", user="root", password="123456", db="tiku", port=3306)
cur = db.cursor()
question ='下列选项中,不属于Python特点的是'
A ='面向对象'
B ='运行效率高'
C ='可读性好'
D ='开源'id=2# 方法1
sql_insert ="insert into user(id,username,password) values(4,'liu','1234')"# 方法2
sql_insert ="insert into python_question(question, A, B, C, D, id) values ('%s', '%s', '%s', '%s', '%s', %d)"%(question, A, B, C, D,id)try:# 第三种方法# cur.execute(sql % ("python",3)) #像sql语句传递参数
cur.execute(sql_insert)# 提交'
db.commit()except Exception as e:# 错误回滚
db.rollback()finally:
db.close()
删除
import pymysql
db = pymysql.connect(host="localhost", user="root",password="123456", db="tiku", port=3306)
cur = db.cursor()
sql_delete ="delete from python_question where id = 2"try:
cur.execute(sql_delete)
db.commit()except Exception as e:
db.rollback()finally:
db.close()
修改/更新
import pymysql
db = pymysql.connect(host="localhost", user="root", password="123456", db="tiku", port=3306)
cur = db.cursor()
sql_update ="update python_question set A = 1 where id = 2"try:
cur.execute(sql_update)
db.commit()except Exception as e:
db.rollback()finally:
db.close()
查询
import pymysql
db = pymysql.connect(host="localhost", user="root", password="123456", db="tiku", port=3306)
cur = db.cursor()
sql ="select * from python_question"try:
cur.execute(sql)
results = cur.fetchall()# 打印数据"""
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
"""for row in results:
question = row[0]
A = row[1]
B = row[2]
C = row[3]
D = row[4]print(question, A, B, C, D)except Exception as e:raise e
finally:
db.close()# 关闭连接