Python常用數(shù)據(jù)庫接口sqlite3和MySQLdb學(xué)習(xí)指南
sqlite3 - SQLite 數(shù)據(jù)庫
SQLite 是一款輕量級、無需安裝、零配置的嵌入式關(guān)系數(shù)據(jù)庫。Python 自帶 sqlite3 庫,無需額外安裝。以下是一個(gè)簡單的 sqlite3 使用示例。
創(chuàng)建數(shù)據(jù)庫和表
import sqlite3
# 連接數(shù)據(jù)庫(如果不存在,將自動(dòng)創(chuàng)建)
conn = sqlite3.connect('sqlite_example.db')
# 創(chuàng)建游標(biāo)
cursor = conn.cursor()
# 創(chuàng)建 users 表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL,
email TEXT
)
''')
# 提交更改并關(guān)閉連接
conn.commit()
conn.close()插入數(shù)據(jù)
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 插入數(shù)據(jù)
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
# 提交更改
conn.commit()
# 關(guān)閉連接
conn.close()查詢數(shù)據(jù)
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 查詢數(shù)據(jù)
cursor.execute('SELECT * FROM users')
# 獲取查詢結(jié)果
result = cursor.fetchall()
for row in result:
print(row)
# 關(guān)閉連接
conn.close()更新和刪除數(shù)據(jù)
conn = sqlite3.connect('sqlite_example.db')
cursor = conn.cursor()
# 更新數(shù)據(jù)
cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
conn.commit()
# 刪除數(shù)據(jù)
cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()
# 關(guān)閉連接
conn.close()MySQLdb - MySQL 數(shù)據(jù)庫
MySQLdb 是一個(gè)用于連接 MySQL 數(shù)據(jù)庫的 Python 庫。在使用之前,需要先安裝:
pip install mysqlclient
注:MySQLdb 僅支持 Python 2.x 版本,如果你使用的是 Python 3.x,可以使用 mysqlclient,它是 MySQLdb 的 Python 3.x 分支。
以下是一個(gè)簡單的 MySQLdb 使用示例。
創(chuàng)建數(shù)據(jù)庫和表
import MySQLdb
# 連接數(shù)據(jù)庫
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
# 創(chuàng)建游標(biāo)
cursor = conn.cursor()
# 創(chuàng)建 users 表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
email VARCHAR(100)
)
''')
# 提交更改并關(guān)閉連接
conn.commit()
conn.close()插入數(shù)據(jù)
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 插入數(shù)據(jù)
cursor.execute("INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com')")
# 提交更改
conn.commit()
# 關(guān)閉連接
conn.close()查詢數(shù)據(jù)
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 查詢數(shù)據(jù)
cursor.execute('SELECT * FROM users')
# 獲取查詢結(jié)果
result = cursor.fetchall()
for row in result:
print(row)
# 關(guān)閉連接
conn.close()更新和刪除數(shù)據(jù)
conn = MySQLdb.connect(host='localhost', user='your_username', passwd='your_password', db='mydb')
cursor = conn.cursor()
# 更新數(shù)據(jù)
cursor.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
conn.commit()
# 刪除數(shù)據(jù)
cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()
# 關(guān)閉連接
conn.close()以上就是 Python 中常用的數(shù)據(jù)庫接口 sqlite3 和 MySQLdb 的使用示例。學(xué)習(xí)這些知識點(diǎn)時(shí),建議你親自動(dòng)手操作,逐漸積累經(jīng)驗(yàn)。在實(shí)際項(xiàng)目中,你可能會遇到更復(fù)雜的場景,需要根據(jù)實(shí)際情況選擇適當(dāng)?shù)臄?shù)據(jù)庫操作和優(yōu)化策略。同時(shí),編寫易于維護(hù)和擴(kuò)展的代碼也很重要,如使用 ORM(Object-Relational Mapping,對象關(guān)系映射)庫,例如 SQLAlchemy 和 Django ORM,可以簡化數(shù)據(jù)庫操作,提高代碼可讀性和可維護(hù)性
更多關(guān)于Python數(shù)據(jù)庫接口的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python使用MySQL8.2讀寫分離實(shí)現(xiàn)示例詳解
- Python中執(zhí)行MySQL結(jié)果限制和分頁查詢示例詳解
- python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
- Python數(shù)據(jù)庫安裝及MySQL?Connector應(yīng)用教程
- Python使用Pandas庫實(shí)現(xiàn)MySQL數(shù)據(jù)庫讀寫
- python pymysql peewee關(guān)于時(shí)區(qū)問題分析
- Python pymysql連接數(shù)據(jù)庫并將查詢結(jié)果轉(zhuǎn)化為Pandas dataframe
- python導(dǎo)出mysql指定binlog文件實(shí)現(xiàn)demo
相關(guān)文章
Python面向?qū)ο蟪绦蛟O(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù)用法分析
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù)用法,結(jié)合具體實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中構(gòu)造函數(shù)與析構(gòu)函數(shù)的概念、原理、功能及相關(guān)使用技巧,需要的朋友可以參考下2019-04-04
python 實(shí)現(xiàn)tar文件壓縮解壓的實(shí)例詳解
這篇文章主要介紹了python 實(shí)現(xiàn)tar文件壓縮解壓的實(shí)例詳解的相關(guān)資料,這里提供實(shí)現(xiàn)方法,幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08
python 默認(rèn)參數(shù)相關(guān)知識詳解
這篇文章主要介紹了python 默認(rèn)參數(shù)相關(guān)知識詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
分享一個(gè)可以生成各種進(jìn)制格式IP的小工具實(shí)例代碼
這篇文章主要給大家分享了一個(gè)可以生成各種進(jìn)制格式IP的小工具,利用的語言是python實(shí)現(xiàn)的一個(gè)小工具,這個(gè)小工具對大家的日常使用與開發(fā)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧。2017-07-07
Python OpenCV實(shí)現(xiàn)邊緣檢測
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)邊緣檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Python數(shù)據(jù)清洗之利用pandas篩選數(shù)據(jù)詳解
這篇文章主要介紹了Python數(shù)據(jù)清洗之利用pandas篩選數(shù)據(jù)詳解,Pandas是一個(gè)用于數(shù)據(jù)分析和處理的Python庫,它提供了高效的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,使得數(shù)據(jù)的清洗、轉(zhuǎn)換、分析和可視化變得更加容易和靈活,需要的朋友可以參考下2023-08-08
python實(shí)現(xiàn)socket+threading處理多連接的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)socket+threading處理多連接的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

