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

歡迎訪問 生活随笔!

生活随笔

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

数据库

python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用

發布時間:2025/3/11 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3連接MySQL

本文介紹Python3連接MySQL的第三方庫--PyMySQL的基本使用。

PyMySQL介紹

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫,Python2中則使用mysqldb。

Django中也可以使用PyMySQL連接MySQL數據庫。

PyMySQL安裝pip?install?pymysql

連接數據庫

注意事項

在進行本文以下內容之前需要注意:你有一個MySQL數據庫,并且已經啟動。

你有可以連接該數據庫的用戶名和密碼

你有一個有權限操作的database

基本使用#?導入pymysql模塊

import?pymysql

#?連接database

conn?=?pymysql.connect(host=“你的數據庫地址”,?user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)

#?得到一個可以執行SQL語句的光標對象

cursor?=?conn.cursor()

#?定義要執行的SQL語句

sql?=?"""

CREATE?TABLE?USER1?(

id?INT?auto_increment?PRIMARY?KEY?,

name?CHAR(10)?NOT?NULL?UNIQUE,

age?TINYINT?NOT?NULL

)ENGINE=innodb?DEFAULT?CHARSET=utf8;

"""

#?執行SQL語句

cursor.execute(sql)

#?關閉光標對象

cursor.close()

#?關閉數據庫連接

conn.close()

返回字典格式數據:#?導入pymysql模塊

import?pymysql

#?連接database

conn?=?pymysql.connect(host=“你的數據庫地址”,?user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)

#?得到一個可以執行SQL語句并且將結果作為字典返回的游標

cursor?=?conn.cursor(cursor=pymysql.cursors.DictCursor)

#?定義要執行的SQL語句

sql?=?"""

CREATE?TABLE?USER1?(

id?INT?auto_increment?PRIMARY?KEY?,

name?CHAR(10)?NOT?NULL?UNIQUE,

age?TINYINT?NOT?NULL

)ENGINE=innodb?DEFAULT?CHARSET=utf8;

"""

#?執行SQL語句

cursor.execute(sql)

#?關閉光標對象

cursor.close()

#?關閉數據庫連接

conn.close()

注意:

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

增刪改查操作

增#?導入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

#?執行SQL語句

cursor.execute(sql,?[username,?age])

#?提交事務

conn.commit()

cursor.close()

conn.close()

插入數據失敗回滾

在執行增刪改操作時,如果不想提交前面的操作,可以使用 rollback() 回滾取消操作。#?導入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()

except?Exception?as?e:

#?有異常,回滾事務

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()

#?提交之后,獲取剛插入的數據的ID

last_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")

總結

以上是生活随笔為你收集整理的python连接mysql用哪个模块_Python连接MySQL数据库之pymysql模块使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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