Python 數據庫操作基礎指南

隨着互聯網的不斷發展,數據成為了重要的資產,對於企業來說,數據是難以替代的重要財富,而在 Python 中,與數據庫進行交互是其中一個重要的功能。Python 作為一種高級編程語言,自然而然具備了與數據庫交互的能力。通過 Python,我們可以訪問和操作多種數據庫類型,包括但不限於 MySQL、SQLite、PostgreSQL 等等,Python 的 DB-API 還可以讓你在某種程度上“常用”各類數據庫,這樣的能力在數據多元化的今天非常重要。

一、安裝 SQLAlchemy

在開始用 Python 操作數據庫之前,我們需要通過 pip 安裝一個 Python 的 ORM 庫 SQLAlchemy。

    pip install SQLAlchemy

ORM 是 Object Relationship Mapping 的簡稱,也就是對象關係映射。ORM 把數據庫的表結構映射到對象上,操作數據庫表就變成了操作類和對象。

二、連接數據庫

Python 和數據庫連接的方式有許多,我們在這裡介紹兩種最常用的方法,分別是 SQLite 和 MySQL 的連接。

1. SQLite 連接

SQLite 是一款輕型的關係型數據庫,Python 所有版本默認都已安裝了這款數據庫。以下是一個 Python 使用 SQLite 的示例代碼:

    import sqlite3
 
    # 連接到 SQLite 數據庫,文件名是 test.db,如果文件不存在,會自動在當前目錄創建:
    conn = sqlite3.connect('test.db')
 
    # 創建一個 Cursor(游標):
    cursor = conn.cursor()
 
    # 執行一條 SQL 語句,創建 user 表:
    cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
 
    # 繼續執行一條 SQL 語句,插入一條記錄:
    cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')
 
    # 通過 rowcount 獲得插入的行數:
    print(cursor.rowcount)
 
    # 關閉 Cursor(游標):
    cursor.close()
 
    # 提交事務:
    conn.commit()
 
    # 關閉 Connection(連接):
    conn.close()

2. MySQL 連接

MySQL 是最流行的關係型數據庫之一,提供了多種編程語言的 API,這裡以 Python 的 PyMySQL 和 MySQL Connector 為例:

在使用 PyMySQL 之前,需要先安裝這個模塊,使用如下命令安裝:

    pip install PyMySQL

PyMySQL 示例代碼如下:

    import pymysql
 
    # 打開數據庫連接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
    # 使用 cursor() 方法創建一個游標對象 cursor
    cursor = db.cursor()
 
    # 使用 execute()  方法執行 SQL 查詢 
    cursor.execute("SELECT * FROM EMPLOYEE")
 
    # 使用 fetchone() 方法獲取單條數據.
    data = cursor.fetchone()
 
    print ("Database version : %s " % data)
 
    # 關閉數據庫連接
    db.close()

MySQL Connector 使用:

    import mysql.connector
 
    # 打開數據庫連接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
 
    # 創建游標對象
    cursor = conn.cursor()
 
    # 執行 SQL 查詢
    cursor.execute('SELECT * FROM test')
 
    # 獲取所有結果集
    result = cursor.fetchall()
 
    # 關閉游標和連接
    cursor.close()
    conn.close()

三、操作數據庫

1. 插入數據

插入數據是數據庫操作的基本操作之一,下面是一段示例代碼:

    import pymysql
 
    # 打開數據庫連接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
    # 使用 cursor() 方法創建一個游標對象 cursor
    cursor = db.cursor()
 
    # SQL 插入語句
    sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
            LAST_NAME, AGE, SEX, INCOME) \
            VALUES ('%s', '%s', '%s', '%s', '%s')" % \
            ('Mac', 'Mohan', 20, 'M', 2000)
    try:
        # 執行 sql 語句
        cursor.execute(sql)
        # 提交到數據庫執行
        db.commit()
    except:
        # 如果發生錯誤則回滾
        db.rollback()
 
    # 關閉數據庫連接
    db.close()

2. 查詢數據

查詢數據也是數據庫操作中常見的操作之一,以下是 Python 操作 MySQL 數據庫查詢語句的示例代碼:

    import mysql.connector
     
    # 打開數據庫連接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 創建游標對象
    cursor = conn.cursor()
     
    # 執行 SQL 查詢
    cursor.execute('SELECT * FROM test')
     
    # 獲取所有結果集
    results = cursor.fetchall()
     
    # 循環遍歷結果集並打印
    for row in results:
        print(row)
     
    # 關閉游標和連接
    cursor.close()
    conn.close()

3. 更新數據

更新數據也是數據庫操作中常見的操作之一,以下是 Python 操作 MySQL 更新數據的示例代碼:

    import mysql.connector
     
    # 打開數據庫連接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 創建游標對象
    cursor = conn.cursor()
     
    # SQL 更新語句
    sql = "UPDATE employee SET age = age + 1 WHERE SEX = '%c'" % ('M')
     
    try:
        # 執行 SQL 語句
        cursor.execute(sql)
        # 提交到數據庫執行
        conn.commit()
    except:
        # 發生錯誤時回滾
        conn.rollback()
     
    # 關閉游標和連接
    cursor.close()
    conn.close()

4. 刪除數據

刪除數據也是數據庫操作中常見的操作之一,以下是 Python 操作 MySQL 刪除數據的示例代碼:

    import mysql.connector
     
    # 打開數據庫連接
    conn = mysql.connector.connect(user='root', password='yourpassword', database='test')
     
    # 創建游標對象
    cursor = conn.cursor()
     
    # SQL 刪除語句
    sql = "DELETE FROM employee WHERE AGE > '%d'" % (20)
     
    try:
        # 執行 SQL 語句
        cursor.execute(sql)
        # 提交修改
        conn.commit()
    except:
        # 發生錯誤時回滾
        conn.rollback()
     
    # 關閉游標和連接
    cursor.close()
    conn.close()

總結:

在 Python 中操作數據庫是很常見的任務,Python 提供了多種操作數據庫的方法,我們可以選擇最合適的方法來完成我們的任務。SQLite、MySQL 或 PostgreSQL 這些數據庫系統都可以通過 Python 輕鬆連接,提供了各種方便的操作方式,同時 ORM 也是連接和操作數據庫的一個有效手段。無論你是要開發 Web、移動應用還是數據分析,Python 都能提供完整的工具鏈以及巨大的優勢,操作數據庫是其中一個非常重要的技能。

原創文章,作者:MSNUV,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330415.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
MSNUV的頭像MSNUV
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • 運維Python和GO應用實踐指南

    本文將從多個角度詳細闡述運維Python和GO的實際應用,包括監控、管理、自動化、部署、持續集成等方面。 一、監控 運維中的監控是保證系統穩定性的重要手段。Python和GO都有強…

    編程 2025-04-29
  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • Python字符轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智能等領域廣泛應用。在很多場景下需要將字符串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字符轉列…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29

發表回復

登錄後才能評論