成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQLite 基本控制臺命令簡介

數據庫 其他數據庫
SQLite 本身是C語言開發的,開源也跨平臺,并且被所有的主流編程語言支持。本文主要介紹SQLite的控制臺命令,供讀者學習參考。

一、基本簡介

SQLite是一個自持的(self-contained)、無服務器的、零配置的、事務型的關系型數據庫引擎。因為他很小,所以也可以作為嵌入式數據庫內建在你的應用程序中。SQLite數據庫引擎實現了主要的 SQL-92 標準,引擎本身只有一個文件,大小不到 300k ,但是并不作為一個獨立的進程運行,而是動態或者靜態的鏈接到其他應用程序中。它生成的數據庫文件是一個普通的磁盤文件,可以放置在任何目錄下。SQLite 被應用在 Solaris 10操作系統、Mac OS 操作系統、iPhone 和 Skype 中。QT4 、Python 、 PHP 都默認支持 SQLite ,Firefox Amarok 等流行的應用程序在內部也使用了 SQLiteSQLite 本身是C 語言開發的,開源也跨平臺,并且被所有的主流編程語言支持。

二、下載安裝

Windows 版的下載地址為:sqlite-shell-win32-x86-3070701.zip
我們這里下載的是命令行版本,所以是一個可執行文件,還有一個動態鏈接庫版本,如果你的應用程序需要嵌入式數據庫,可以下載這個版本。當然,如果你愿意折騰,下載源代碼自己編譯也是可以的。下載完成,解壓出來就一個文件: sqlite3.exe ,可以放置到任意一個路徑下,然后把這個路徑加入到 PATH 環境變量中,這樣我們就可以隨時在控制臺中運行 SQLite 命令行工具了。

三、基本命令

1、進入命令行環境:sqlite3

打開一個控制臺窗口,輸入 sqlite3 回車,這時你就進入了 SQLite 命令行環境,如圖

SQLite 基本控制臺(終端)命令簡介

它顯示了版本號,并告訴你每一條 SQL 語句必須用分號 ; 結尾 。

2、命令行幫助:.help

在命令行環境下輸入 .help 回車,顯示所有可使用的命令以及這些命令的幫助。注意:所有的命令開頭都是一個點。

3、退出命令行環境

.quit 或者 .exit 都可以退出。

四、數據庫和表的相關命令

1、創建一個新的數據庫:sqlite3 

先建立一個Db目錄,并在 Db 目錄中創建一個 test.db 數據庫文件,打開控制臺窗口,命令如下:

  1. mkdir Db  
  2.  
  3. cd Db  
  4.  
  5. sqlite3 test.db 

2、打開一個已經存在的數據庫:sqlite3 已經存在的文件名

創建一個新數據庫和打開一個已經存在的數據庫命令是一模一樣的,如果文件在當前目錄下不存在,則新建;如果存在,則打開。

3、導入數據:.read     數據文件

打開記事本,并將下列 SQL 語句復制到記事本中,保存為 test.sql 到上面說到的 Db 目錄下,在命令行環境中輸入.read   test.sql

即將所有的數據導入到 test.db 數據庫中。

test.db 導入數據

  1. BEGIN TRANSACTION;  
  2.  
  3. CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);  
  4.  
  5. INSERT INTO Cars VALUES(1,'Audi',52642);  
  6.  
  7. INSERT INTO Cars VALUES(2,'Mercedes',57127);  
  8.  
  9. INSERT INTO Cars VALUES(3,'Skoda',9000);  
  10.  
  11. INSERT INTO Cars VALUES(4,'Volvo',29000);  
  12.  
  13. INSERT INTO Cars VALUES(5,'Bentley',350000);  
  14.  
  15. INSERT INTO Cars VALUES(6,'Citroen',21000);  
  16.  
  17. INSERT INTO Cars VALUES(7,'Hummer',41400);  
  18.  
  19. INSERT INTO Cars VALUES(8,'Volkswagen',21600);  
  20.  
  21. COMMIT;  
  22.  
  23. BEGIN TRANSACTION;  
  24.  
  25. CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer CHECK(OrderPrice>0),   
  26.  
  27.                     Customer text);  
  28.  
  29. INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");  
  30.  
  31. INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");  
  32.  
  33. INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");  
  34.  
  35. INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");  
  36.  
  37. INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");  
  38.  
  39. INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");  
  40.  
  41. INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");  
  42.  
  43. INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");  
  44.  
  45. INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");  
  46.  
  47. INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");  
  48.  
  49. INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");  
  50.  
  51. COMMIT;  
  52.  
  53. BEGIN TRANSACTION;  
  54.  
  55. CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,   
  56.  
  57. Sex text CHECK(Sex IN ('M', 'F')));  
  58.  
  59. INSERT INTO Friends VALUES(1,'Jane', 'F');  
  60.  
  61. INSERT INTO Friends VALUES(2,'Thomas', 'M');  
  62.  
  63. INSERT INTO Friends VALUES(3,'Franklin', 'M');  
  64.  
  65. INSERT INTO Friends VALUES(4,'Elisabeth', 'F');  
  66.  
  67. INSERT INTO Friends VALUES(5,'Mary', 'F');  
  68.  
  69. INSERT INTO Friends VALUES(6,'Lucy', 'F');  
  70.  
  71. INSERT INTO Friends VALUES(7,'Jack', 'M');  
  72.  
  73. COMMIT;  
  74.  
  75. BEGIN TRANSACTION;  
  76.  
  77. CREATE TABLE IF NOT EXISTS Customers(CustomerId integer PRIMARY KEY, Name text);  
  78.  
  79. INSERT INTO Customers(Name) VALUES('Paul Novak');  
  80.  
  81. INSERT INTO Customers(Name) VALUES('Terry Neils');  
  82.  
  83. INSERT INTO Customers(Name) VALUES('Jack Fonda');  
  84.  
  85. INSERT INTO Customers(Name) VALUES('Tom Willis');  
  86.  
  87. CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,   
  88.  
  89.         CustomerId integer, Day text);  
  90.  
  91. INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-22-11');  
  92.  
  93. INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-28-11');  
  94.  
  95. INSERT INTO Reservations(CustomerId, Day) VALUES(2, '2009-29-11');  
  96.  
  97. INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-29-11');  
  98.  
  99. INSERT INTO Reservations(CustomerId, Day) VALUES(3, '2009-02-12');  
  100.  
  101. COMMIT;  
  102.  
  103. BEGIN TRANSACTION;  
  104.  
  105. CREATE TABLE Names(Id integer, Name text);  
  106.  
  107. INSERT INTO Names VALUES(1,'Tom');  
  108.  
  109. INSERT INTO Names VALUES(2,'Lucy');  
  110.  
  111. INSERT INTO Names VALUES(3,'Frank');  
  112.  
  113. INSERT INTO Names VALUES(4,'Jane');  
  114.  
  115. INSERT INTO Names VALUES(5,'Robert');  
  116.  
  117. COMMIT;  
  118.  
  119.  
  120. BEGIN TRANSACTION;  
  121.  
  122. CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,   
  123.  
  124.                    Isbn text default 'not available');  
  125.  
  126. INSERT INTO Books VALUES(1,'War and Peace','Leo Tolstoy','978-0345472403');  
  127.  
  128. INSERT INTO Books VALUES(2,'The Brothers Karamazov',  
  129.  
  130.                          'Fyodor Dostoyevsky','978-0486437910');  
  131.  
  132. INSERT INTO Books VALUES(3,'Crime and Punishment',  
  133.  
  134.                          'Fyodor Dostoyevsky','978-1840224306');  
  135.  
  136. COMMIT 

#p#

 4、列出所有的數據表: .tables

完成上面所有的工作以后,我們就可以列出所有的數據表了。

SQLite 基本控制臺(終端)命令簡介

5、顯示數據庫結構:.schema

其實就是一些SQL 語句,他們描述了數據庫的結構,如圖

SQLite 基本控制臺(終端)命令簡介  

6、顯示表的結構:.schema    

SQLite 基本控制臺(終端)命令簡介

7、導出某個表的數據: .dump   

這時我們可以看到,整個表以 SQL 語句的形式為導出來了,但是只是顯示在終端上,如何把它導出到文件中呢?

SQLite 基本控制臺(終端)命令簡介

8、設置導出目標: 

.output 文件名或者.output   stdout,先運行 .output cars.sql ,然后再運行 .dump 命令試試看?如果要回復成導出到終端(標準輸出),則運行 .output stdout。

五、數據顯示相關命令

1、設置分隔符:.separator 分隔

我們可以首先運行 SELECT * FROM Names; ,可以看到默認的分隔符是

運行.separator  以后,再 SELECT * FROM Names;,可以看到分隔符已經變成了。

SQLite 基本控制臺(終端)命令簡介

2、設置顯示模式:.mode  模式

有好幾種顯示模式,默認的是 list 顯示模式,一般我們使用 column 顯示模式,還有其他幾種顯示模式可以 .help 看 mode 相關內容。看看下面的圖,和上面是不是顯示的不一樣了?

SQLite 基本控制臺(終端)命令簡介

3、顯示標題欄:.headers   on

看看,是不是又不太一樣了?

SQLite 基本控制臺(終端)命令簡介

4、設置每一列的顯示寬度:.width     

一些內容,默認的寬度顯示不下,這個命令就有用了。

5、設置 NULL 值顯示成什么樣子: .nullvalue  你想要的NULL值格式。

默認情況下NULL值什么也不顯示,你可以設置成你自己想要的樣子。

SQLite 基本控制臺(終端)命令簡介

6、列出當前顯示格式設置情況:.show

SQLite 基本控制臺(終端)命令簡介

7、配置文件 .sqliterc

如果我們每次進入命令行都要重新設置顯示格式,很麻煩,其實 .show 命令列出的所有設置項都可以保存到一個 .sqliterc 文件中,這樣每次進入命令行就自動設置好了。.sqlterc 文件在 Linux 下保存在用戶的 Home 目錄下,在 Windows 下可以保存到任何目錄下,但是需要設置環境變量讓數據庫引擎能找到它,感興趣的可以看看幫助。

本文就介紹到這里,如果文中有描述不當的地方,歡迎大家批評指正。

【編輯推薦】

  1. 虛擬機上Oracle 10g DataGuard的配置
  2. 揭開功能強大的數據庫表DUAL的神秘面紗
  3. 共享database獨立Schema構建SAAS平臺
  4. ASP通過Oracle Object for OLE對Oracle查詢
  5. Oracle認證:詳解OracleTemp臨時表空間處理方法

 

責任編輯:趙鵬 來源: 博客園
相關推薦

2010-05-11 09:41:56

MySQL基本操作

2011-07-11 09:57:19

WINDOWS控制臺DOS命令

2011-07-11 14:20:19

2011-07-06 15:25:33

Windows控制臺

2010-12-21 14:32:43

操作控制臺

2009-08-19 15:31:32

C#控制臺應用程序

2011-12-23 10:51:24

Node.js

2011-08-08 10:55:14

IOS 控制臺 Consol

2009-06-15 09:50:34

JBoss控制臺

2009-03-04 10:10:49

控制臺桌面虛擬化Xendesktop

2021-06-17 11:34:54

SLS 阿里云

2009-10-10 10:45:04

VB 2005新型控制

2011-07-27 13:59:04

2011-07-22 17:05:56

IOS 控制臺 GDB

2011-03-24 10:08:38

Nagiosweb

2009-07-29 10:22:00

Ubuntu虛擬控制臺linux

2011-07-11 13:52:45

Windows控制臺

2010-09-02 15:54:26

路由器配置

2009-06-12 18:50:34

JBoss控制臺密碼設

2010-03-22 18:42:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线观看 | 日韩视频 中文字幕 | 国产精品免费一区二区三区四区 | 国产综合av | 能看的av网站| 精品成人佐山爱一区二区 | 亚洲人成人一区二区在线观看 | 二区视频 | 99精品欧美一区二区三区综合在线 | www.色.com| 在线国产视频观看 | 国产免费一区二区 | 午夜影院在线观看版 | 国产一区精品 | 久久久久久成人 | 久久久久久综合 | 成人精品一区二区三区 | 国产精品国产自产拍高清 | 欧美性网 | 手机av免费在线 | 欧美高清成人 | 日韩av一二三区 | 国产极品车模吞精高潮呻吟 | 欧美日韩久久 | 亚洲欧美日韩激情 | 在线免费观看黄色网址 | 亚洲日本一区二区三区四区 | 九九热精品免费 | 精品国产欧美一区二区三区不卡 | 日韩性生活网 | 亚洲高清视频在线 | 亚洲免费精品 | 日韩综合在线 | 欧美一区二区三区视频在线观看 | 成人在线免费观看av | 视频一二三区 | 国产精品久久久久aaaa九色 | 久国产 | 精品美女在线观看视频在线观看 | 91久久国产综合久久 | 久久人爽 |