SQLite3數(shù)據(jù)庫常用命令_第1頁
SQLite3數(shù)據(jù)庫常用命令_第2頁
SQLite3數(shù)據(jù)庫常用命令_第3頁
SQLite3數(shù)據(jù)庫常用命令_第4頁
SQLite3數(shù)據(jù)庫常用命令_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、查看版本信息:#sqlite3 -version二、sqlite3常用命令1、當(dāng)前目錄下建立或打開test.db數(shù)據(jù)庫文件,并進(jìn)入sqlite命令終端,以sqlite>前綴標(biāo)識:2、輸出幫助信息:sqlite>.help3、查看數(shù)據(jù)庫文件信息命令(注意命令前帶字符'.'):sqlite>.database4、退出sqlite終端命令:sqlite>.quit或sqlite>.exit列出當(dāng)前顯示格式的配置:sqlite>.show6、顯示數(shù)據(jù)庫結(jié)構(gòu):.schema顯示表的結(jié)構(gòu):.schema   &

2、#160;表名其實(shí)就是一些 SQL 語句,他們描述了數(shù)據(jù)庫的結(jié)構(gòu),如圖7、導(dǎo)出某個(gè)表的數(shù)據(jù): .dump    表名8、設(shè)置導(dǎo)出目標(biāo): .output     文件名  或者.output   stdout先運(yùn)行 .output cars.sql ,然后再運(yùn)行 .dump 命令試試看?如果要回復(fù)成導(dǎo)出到終端(標(biāo)準(zhǔn)輸出),則運(yùn)行 .output st

3、dout10、設(shè)置分隔符:.separator    分隔符我們可以首先運(yùn)行 SELECT * FROM Cars; ,可以看到默認(rèn)的分隔符是 | 運(yùn)行.separator : 以后,再 SELECT * FROM Cars;,可以看到分隔符已經(jīng)變成 : 了11、顯示標(biāo)題欄:.headers   on12、設(shè)置顯示模式:.mode    

4、模式有好幾種顯示模式,默認(rèn)的是 list 顯示模式,一般我們使用 column 顯示模式,還有其他幾種顯示模式可以 .help 看 mode 相關(guān)內(nèi)容??纯聪旅娴膱D,和上面是不是顯示的不一樣了?13、設(shè)置 NULL 值顯示成什么樣子: .nullvalue     你想要的NULL值格式默認(rèn)情況下NULL值什么也不顯示,你可以設(shè)置成你自己想要的樣子14、配置文件 .sqliterc如果我們每次進(jìn)入命令行都要重新設(shè)置顯示格式,很

5、麻煩,其實(shí) .show 命令列出的所有設(shè)置項(xiàng)都可以保存到一個(gè) .sqliterc 文件中,這樣每次進(jìn)入命令行就自動(dòng)設(shè)置好了。.sqlterc 文件在 Linux 下保存在用戶的 Home 目錄下,在 Windows 下可以保存到任何目錄下,但是需要設(shè)置環(huán)境變量讓數(shù)據(jù)庫引擎能找到它,感興趣的可以看看幫助。 三、數(shù)據(jù)庫和表的相關(guān)命令1、創(chuàng)建一個(gè)新的數(shù)據(jù)庫:sqlite3     文件名創(chuàng)建一個(gè) test.db 

6、數(shù)據(jù)庫文件,打開控制臺窗口,命令如下:sqlite>sqlite3 test.db 2、打開一個(gè)已經(jīng)存在的數(shù)據(jù)庫:sqlite3 已經(jīng)存在的文件名創(chuàng)建一個(gè)新數(shù)據(jù)庫和打開一個(gè)已經(jīng)存在的數(shù)據(jù)庫命令是一模一樣的,如果文件在當(dāng)前目錄下不存在,則新建;如果存在,則打開。3、建立數(shù)據(jù)表create table table_name(field1 type1, field2 type1, .);table_name是要?jiǎng)?chuàng)建數(shù)據(jù)表名稱,fieldx是數(shù)據(jù)表內(nèi)字段名稱,typex則是字段類型。如:該語句創(chuàng)建一個(gè)記錄學(xué)

7、生信息的數(shù)據(jù)表。sql的指令格式:所有sql指令都是以分號(;)結(jié)尾,兩個(gè)減號(-)則表示注釋。4、添加數(shù)據(jù)記錄insert into table_name(列field1, field2, .) values(值val1, val2, .);valx為需要存入字段的值。例,往老師信息表添加數(shù)據(jù):很簡單,創(chuàng)建了一個(gè) Teachers 表并向其中添加了四條數(shù)據(jù),設(shè)定了一些約束,其中有自動(dòng)增加的主鍵、默認(rèn)值等等。5、修改數(shù)據(jù)UPDATE 表 SET 列 = &

8、#39;新值' 【W(wǎng)HERE 條件語句】UPDATE 語句用來更新表中的某個(gè)列,如果不設(shè)定條件,則所有記錄的這一列都被更新; 如果設(shè)定了條件,則符合條件的記錄的這一列被更新, WHERE 子句被用來設(shè)定條件,如下例:6、刪除數(shù)據(jù) DELETE FROM 表 【W(wǎng)HERE 條件語句】如果設(shè)定 WHERE 條件子句,則刪除符合條件的數(shù)據(jù)記錄;如果沒有設(shè)定條件語句,則刪除所有記錄7、導(dǎo)入數(shù)據(jù):.read     數(shù)

9、據(jù)文件打開記事本,并將下列 SQL 語句復(fù)制到記事本中,保存為 test.sql ,在命令行環(huán)境中輸入.read   test.sql即將所有的數(shù)據(jù)導(dǎo)入到 test.db 數(shù)據(jù)庫中。BEGIN TRANSACTION;CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);INSERT INTO Cars

10、60;VALUES(1,'Audi',52642);INSERT INTO Cars VALUES(2,'Mercedes',57127);INSERT INTO Cars VALUES(3,'Skoda',9000);INSERT INTO Cars VALUES(4,'Volvo',29000);INSERT INTO Cars VALUES(5,'Bentley',350000);INSER

11、T INTO Cars VALUES(6,'Citroen',21000);INSERT INTO Cars VALUES(7,'Hummer',41400);INSERT INTO Cars VALUES(8,'Volkswagen',21600);COMMIT;BEGIN TRANSACTION;CREATE TABLE Orders(Id integer PRIMARY KEY, O

12、rderPrice integer CHECK(OrderPrice>0),                     Customer text);INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");

13、INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");I

14、NSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");IN

15、SERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");INSERT 

16、;INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");COMMIT;8、查詢數(shù)據(jù)記錄a查詢輸出所有數(shù)據(jù)記錄select * from table_name;b限制輸出數(shù)據(jù)記錄數(shù)量若數(shù)據(jù)庫中的數(shù)據(jù)太多,全部返回可不行,可以限制返回的數(shù)量,還可以設(shè)定返回的起始位置select * from table_name limit val;c升序輸出數(shù)據(jù)記錄select * from 

17、;table_name order by field asc;d降序輸出數(shù)據(jù)記錄select * from table_name order by field desc;e條件查詢select * from table_name where expression;IN (集合)select * from table_name where field in (

18、'val1', 'val2', 'val3');BETWEEN 值1 AND 值2select * from table_name where field between val1 and val2;f、查詢記錄數(shù)目select count (*) from table_name;g、區(qū)分列數(shù)據(jù)select distinct field f

19、rom table_name;有一些字段的值可能會重復(fù)出現(xiàn),distinct去掉重復(fù)項(xiàng),將列中各字段值單個(gè)列出。h、別名 SELECT 列 AS 別名,列 AS 別名 FROM可以給返回?cái)?shù)據(jù)集中的某些列起一個(gè)比較直觀的名字,比如把 Cost 改為"Price Of Car"I、條件查詢 SELECT 列 FROM 表 【W(wǎng)HERE 條件語句】一般的條件語句都是大于、小于、等于之類的,這里有幾個(gè)特別

20、的條件語句LIKE-LIKE 用通配符匹配字符串下劃線 _ 匹配一個(gè)字符串百分號 % 匹配多個(gè)字符串LIKE 匹配字符串時(shí)不區(qū)分大小寫GLOBJ 區(qū)分 DISTINCT 列有一些字段的值可能會出現(xiàn)重復(fù),比如訂單表中,一個(gè)客戶可能會有好幾份訂單,因此客戶的名字會重復(fù)出現(xiàn)。到底有哪些客戶下了訂單呢?下面的語句將客戶名字區(qū)分出來。k分組 GROUP BY 列分組和前面的區(qū)分有一點(diǎn)類似。區(qū)分僅僅是為了去掉重復(fù)項(xiàng),而分組是為了對各類不同項(xiàng)進(jìn)行統(tǒng)計(jì)計(jì)算。比如上面的例子,我們區(qū)分出

21、0;5 個(gè)客戶,這 5 個(gè)客戶一共下了 11 個(gè)訂單,說明很多客戶都下了不止一個(gè)訂單。下面的語句統(tǒng)計(jì)每個(gè)客戶在訂單上總共花費(fèi)了多少錢。這里 Sum 是 SQLite 內(nèi)置的統(tǒng)計(jì)函數(shù),在這個(gè)例子中用來求每個(gè)顧客的訂單價(jià)格的和。統(tǒng)計(jì)結(jié)果也可以設(shè)定返回條件,但是不能用 WHERE 子句,而是用 HAVING 子句,如下例,返回訂單總額大于 1000 的顧客。9、建立索引當(dāng)說數(shù)據(jù)表存在大量記錄,索引有助于加快查找數(shù)據(jù)表速度。create ind

22、ex index_name on table_name(field);例,針對學(xué)生表stu_no字段,建立一個(gè)索引:create index student_index on student_table(stu_no);建立完成后,sqlite3在對該字段查詢時(shí),會自動(dòng)使用該索引。 10、刪除數(shù)據(jù)表或索引drop table table_name;drop index index_name;四、sqlite3存儲數(shù)據(jù)的類型NULL:標(biāo)識一個(gè)NULL值INTERGER:整數(shù)類型

23、REAL:浮點(diǎn)數(shù)TEXT:字符串BLOB:二進(jìn)制數(shù)五、sqlite3存儲數(shù)據(jù)的約束條件Sqlite常用約束條件如下:PRIMARY KEY - 主鍵:1)主鍵的值必須唯一,用于標(biāo)識每一條記錄,如學(xué)生的學(xué)號2)主鍵同時(shí)也是一個(gè)索引,通過主鍵查找記錄速度較快3)主鍵如果是整數(shù)類型,該列的值可以自動(dòng)增長NOT NULL - 非空:約束列記錄不能為空,否則報(bào)錯(cuò)UNIQUE - 唯一:除主鍵外,約束其他列的數(shù)據(jù)的值唯一CHECK - 條件檢查:約束該列的值必須符合條件才可存入DEFAULT -&

24、#160;默認(rèn)值:列數(shù)據(jù)中的值基本都是一樣的,這樣的字段列可設(shè)為默認(rèn)值CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer CHECK(OrderPrice>0),                     Customer 

25、;text);CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,                      Sex text CHECK(Sex IN ('M', 'F');CREATE TABLE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論