ubuntu下使用SQLite3的基本命令,ubuntusqlite3命令

來源:互聯網
上載者:User

ubuntu下使用SQLite3的基本命令,ubuntusqlite3命令

系統平台:ubuntu10.04

簡介
sqlite3一款主要用於嵌入式的輕量級資料庫,本文旨在為熟悉sqlite3基本命令提供技術文檔。
     備忘:本文所有操作均在root使用者下進行。

1、安裝sqlite3
ubuntu下安裝sqlite3直接在終端運行命令:

#apt-get install sqlite3

查看版本資訊:

#sqlite3 -version

 
2 、sqlite3常用命令
目前的目錄下建立或開啟test.db資料庫檔案,並進入sqlite命令終端,以sqlite>首碼標識:

#sqlite3 test.db

 
查看資料庫檔案資訊命令(注意命令前帶字元'.'):

sqlite>.database

查看所有表的建立語句:

sqlite>.schema

 
查看指定表的建立語句:

sqlite>.schema table_name

 

以sql語句的形式列出表內容:sqlite>.dump table_name 設定顯示資訊的分隔字元:sqlite>.separator symbleExample:設定顯示資訊以‘:'分隔sqlite>.separator : 設定顯示模式:sqlite>.mode mode_nameExample:預設為list,設定為column,其他模式可通過.help查看mode相關內容sqlite>.mode column 輸出協助資訊:sqlite>.help 設定每一列的顯示寬度:sqlite>.width width_valueExample:設定寬度為2sqlite>.width 2 列出當前顯示格式的配置:sqlite>.show 退出sqlite終端命令:sqlite>.quit或sqlite>.exit

 
3、sqlite3指令
sql的指令格式:所有sql指令都是以分號(;)結尾,兩個減號(--)則表示注釋。
如:

sqlite>create studen_table(Stu_no interger PRIMARY KEY, Name text NOT NULL, Id interger UNIQUE, Age interger CHECK(Age>6), School text DEFAULT 'xx小學);

該語句建立一個記錄學生資訊的資料表。
 
3.1 sqlite3儲存資料的類型
NULL:標識一個NULL值
INTERGER:整數類型
REAL:浮點數
TEXT:字串
BLOB:位元

3.2 sqlite3儲存資料的約束條件
Sqlite常用約束條件如下:
PRIMARY KEY - 主鍵:
1)主鍵的值必須唯一,用於標識每一條記錄,如學生的學號
2)主鍵同時也是一個索引,通過主鍵尋找記錄速度較快
3)主鍵如果是整數類型,該列的值可以自動成長
NOT NULL - 非空:
約束列記錄不可為空,否則報錯
UNIQUE - 唯一:
除主鍵外,約束其他列的資料的值唯一
CHECK - 條件檢查:
約束該列的值必須符合條件才可存入
DEFAULT - 預設值:
列資料中的值基本都是一樣的,這樣的欄位列可設為預設值

3.3 sqlite3常用指令

1)建立資料表create table table_name(field1 type1, field2 type1, ...);table_name是要建立資料表名稱,fieldx是資料表內欄位名稱,typex則是欄位類型。例,建立一個簡單的學生資訊表,它包含學號與姓名等學生資訊:create table student_info(stu_no interger primary key, name text); 2)添加資料記錄insert into table_name(field1, field2, ...) values(val1, val2, ...);valx為需要存入欄位的值。例,往學生資訊表添加資料:Insert into student_info(stu_no, name) values(0001, alex); 3)修改資料記錄update table_name set field1=val1, field2=val2 where expression;where是sql語句中用於條件判斷的命令,expression為判斷運算式例,修改學生資訊表學號為0001的資料記錄:update student_info set stu_no=0001, name=hence where stu_no=0001; 4)刪除資料記錄delete from table_name [where expression];不加判斷條件則清空表所有資料記錄。例,刪除學生資訊表學號為0001的資料記錄:delete from student_info where stu_no=0001; 5)查詢資料記錄select指令基本格式:select columns from table_name [where expression];a查詢輸出所有資料記錄select * from table_name;b限制輸出資料記錄數量select * from table_name limit val;c升序輸出資料記錄select * from table_name order by field asc;d降序輸出資料記錄select * from table_name order by field desc;e條件查詢select * from table_name where expression;select * from table_name where field in ('val1', 'val2', 'val3');select * from table_name where field between val1 and val2;f查詢記錄數目select count (*) from table_name;g區分列資料select distinct field from table_name;有一些欄位的值可能會重複出現,distinct去掉重複項,將列中各欄位值單個列出。 6)建立索引當說資料表存在大量記錄,索引有助於加快尋找資料錶速度。create index index_name on table_name(field);例,針對學生表stu_no欄位,建立一個索引:create index student_index on student_table(stu_no);建立完成後,sqlite3在對該欄位查詢時,會自動使用該索引。 7)刪除資料表或索引drop table table_name;drop index index_name;

參考資料:
http://www.sqlite.com.cn/MySqlite/4/378.Html


sqlite3 在linux下怎使用

如果是ubuntu, 可以用sudo apt-get install sqlite3 安裝
 
sqlite3命令怎開啟一個建立好了的資料庫?

還是sqlite3 foo.db這個命令
 

相關文章

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.