欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pymysql實現增刪改查的操作指南(python)

 更新時間:2021年05月14日 09:21:23   作者:客官不愛喝酒  
python中可以使用pymysql來MySQL數據庫的連接,并實現數據庫的各種操作,這篇文章主要給大家介紹了關于pymsql實現增刪改查的相關資料,需要的朋友可以參考下

1.安裝pymysql:pip install pymysql (在命令行窗口中執(zhí)行)

2.卸載pymysql:pip uninstall pymysql (在命令行窗口中執(zhí)行)

數據庫的連接

需要注意的是port是不用引號括起來 charset是utf8不是utf-8

# 獲取數據庫連接對象
connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')
# 獲取一個游標
driver = connection.cursor()
# 執(zhí)行一條sql
driver.execute("select version()")
# 獲取執(zhí)行sql的返回值
resultData=driver.fetchall()
print(resultData)

# 關閉數據庫
connection.close()

創(chuàng)建數據庫表

import pymysql

#獲取數據庫連接對象
connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')
#獲取一個游標
driver=connection.cursor()
# 如果該數據庫存在就刪除
driver.execute("drop table if exists t_emp ")
# 定義sql語句
sql=""" CREATE TABLE `t_emp` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `department` varchar(20) DEFAULT NULL COMMENT '部門',
  `salary` decimal(10,2) DEFAULT NULL COMMENT '工資',
  `age` int(11) DEFAULT NULL COMMENT '年齡',
  `sex` varchar(4) DEFAULT NULL COMMENT '性別',
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    
"""
# 執(zhí)行sql
driver.execute(sql)

# 關閉數據連接
connection.close()

向數據庫中添加數據

1.需要注意的是規(guī)范sql,該寫的字段都寫上,不使用默認對應

2.提交事務的對象是數據庫連接對象,而不是游標對象

3.pycharm連接mysql數據時,如果連接驅動是高版本,需要加上時區(qū),jdbc:mysql://localhost/book?serverTimezone=GMT%2B8

4.如果主鍵是自動遞增,則不能手動指定值,不能寫該字段,讓其自增長

# 獲取數據庫連接對象
connection=pymysql.connect(host='localhost',port=3306,user='root',passwd='2732195202',db='book',charset='utf8')

# 獲取一個游標
driver=connection.cursor()

# 定義sql語句
sql=""" insert into t_emp(name,department,salary,age,sex)
        values("tom","開發(fā)部",8000,25,"男"), ("tom","開發(fā)部",8000,25,"男")
 
 """

# 嘗試捕捉錯誤
try:
    # 執(zhí)行SQL,并返回收影響行數
    result=driver.execute(sql)
    # 提交事務
    connection.commit()
    print("sql(insert)->error")
except:
    # 如果發(fā)生錯誤 則回滾事務
    print("sql(insert)->error")
    driver.rollback()
# 關閉數據庫連接
connection.close()


修改表中的數據

注意點:在操作數據庫之前,需要確認是否獲取連接數據庫成功,并且選中了數庫

2.卸載第三方庫:pip uninstall pymysql

#獲取數據庫連接對象 autocommit=True:設置數據庫自動提交
connection=pymysql.connect(host="localhost",port=3306,user='root',passwd='2732195202',db='book',charset='utf8',autocommit=True)
# 獲取游標對象
driver=connection.cursor()
# 定義sql
sql="update t_emp set salary=%s,name=%s where id=%s;"
# 如果sql錯誤就執(zhí)行回滾操作,成功就提交
try:
    # 執(zhí)行sql,并且返回影響的行數
    result=driver.execute(sql,[6000,"admin",19])
    connection.commit()
    print("sql(update)->success")
except:
    print("sql(update)->error")
    connection.rollback()

# 關閉數據庫連接對象
connection.close()

查詢數據

1.項目中的.py文件不能和python庫中的文件進行沖突,否則會出現異常

# 獲取數據庫連接對象
connection=pymysql.connect(host='localhost',port=3306,user='root',passwd='2732195202',db='book',charset='utf8')
# 獲取一個游標對象
driver=connection.cursor()
#定義sql
sql="select id, name, department, salary, age, sex from t_emp where id>%s and sex=%s"

# 只能獲取一次,獲取多次的時候會獲取到null 如果是多個參數,需要傳遞一個元組
try:
    driver.execute(sql,(1,"女"))
    # 獲取所有的查詢結果 返回一個元組
    resultAll=driver.fetchall()
    print("resultAll:", resultAll)
    # 獲取2條數據
    resultTwo=driver.fetchmany(2)
    print("resultTwo:", resultTwo)
    # 獲取一條數據
    resultOne=driver.fetchone()
    print("resultThree:", resultOne)

    print("sql(select)->success")
except:
    connection.rollback()
    print("sql(select)->error")

# 關閉數據庫連接
connection.close()

刪除表中的記錄

import  pymysql

# 獲取數據庫連接對象
connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')
# 獲取一個游標
driver = connection.cursor()
# 定義sql
sql="delete from t_emp where id=%s"

try:
    # 執(zhí)行一條sql
    driver.execute(sql, (21))
    # 提交事務
    connection.commit()
    print("sql(delete)->success")
except  Exception as e:
    # 回滾事務
    connection.rollback()
    print("sql(delete)->error")
    print(e)

#關閉數據庫連接
connection.close()

事務操作

提交事務: connection.commit()

回滾事務: connection.rollback()

總結

到此這篇關于pymsql實現增刪改查(python)的文章就介紹到這了,更多相關pymsql增刪改查內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python3 完全平方數案例

    Python3 完全平方數案例

    這篇文章主要介紹了Python3 完全平方數的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 介紹Python的Django框架中的QuerySets

    介紹Python的Django框架中的QuerySets

    這篇文章主要介紹了Python的Django框架中的QuerySets,QuerySet是Django中的一個內置對象列表,經常被用于數據庫操作,需要的朋友可以參考下
    2015-04-04
  • Python?生成器yield原理及用法

    Python?生成器yield原理及用法

    這篇文章主要介紹了Python?生成器yield原理及用法,yield?是實現生成器方法之一,當函數使用yield方法,則該函數就成為了一個生成器,更多相關資料需要的小伙伴可以參考一下下面文章內容
    2022-06-06
  • 集調試共享及成本控制Prompt工具PromptLayer使用指南

    集調試共享及成本控制Prompt工具PromptLayer使用指南

    這篇文章主要介紹了集調試共享及成本控制Prompt工具PromptLayer使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python如何繪制日歷圖和熱力圖

    Python如何繪制日歷圖和熱力圖

    這篇文章主要介紹了Python如何繪制日歷圖和熱力圖,幫助大家更好的理解和學習Python,感興趣的朋友可以了解下
    2020-08-08
  • python環(huán)境功能強大的pip-audit安全漏洞掃描工具

    python環(huán)境功能強大的pip-audit安全漏洞掃描工具

    這篇文章主要為大家介紹了python環(huán)境中功能強大的pip-audit安全漏洞掃描工具的功能介紹及安裝使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • Python中用try-except-finally處理異常問題

    Python中用try-except-finally處理異常問題

    這篇文章主要介紹了Python中用try-except-finally處理異常問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python多版本工具miniconda的配置優(yōu)化實現

    python多版本工具miniconda的配置優(yōu)化實現

    通過Miniconda,您可以輕松地創(chuàng)建和管理多個Python環(huán)境,同時確保每個環(huán)境具有所需的依賴項和軟件包,本文主要介紹了python多版本工具miniconda的配置優(yōu)化實現,感興趣的可以了解一下
    2024-01-01
  • python opencv 找出圖像中的最大輪廓并填充(生成mask)

    python opencv 找出圖像中的最大輪廓并填充(生成mask)

    這篇文章主要介紹了python opencv 找出圖像中的最大輪廓并填充(生成mask),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • python讀寫csv文件并增加行列的實例代碼

    python讀寫csv文件并增加行列的實例代碼

    這篇文章主要介紹了python讀寫csv文件并增加行列的實現方法,文中給大家介紹了python寫入csv文件的幾種方法總結,給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論