日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Python基础44(PyMySQL模块)

發布時間:2023/12/10 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础44(PyMySQL模块) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyMySQL安裝方法

pip install pymysql

連接數據庫

注意事項

在進行本文以下內容之前需要注意:

  • 你有一個MySQL數據庫,并且已經啟動。
  • 你有可以連接該數據庫的用戶名和密碼
  • 你有一個有權限操作的database

基本使用

# 導入pymysql模塊import pymysql# 鏈接庫(database) conn = pymysql.connect(host="127.0.0.1", # host后面填寫需要鏈接的數據庫地址user="root", # 用戶名password="123456", # 密碼database="human", # 數據庫名charset="utf8" # 編碼方式 )# 得到一個可以執行的SQL語句的光標 cursor = conn.cursor()# 定義要執行的SQL語句 sql = 'select * from info;'# 執行SQL語句 cursor.execute(sql)# 關閉光標對象 cursor.close()# 關閉數據庫連接 conn.close()

返回字典格式的數據

import pymysqlconn = pymysql.connect(host="127.0.0.1",user="root",password="123456",database="human",charset="utf8" )# 得到一個可以執行SQL語句并且將結果作為字典返回的游標 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)sql = 'select name from class;'# 執行sql語句 cursor.execute(sql)# 返回查詢到的所有數據 ret = cursor.fetchall()# 返回查詢到的指定條數數據 # ret = cursor.fetchmany(5)print(ret)# 關閉鏈接 cursor.close() conn.close()

注意:

charset=“utf8”,編碼不要寫成"utf-8"

增刪改查操作

import pymysqlconn = pymysql.connect(host="127.0.0.1",user="root",password="123456",database="human",charset="utf8" )cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 注意此處傳值全部使用%s做占位符即可 sql = "insert into class(name, age, sex, salary) VALUES(%s,%s,%s,%s)" name = 'abcd' age = '33' sex = '' salary = '120.02'# 執行sql語句 cursor.execute(sql, [name, age, sex, salary])# 提交事務 conn.commit()cursor.close() conn.close()

插入數據失敗回滾

import pymysql conn = pymysql.connect(host="127.0.0.1",user="root",password="123456",database="human",charset="utf8" )cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)sql = "INSERT into class(name, age, sex, salary) values(%s,%s,%s,%s);"name = "ss" age = "22" sex = "男22" salary="1234.2" try:cursor.execute(sql, [name, age, sex, salary])# 提交事務 conn.commit() except Exception:print('出錯')# 有異常回滾事務 conn.rollback()cursor.close() conn.close()

獲取插入數據的ID(關聯操作時會用到)

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);" username = "Alex" age = 18 try:# 執行SQL語句 cursor.execute(sql, [username, age])# 提交事務 conn.commit()# 提交之后,獲取剛插入的數據的IDlast_id = cursor.lastrowid except Exception as e:# 有異常,回滾事務 conn.rollback() cursor.close() conn.close()

批量執行

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);" data = [("Alex", 18), ("Egon", 20), ("Yuan", 21)] try:# 批量執行多條插入SQL語句 cursor.executemany(sql, data)# 提交事務 conn.commit() except Exception as e:# 有異常,回滾事務 conn.rollback() cursor.close() conn.close()

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() sql = "DELETE FROM USER1 WHERE id=%s;" try:cursor.execute(sql, [4])# 提交事務 conn.commit() except Exception as e:# 有異常,回滾事務 conn.rollback() cursor.close() conn.close()

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() # 修改數據的SQL語句 sql = "UPDATE USER1 SET age=%s WHERE name=%s;" username = "Alex" age = 80 try:# 執行SQL語句 cursor.execute(sql, [age, username])# 提交事務 conn.commit() except Exception as e:# 有異常,回滾事務 conn.rollback() cursor.close() conn.close()

查詢單條數據

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() # 查詢數據的SQL語句 sql = "SELECT id,name,age from USER1 WHERE id=1;" # 執行SQL語句 cursor.execute(sql) # 獲取單條查詢數據 ret = cursor.fetchone() cursor.close() conn.close() # 打印下查詢結果 print(ret)

查詢多條數據

# 導入pymysql模塊 import pymysql # 連接database conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”) # 得到一個可以執行SQL語句的光標對象 cursor = conn.cursor() # 查詢數據的SQL語句 sql = "SELECT id,name,age from USER1;" # 執行SQL語句 cursor.execute(sql) # 獲取多條查詢數據 ret = cursor.fetchall() cursor.close() conn.close() # 打印下查詢結果 print(ret)

進階用法

# 可以獲取指定數量的數據 cursor.fetchmany(3) # 光標按絕對位置移動1 cursor.scroll(1, mode="absolute") # 光標按照相對位置(當前位置)向后移動1 cursor.scroll(1, mode="relative") # 光標按照相對位置(當前位置)向前移動1 cursor.scroll(-1, mode="relative")

轉載于:https://www.cnblogs.com/L5251/articles/8617440.html

總結

以上是生活随笔為你收集整理的Python基础44(PyMySQL模块)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。