偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python SQLITE數(shù)據(jù)庫操作簡(jiǎn)便易用

開發(fā) 后端
Python SQLITE數(shù)據(jù)庫可以被看做一款嵌入式的數(shù)據(jù)庫軟件,而且其還是開源的。它的所有維護(hù)操作都是來自于程序本身。

Python編程語言從出現(xiàn)至今已經(jīng)經(jīng)過了將近二十年的時(shí)間,它依據(jù)其強(qiáng)大的功能以及易于操作的方法在開發(fā)領(lǐng)域中依據(jù)占據(jù)著重要的地位。我們今天先來從Python SQLITE數(shù)據(jù)庫的操作技巧來分析,從而加深對(duì)這一語言的認(rèn)知程度。#t#

Python SQLITE數(shù)據(jù)庫是一款非常小巧的嵌入式開源數(shù)據(jù)庫軟件,也就是說沒有獨(dú)立的維護(hù)進(jìn)程,所有的維護(hù)都來自于程序本身。它使用一個(gè)文件存儲(chǔ)整個(gè)數(shù)據(jù)庫,操作十分方便。它的最大優(yōu)點(diǎn)是使用方便,功能相比于其它大型數(shù)據(jù)庫來說,確實(shí)有些差距。但是性能表現(xiàn)上,SQLITE并不遜色。麻雀雖小,五臟俱全, sqlite 實(shí)現(xiàn)了多數(shù) sql-92 的標(biāo)準(zhǔn),比如說 transaction 、 trigger 和復(fù)雜的查詢等。

從Python2.5開始,SQLite3就成了Py的標(biāo)準(zhǔn)模塊了,這也是Python中唯一一個(gè)數(shù)據(jù)庫接口類模塊,這大大方便了我們用Python SQLITE數(shù)據(jù)庫開發(fā)小型數(shù)據(jù)庫應(yīng)用系統(tǒng)。

下面讓我們一步步走進(jìn)Python中的SQLite吧。

一,Python SQLITE數(shù)據(jù)庫導(dǎo)入模塊:

  1. import sqlite3 

二,創(chuàng)建數(shù)據(jù)庫/打開數(shù)據(jù)庫:

  1. cx = sqlite3.connect("E:/test.db") 

其實(shí)我們不需要顯式的創(chuàng)建一個(gè)sqlite數(shù)據(jù)庫,在調(diào)用connect函數(shù)的時(shí)候,指定庫名稱,如果指定的數(shù)據(jù)庫存在就直接打開這個(gè)數(shù)據(jù)庫,如果不存在就新創(chuàng)建一個(gè)再打開。這一點(diǎn)應(yīng)用很好理解。

三,數(shù)據(jù)庫連接對(duì)象:

打開數(shù)據(jù)庫時(shí)返回的對(duì)象cx就是一個(gè)數(shù)據(jù)庫連接對(duì)象,它可以有以下操作:

  1. commit()--事務(wù)提交   
  2. rollback()--事務(wù)回滾   
  3. close()--關(guān)閉一個(gè)數(shù)據(jù)庫連接   
  4. cursor()--創(chuàng)建一個(gè)游標(biāo) 

四,Python SQLITE數(shù)據(jù)庫游標(biāo)的使用:

凡是對(duì)數(shù)據(jù)庫有基本了解的朋友相信對(duì)前面三個(gè)都不用多說,一看就明白。下面著重闡述五cursor游標(biāo)的使用。其實(shí),所有sql語句的執(zhí)行都要在游標(biāo)對(duì)象下進(jìn)行。

首先,定義一個(gè)游標(biāo):

  1. cu = cx.cursor() 

這樣定義了一個(gè)游標(biāo)。游標(biāo)對(duì)象有以下的操作:

  1. execute()--執(zhí)行sql語句   
  2. executemany--執(zhí)行多條sql語句   
  3. close()--關(guān)閉游標(biāo)   
  4. fetchone()--從結(jié)果中取一條記錄,并將游標(biāo)指向下一條記錄   
  5. fetchmany()--從結(jié)果中取多條記錄   
  6. fetchall()--從結(jié)果中取出所有記錄   
  7. scroll()--游標(biāo)滾動(dòng) 

下面就使用Python SQLITE數(shù)據(jù)庫中游標(biāo)對(duì)我們上面建立的數(shù)據(jù)庫作一些操作吧:

1,建表:

  1. cu.execute("""create table catalog (id integer primary key,
    pid integer,name varchar(10) UNIQUE)""") 

上面語句創(chuàng)建了一個(gè)叫catalog的表,它有一個(gè)主鍵id,一個(gè)pid,和一個(gè)name,name是不可以重復(fù)的。

2,插入數(shù)據(jù):
 

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

簡(jiǎn)單的插入兩行數(shù)據(jù),不過需要提醒的是,只有提交了之后,才能生效.我們使用數(shù)據(jù)庫連接對(duì)象cx來進(jìn)行提交commit和回滾rollback操作.
 

  1. cx.commit() 

3,查詢:
 

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

要提取查詢到的數(shù)據(jù),使用游標(biāo)的fetch***函數(shù),如:
 

  1. cu.fetchall() 

返回結(jié)果如下:
 

  1. [(0, 0, u'name1'), (1, 0, u'hello')] 

如果我們使用cu.fetchone(),則首先返回列表中的第一項(xiàng),再次使用,則返回第二項(xiàng),依次下去.

4,修改:
 

  1. cu.execute("update catalog set name='name2' where id = 0")  
  2. cx.commit() 

注意,修改數(shù)據(jù)以后提交

5,刪除:
 

  1. cu.execute("delete from catalog where id = 1")  
  2. cx.commit() 

以上簡(jiǎn)單的操作反應(yīng)的Python SQLITE數(shù)據(jù)庫操作的基本要點(diǎn),這里點(diǎn)到為止.然后,SQLite的強(qiáng)大,并不僅限于此,其對(duì)SQL高級(jí)特性的支持及其小巧靈活的特點(diǎn),使得SQLite在眾多領(lǐng)域受到開發(fā)者的青睞.

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2011-07-05 14:46:34

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫 SQLite

2011-07-12 15:22:04

SQLite數(shù)據(jù)庫

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫

2024-03-07 13:02:57

PythonSQLite數(shù)據(jù)庫

2009-12-24 11:15:59

WPF數(shù)據(jù)綁定

2023-11-24 11:11:08

Python數(shù)據(jù)庫

2011-07-20 12:34:49

SQLite數(shù)據(jù)庫約束

2019-08-15 07:00:54

SQLite數(shù)據(jù)庫內(nèi)存數(shù)據(jù)庫

2017-07-12 09:20:42

SQLite數(shù)據(jù)庫移植

2011-07-07 16:42:38

iPhone Sqlite3 數(shù)據(jù)庫

2011-08-04 18:00:47

SQLite數(shù)據(jù)庫批量數(shù)據(jù)

2011-08-02 16:16:08

iPhone開發(fā) SQLite 數(shù)據(jù)庫

2024-10-28 16:31:03

2010-06-13 17:53:18

安裝MySQL數(shù)據(jù)庫

2011-08-24 13:49:45

Access數(shù)據(jù)庫轉(zhuǎn)化

2018-07-13 09:20:30

SQLite數(shù)據(jù)庫存儲(chǔ)

2011-04-18 13:40:15

SQLite

2011-07-01 14:06:57

Qt sqlite

2017-05-03 13:50:38

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)