Python 操作 MySQL 和 sqlite 数据库#
1 MySQL#
MySQL 知識可參考我之前的博客:Mysql - 眰恦 | BLOG (gitee.io)
使用 python 操作 MySQL 數據庫 @狐狸教程:~# (freeaihub.com)
導入pymysql
庫#
import pymysql
連接 MySQL 數據庫#
db = pymysql.connect(host='127.0.0.1', user='root', password="", database='數據庫名')
創建數據庫操作游標#
cur = conn.cursor() # 數據庫操作符 游標
使用pymysql.cursors.DictCursor
可以將數據以字典的方式返回
cur = conn.cursor(pymysql.cursors.DictCursor) # 將數據以字典的方式返回
MySQL 創建表#
MySQL 插入數據#
cur.execute('insert into 表名 values 值') # 插入數據
示例:cur.execute('insert into t7(id,name) values (2,"zhangsan")') # 插入數據
MySQL 刪除數據#
cur.execute('delete from 表名 where 條件') # 刪除數據
示例:cur.execute('delete from t7 where id = 1') # 刪除數據
MySQL 修改數據#
cur.execute('update 表名 set 修改後條件 where 條件') # 修改數據
示例:cur.execute('update t7 set id=1 where id = 2') # 修改數據
注意:執行了增刪改操作需要提交數據庫conn.commit() # 提交數據
MySQL 查詢數據#
cur.execute('select * from 表名 where 條件') # 查詢數據
ret_1=cur.fetchone() # 查詢一條數據
print(ret_1) # 只打印一行
ret_n=cur.fetchmany(2) # 查詢n條數據,括號裡填多少就打印多少行的數據
print(ret_n) # 打印n行數據
ret_all = cur.fetchall() # 查詢所有數據
print(ret_all)
# 注意:cur類似與指針,當前查詢完多少,cur會指向下一條數據
MySQL 的增刪改查都可以將單獨的 SQL 語句存儲起來,再用cur.execute(sql)
運行 SQL 語句
執行完增刪改查後記得關閉游標cur.close()
和關閉連接conn.close()
2 SQLite#
Releases · sqlitebrowser/sqlitebrowser (github.com)
使用 Python 在線操作 sqlite3 @狐狸教程:~# (freeaihub.com)
import sqlite3 # 導入sqlite3
# 數據庫文件
db_file = 'Student.db'
# 連接數據庫
conn = sqlite3.connect(db_file)
# sql 語句
sql = 'select * from score'
cur = conn.cursor() # 數據庫操作符 游標
cur.execute(sql) # 執行SQL語句
# 打印結果
print(cur.fetchall())
# 關閉數據庫
conn.close()
SQLite 數據庫是一種嵌入式數據庫,它的數據庫是一個文件sqlite.db
sqlite 數據庫是使用 C 語言進行編寫的,體積比較小,經常被集成到各種應用程序中,甚至 iOS、Android、Mac OS、Linux 都內置了 sqlite 數據庫
python 中內置了 sqlite 數據庫,可以直接使用
sqlite 數據庫是關係型數據庫,一個數據庫中會有多張表,表和表之間通過主外鍵進行關聯
python 中操作 sqlite 數據庫
獲取 connection
連接之後需要打開游標cursor
, 通過cursor
執行 SQL 語句
關閉連接,釋放資源