1.數據庫學習筆記python
SQLite3 可以使用 sqlite3 模塊與 Python 進行集成,通常 python 2.5 以上版本默認自帶了sqlite3模塊,所以不須要用戶另外下載。sql
若是把python 和數據庫比做兩個不一樣的地點, connection 就是路, 能鏈接python和database。cursor就像在路上行駛的小貨車, 能夠用於執行sql 語句, 以及存儲sql 運行的結果數據庫
序號 | API & 描述 |
---|---|
1 | sqlite3.connect(database [,timeout ,other optional arguments]) 該 API 打開一個到 SQLite 數據庫文件 database 的連接。您可使用 ":memory:" 來在 RAM 中打開一個到 database 的數據庫鏈接,而不是在磁盤上打開。若是數據庫成功打開,則返回一個鏈接對象。編程 當一個數據庫被多個鏈接訪問,且其中一個修改了數據庫,此時 SQLite 數據庫被鎖定,直到事務提交。timeout 參數表示鏈接等待鎖定的持續時間,直到發生異常斷開鏈接。timeout 參數默認是 5.0(5 秒)。學習 若是給定的數據庫名稱 filename 不存在,則該調用將建立一個數據庫。若是您不想在當前目錄中建立數據庫,那麼您能夠指定帶有路徑的文件名,這樣您就能在任意地方建立數據庫。fetch |
2 | connection.cursor([cursorClass]) 該例程建立一個 cursor,將在 Python 數據庫編程中用到。該方法接受一個單一的可選的參數 cursorClass。若是提供了該參數,則它必須是一個擴展自 sqlite3.Cursor 的自定義的 cursor 類。code |
3 | cursor.execute(sql [, optional parameters]) 該例程執行一個 SQL 語句。該 SQL 語句能夠被參數化(即便用佔位符代替 SQL 文本)。sqlite3 模塊支持兩種類型的佔位符:問號和命名佔位符(命名樣式)。sqlite 例如:cursor.execute("insert into people values (?, ?)", (who, age))對象 |
4 | connection.execute(sql [, optional parameters]) 該例程是上面執行的由光標(cursor)對象提供的方法的快捷方式,它經過調用光標(cursor)方法建立了一箇中間的光標對象,而後經過給定的參數調用光標的 execute 方法。blog |
5 | cursor.executemany(sql, seq_of_parameters) 該例程對 seq_of_parameters 中的全部參數或映射執行一個 SQL 命令。 |
6 | connection.executemany(sql[, parameters]) 該例程是一個由調用光標(cursor)方法建立的中間的光標對象的快捷方式,而後經過給定的參數調用光標的 executemany 方法。 |
7 | cursor.executescript(sql_script) 該例程一旦接收到腳本,會執行多個 SQL 語句。它首先執行 COMMIT 語句,而後執行做爲參數傳入的 SQL 腳本。全部的 SQL 語句應該用分號(;)分隔。 |
8 | connection.executescript(sql_script) 該例程是一個由調用光標(cursor)方法建立的中間的光標對象的快捷方式,而後經過給定的參數調用光標的 executescript 方法。 |
9 | connection.total_changes() 該例程返回自數據庫鏈接打開以來被修改、插入或刪除的數據庫總行數。 |
10 | connection.commit() 該方法提交當前的事務。若是您未調用該方法,那麼自您上一次調用 commit() 以來所作的任何動做對其餘數據庫鏈接來講是不可見的。 |
11 | connection.rollback() 該方法回滾自上一次調用 commit() 以來對數據庫所作的更改。 |
12 | connection.close() 該方法關閉數據庫鏈接。請注意,這不會自動調用 commit()。若是您以前未調用 commit() 方法,就直接關閉數據庫鏈接,您所作的全部更改將所有丟失! |
13 | cursor.fetchone() 該方法獲取查詢結果集中的下一行,返回一個單一的序列,當沒有更多可用的數據時,則返回 None。 |
14 | cursor.fetchmany([size=cursor.arraysize]) 該方法獲取查詢結果集中的下一行組,返回一個列表。當沒有更多的可用的行時,則返回一個空的列表。該方法嘗試獲取由 size 參數指定的儘量多的行。 |
15 | cursor.fetchall() 該例程獲取查詢結果集中全部(剩餘)的行,返回一個列表。當沒有可用的行時,則返回一個空的列表。 |
首先要建立一個數據庫的鏈接對象,即connection對象,語法以下:
sqlite3.connect(database [,timeout,其餘可選參數])
有了connection對象,就能建立遊標對象了,即cursor對象,以下:
connection.cursor([cursorClass])
function: 建立一個遊標,返回遊標對象,該遊標將在Python的整個數據庫編程中使用。