學習SQLite第一天.

來源:互聯網
上載者:User

 1 。從 www.sqlite.org 下載 SQLite 3.3.4 的版本

   為了方便,我把它解壓了,就一個 SQLite3.exe ,放入 Windows 目錄下。

   Cmd 進入命令列

   1)

   建立資料庫檔案 :

   >SQLite3 d:"test.db 斷行符號

   就產生了一個 test.db 在 d 盤。

   這樣同時也 SQLite3 掛上了這個 test.db

   2)

   用 .help 可以看看有什麼命令

   >.help 斷行符號即可

   3) 可以在這裡直接輸入 SQL 陳述式建立表格 用 ; 結束,然後斷行符號就可以看到了

   4) 看看有建立了多少表

   >.tables

   5) 看錶結構

   >.schema 表名

   6) 看看目前掛的資料庫

   >.database

   7) 如果要把查詢輸出到檔案

   >.output 檔案名稱

   > 查詢語句;

   查詢結果就輸出到了檔案 c:"query.txt

 

   把查詢結果用螢幕輸出

   >.output stdout

 

   8) 把表結構輸出,同時索引也會輸出

     .dump 表名

   9) 退出

   >.exit 或者 .quit

 

2 。從 http://sqlite.phxsoftware.com/ 下載 Ado.net 驅動。

   下載了安裝,在安裝目錄中存在 System.Data.SQLite.dll

    我們只需要拷貝這個檔案到引用目錄,並添加引用即可對 SQLite 資料庫操作了

   所有的 Ado.net 對象都是以 SQLite 開頭的,比如 SQLiteConnection

   串連串只需要如下方式

   Data Source=d:"test.db 或者 DataSource=test.db-- 應用在和應用程式或者 .net 能夠自動找到的目錄

   剩下的就很簡單了 ~~

 

3 。 SQL 文法

   由於以前用 SQLServer 或者 ISeries ,所以 DDL 的文法很汗顏

   1) 建立一個單個 Primary Key 的 table

   CREATE TABLE  [Admin] (

 [UserName] [nvarchar] (20)   PRIMARY KEY NOT NULL ,

 [Password] [nvarchar] (50)   NOT NULL ,

 [Rank] [smallint] NOT NULL ,

 [MailServer] [nvarchar] (50)   NOT NULL ,

 [MailUser] [nvarchar] (50)   NOT NULL ,

 [MailPassword] [nvarchar] (50)   NOT NULL ,

 [Mail] [nvarchar] (50)   NOT NULL

   ) ;

   2) 建立一個多個 Primary Key 的 table

   CREATE TABLE  [CodeDetail] (

 [CdType] [nvarchar] (10)  NOT NULL ,

 [CdCode] [nvarchar] (20)  NOT NULL ,

 [CdString1] [ntext]   NOT NULL ,

 [CdString2] [ntext]   NOT NULL ,

 [CdString3] [ntext]   NOT NULL,

  PRIMARY KEY (CdType,CdCode)

        

   ) ;

   3) 建立索引

   CREATE  INDEX [IX_Account] ON  [Account]([IsCheck], [UserName]);

  

   還可以視圖等等。

4. 還有很有用的 SQL

  Select * from Sqlite_master

  Select datetime('now')

  Select date('now')

  Select time('now')

  以及很多函數,具體可以參考 SQLite 的 wiki.

 

oh, 還有就是看到有人說,好像成批插入的時候,啟動事務,比不啟動事務快 n 倍

還有就是盡量使用參數化的 SQL, 估計和商用 DB 一樣能夠自動 Prepare.

 

===========

 

sqlite 可以在 shell/dos command 底下直接執行命令:

 

sqlite3 film.db "select * from film;"

 

輸出 HTML 表格:

 

sqlite3 -html film.db "select * from film;"

 

將資料庫「倒出來」:

 

sqlite3 film.db ".dump" > output.sql

 

利用輸出的資料,建立一個一模一樣的資料庫(加上以上指令,就是標準的 SQL 資料庫備份了):

 

sqlite3 film.db < output.sql

 

在大量插入資料時,你可能會需要先打這個指令:

 

begin;

 

插入完資料後要記得打這個指令,資料才會寫進資料庫中:

 

commit;

 

;

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.