對於數據庫的操做,Python中能夠經過下載一些對應的三方插件和對應的數據庫來實現數據庫的操做,可是這樣難免使得Python程序變得更加複雜了。若是隻是想要使用數據庫,又不想下載一些沒必要要的插件和輔助軟件,可使用Python內置模塊sqlite3。html
sqlite3是Python對於sqlite數據庫的支持,模塊名稱之因此是sqlite3而不是sqlite,是由於sqlite的版本中最流行的就是3.x的版本。sql
sqlite數據庫教程:http://www.runoob.com/sqlite/sqlite-intro.html數據庫
sqlite GUI軟件SQLiteSpy:https://www.yunqa.de/delphi/products/sqlitespy/index,數據庫的可視化管理工具備不少,你也能夠選擇其餘的軟件,可是SQLiteSpy這個軟件免費並且很是小,對於日常的sqlite數據庫操做其實已經能夠知足了。工具
經常使用API(方括號中爲可選參數)fetch
簡單示例:spa
# -*- 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教程。code
查詢數據庫中的表:sqlite
SELECT name FROM sqlite_master WHERE type='table';htm
查詢表中的字段信息:
PRAGMA TABLE_INFO([table_name]);
使用分享:
一、SQL中的表名或者字段名帶有特殊符號時應該使用嵌套引號括起來,這些特殊符號多是語法的一部分,應該使用嵌套引號表名它是一個總體,特別是使用格式化字符串時別忘了使用引號嵌套。如包含點號:'SELECT "aa.bb" FROM xxx;'或者'SELECT xxx FROM "%s";' % 'ccc.ddd.eee'