Python Sqlite3資料庫相關操作

來源:互聯網
上載者:User

1、串連資料庫:

cx= sqlite3.connect(‘database.db’) ,cx是一個資料庫連接對象,它有以下操作:

commit()--事務提交

rollback()--交易回復

close()--關閉一個資料庫連接

cursor()--建立一個遊標


2、獲得遊標對象:

所有sql語句都要在遊標對象下執行,用cu= cx.cursor()來定義了一個遊標,遊標對象有以下的操作:

execute()--執行sql語句

executemany--執行多條sql語句

close()--關閉遊標

fetchone()--從結果中取一條記錄

fetchmany()--從結果中取多條記錄

fetchall()--從結果中取出多條記錄

scroll()--遊標滾動


3、sqlite3使用舉例:

3.1、建表

cu.execute("""createtable catalog (

idinteger primary key,

pidinteger,

namevarchar(10) UNIQUE)""")

上面語句建立了一個叫catalog的表,它有一個主鍵id,一個pid,和一個name,name是不可以重複的。

3.2、insert(插入)資料

>>>cu.execute("insert into catalog values(?,?,?)",(0, 0,'name1'))

>>>cu.execute("insert into catalog values(1, 0, 'hello')")

>>>cx.commit()

如果你願意,你可以一直使用cu遊標對象。注意,對資料的修改必須要使用事務語句:commit()或rollback(),且對象是資料庫連接對象,這裡為cx。

3.3、select(選擇)資料:

>>>cu.execute("select * from catalog;")

>>>cu.fetchall()

[(0,0, 'name2'), (1, 0, 'hello')]

fetchall()返回結果集中的全部資料,結果為一個tuple的列表。每個tuple元素是按建表的欄位順序排列。注意,遊標是有狀態的,它可以記錄當前已經取到結果的第幾個記錄了,因此,一般你只可以遍曆結果集一次。在上面的情況下,如果執行fetchone()會返回為空白。這一點在測試時需要注意。

>>>cu.execute("select * from catalog where id = 1")

>>>cu.fetchone()

(1,0, 'hello')

對資料庫沒有修改的語句,執行後不需要再執行事務語句。

3.4、update(修改)資料:

>>>cu.execute("update catalog set name='name2' where id =?",(1,))

>>>cx.commit()

>>>cu.execute("select * from catalog")

>>>cu.fetchone()

(0,0, 'name2')

3.5、delete(刪除)資料:

>>>cu.execute("delete from catalog where id = ?",(1,))

>>>cx.commit()

>>>cu.execute("select * from catalog")

>>>cu.fetchall()

[(0,0, 'name2')]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.