一、 連接數據庫
1、下載安裝pymyql庫
pip install pymysql
2、導入庫
import pymysql
3、連接數據庫,最好用try except捕獲異常
try:
db = pymysql.connect(host="localhost", user="root", password="****", database="test")
print('數據庫連接成功!')
except pymysql.Error as e:
print('數據庫連接失敗'+str(e))
二、創建一張新表
1、聲明一個游標
cur = db.cursor()
2、創建表之前先檢查是否存在,如果存在則刪除
cur.execute('DROP TABLE IF EXISTS Student')
3、編輯sql語句
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )" cur.execute(sqlQuery)
三、向表中插入一條數據
1、編輯sql語句
sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
2、編輯准備插入的值
value=('Mike','123456@163.com',20)
3、執行sql語句
try:
cur.execute(sqlQuery,value)
db.commit()
print('數據插入成功!')
except pymysql.Error as e:
print("數據插入失敗:"+e )
db.rollback()
四、查詢表中的數據
1、編輯sql語句
sqlQuery = "SELECT * FROM Student"
2、使用fetchall()方法接收全部的返回結果行
try:
cur.execute(sqlQuery)
results=cur.fetchall()
for row in results:
name=row[0]
email=row[1]
age=row[2]
print('Name:%s,Email:%s,Age:%s'%(name,email,age))
except pymysql.Error as e:
print("數據查詢失敗:"+str(e))
五、更新表中的數據
1、編輯sql語句
sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"
2、編輯更新的信息
value = ('John', 'updated name')
3、提交修改
try:
cur.execute(sqlQuery, value)
db.commit()
print('數據更新成功!')
except pymysql.Error as e:
print("數據更新失敗:"+str(e))
# 發生錯誤時回滾
db.rollback()
六、刪除表中的數據
1、編輯sql語句
sqlQuery = "DELETE FROM Student where Name=%s"
2、編輯更新的信息
value = ('John')
3、提交修改
try:
cur.execute(sqlQuery, value)
db.commit()
print('Date Deleted Successfully')
except pymysql.Error as e:
print("數據刪除失敗:"+str(e))
# 發生錯誤時回滾
db.rollback()
七、刪除一張表
1、編輯sql語句
sqlQuery='DROP TABLE IF EXISTS Student'
2、提交修改
cur.execute(sqlQuery)
print('表刪除成功!')
完整demo:
import pymysql
# https://blog.csdn.net/qq_39598271/article/details/112610382
# Python3.8問題
try:
db = pymysql.connect(host="localhost", user="root", password="*****", database="test")
print('數據庫連接成功!')
# 創建一張表
cur = db.cursor()
# cur.execute('DROP TABLE IF EXISTS Student')
# sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
# cur.execute(sqlQuery)
# 向表中插入數據
# cur = db.cursor()
# sqlQuery = " INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
# value = ('Mike', '123456@163.com', 20)
# try:
# cur.execute(sqlQuery, value)
# db.commit()
# print('數據插入成功!')
# except pymysql.Error as e:
# print("數據插入失敗:" + e)
# db.rollback()
# 查詢表中數據
# cur = db.cursor()
# sqlQuery = "SELECT * FROM Student"
# try:
# cur.execute(sqlQuery)
# results = cur.fetchall()
# for row in results:
# name = row[0]
# email = row[1]
# age = row[2]
# print('Name:%s,Email:%s,Age:%s' % (name, email, age))
# except pymysql.Error as e:
# print("數據查詢失敗:" + str(e))
# 更新表中數據
# cur = db.cursor()
# sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"
# value = ('John', 'updated name')
# try:
# cur.execute(sqlQuery, value)
# db.commit()
# print('數據更新成功!')
# except pymysql.Error as e:
# print("數據更新失敗:" + str(e))
# # 發生錯誤時回滾
# db.rollback()
# 刪除表中數據
# cur = db.cursor()
# sqlQuery = "DELETE FROM Student where Name=%s"
# value = ('John')
# try:
# cur.execute(sqlQuery, value)
# db.commit()
# print('Date Deleted Successfully')
# except pymysql.Error as e:
# print("數據刪除失敗:" + str(e))
# # 發生錯誤時回滾
# db.rollback()
# 刪除一張表
cur = db.cursor()
sqlQuery = 'DROP TABLE IF EXISTS Student'
cur.execute(sqlQuery)
print('表刪除成功!')
except pymysql.Error as e:
print('數據庫連接失敗'+str(e))

