# Python操作MySQL
# 第一步 pip install mysql-connector
# -*- coding: UTF-8 -*-
import pymysql
db=pymysql.connect(host="localhost",
user="root",# 用户名
password="******", # 密码
db="sqlfirst", #链接数据库的名
port=3306 # 端口
)
# Create your views here.
cur=db.cursor()
# 插入新球员
'''
sql="INSERT INTO player (team_id,player_name,height) values (%s,%s,%s)"
val=(1003, " 约翰 - 科林斯 ", 2.08)
cur.execute(sql,val)
db.commit()
print(cur.rowcount,"记录插入成功。")
'''
# 查询身高大于等于 2.08 的球员
'''
sql='SELECT player_id,player_name,height FROM player where height>=2.08'
cur.execute(sql)
data=cur.fetchall()
for each_player in data:
print(each_player)
'''
# 修改球员约翰 - 科林斯
'''
sql='UPDATE player SET height=%s where player_name=%s'
val=(2.09,"约翰 - 科林斯")
cur.execute(sql,val)
db.commit()
print(cur.rowcount,"记录被修改。")
'''
# 删除约翰·科林斯
'''
sql='DELETE FROM player WHERE player_name=%s'
val=("约翰 - 科林斯",)
cur.execute(sql,val)
db.commit()
print(cur.rowcount,"记录删除成功。")
# 都执行完了关闭游标和数据库的连接
cur.close()
db.close()
'''
'''
针对上面的操作过程,你可以模拟下数据的 CRUD 操作,但有几点你需要注意。
1. 打开数据库连接以后,如果不再使用,则需要关闭数据库连接,以免造成资源浪费。
2. 在对数据进行增加、删除和修改的时候,可能会出现异常,这时就需要用try...except捕获异常信息。比如针对插入球员约翰·科林斯这个操作,你可以写成下面这样:
'''
import traceback
try:
sql = 'UPDATE player SET height=%s where player_name=%s'
val = (2.09, "约翰 - 科林斯")
cur.execute(sql, val)
db.commit()
print(cur.rowcount, "记录被修改。")
except Exception as e:
# 打印异常信息
traceback.print_exc()
# 回滚
db.rollback()
finally:
# 关闭数据库连接
db.close()