對於數據庫的操作,Python中可以通過下載一些對應的三方插件和對應的數據庫來實現數據庫的操作,但是這樣不免使得Python程序變得更加復雜了。如果只是想要使用數據庫,又不想下載一些不必要的插件和輔助軟件,可以使用Python內置模塊sqlite3。
sqlite3是Python對於sqlite數據庫的支持,模塊名稱之所以是sqlite3而不是sqlite,是因為sqlite的版本中最流行的就是3.x的版本。
sqlite數據庫教程:http://www.runoob.com/sqlite/sqlite-intro.html
sqlite3 API介紹:http://www.runoob.com/sqlite/sqlite-python.html
sqlite GUI軟件SQLiteSpy:https://www.yunqa.de/delphi/products/sqlitespy/index,數據庫的可視化管理工具有很多,你也可以選擇其他的軟件,但是SQLiteSpy這個軟件免費而且非常小,對於平常的sqlite數據庫操作其實已經可以滿足了。
常用API(方括號中為可選參數)
簡單示例:
# -*- coding:utf-8 -*- import sqlite3 # 數據庫文件 db = 'sqlite_test.db' # 連接數據庫,如果沒有則創建數據庫 conn = sqlite3.connect(db) # 獲取游標 csr = conn.cursor() # 創建表STUDENTS csr.execute('CREATE TABLE STUDENTS' '(ID INT PRIMARY KEY NOT NULL,' 'NAME TEXT NOT NULL,' 'AGE INT NOT NULL);') # 插入一條數據 csr.execute('INSERT INTO STUDENTS VALUES(1, "Jason", 18)') # 插入語句sql,並使用占位符 insert_sql = 'INSERT INTO STUDENTS VALUES(?, ?, ?)' # 需要批量插入的數據 students_info = [(2, 'Mickle', 20), (3, 'Mary', 30), (4, 'Bob', 40)] # 批量插入數據 csr.executemany(insert_sql, students_info) # 提交事務 conn.commit() # 獲取一行數據 # datas = csr.execute('SELECT * FROM STUDENTS;').fetchone() # 獲取2行數據 # datas = csr.execute('SELECT * FROM STUDENTS;').fetchmany(2) # 獲取全部數據 # datas = csr.execute('SELECT * FROM STUDENTS;').fetchall() # 關閉數據庫連接 conn.close()
常用SQL
sqlite的更多知識可以參考筆記開始的sqlite教程。
查詢數據庫中的表:
SELECT name FROM sqlite_master WHERE type='table';
查詢表中的字段信息:
PRAGMA TABLE_INFO([table_name]);
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。