安裝:
方法一:
wget http:
//www.sqlite.org/sqlite-autoconf-3070500.tar.gz
tar xvzf sqlite-autoconf-3070500.tar.gz
cd sqlite-autoconf-3070500
./configure
make
sudo make install
方法二:
sudo yum install sqlite-devel
sql
sudo gem install sqlite3-ruby
命令:
查看版本信息:
#sqlite3 -version
sqlite3終端進入命令:
# sqlite3
查看數據庫文件信息命令(注意命令前帶字符'.'):
sqlite>.database數據庫
查看全部表的建立語句:
sqlite>.schema
查看指定表的建立語句:
sqlite>.schema table_name
以sql語句的形式列出表內容:
sqlite>.dump table_name
設置顯示信息的分隔符:
sqlite>.separator symble
Example:設置顯示信息以‘:'分隔
sqlite>.separator :
設置顯示模式:
sqlite>.mode mode_name
Example:默認爲list,設置爲column,其餘模式可經過.help查看mode相關內容
sqlite>.mode column
輸出幫助信息:
sqlite>.help
設置每一列的顯示寬度:
sqlite>.width width_value
Example:設置寬度爲2
sqlite>.width 2
列出當前顯示格式的配置:
sqlite>.show
退出sqlite終端命令:
sqlite>.quit
或
sqlite>.exit
三、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:二進制數express
3.2 sqlite3存儲數據的約束條件
Sqlite經常使用約束條件以下:
PRIMARY KEY - 主鍵:
1)主鍵的值必須惟一,用於標識每一條記錄,如學生的學號
2)主鍵同時也是一個索引,經過主鍵查找記錄速度較快
3)主鍵若是是整數類型,該列的值能夠自動增加
NOT NULL - 非空:
約束列記錄不能爲空,不然報錯
UNIQUE - 惟一:
除主鍵外,約束其餘列的數據的值惟一
CHECK - 條件檢查:
約束該列的值必須符合條件纔可存入
DEFAULT - 默認值:
列數據中的值基本都是同樣的,這樣的字段列可設爲默認值ruby
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;ui