import pymysql
# python操作mysql 步骤:
# 1, 建立数据库连接
# 2, 创建游标对象
# 3, 使用游标对象的方法操作数据库
# 4, 提交commit
# 5, 关闭游标对象
# 6, 关闭数据库连接
try:
#创建db连接对象
db = pymysql.connect("192.168.10.16","wang","123456","wang",charset = "utf8")
#创建游标对象
cursor = db.cursor()
#cursor.execute("create database wang;")
#如果连接的时候未指定库名,则必须use db
cursor.execute("use wang;")
#执行语句
# sql_create = "create table t3(id int auto_increment, name varchar(30) default '', age int default 0, score int default 0,primary key(id))engine = innodb;"
# cursor.execute(sql_create)
sql_insert = "insert into t3(name,age,score) values('llj',20,100),('wanghuan',18,99);"
cursor.execute(sql_insert)
#查询语句
sql_query = "select * from wang.t3 limit 5;"
#执行查询语句;执行后,结果集保存在cursor中
cursor.execute(sql_query)
# 将结果集赋值给变量,并打印
data = cursor.fetchall()
print("查询结果集为:")
for I in data:
print(I)
#事物操作,必须要提交,也可以rollback()
db.commit()
finally:
#关闭连接
cursor.close()
db.close()
(标准插入范例)对插入操作的注意:
import pymysql
host = "192.168.10.16"
user = "wang"
password = "123456"
dbname = "wang"
ch = "utf8"
db = pymysql.connect(host, user, password, dbname, charset = ch)
cur = db.cursor()
try:
sql_update_1 = "update t3 set age = age + 1 where name = 'llj';"
sql_update_2 = "update t3 set age = age + 2 where name = 'wanghuan';"
cur.execute(sql_update_1)
cur.execute(sql_update_2)
db.commit()
print("execute successfully;")
except Exception as e:
db.rollback()
print("execute failed, command has been rollback")
cur.close()
db.close()