Linux Sqlite3
ubuntu下使用SQLite3的基本命令
標籤: sqlite3
簡介
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 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
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;
相關文章
- 使用sqlite3 模組操作sqlite3資料庫SQLite資料庫
- Python資料庫模組(sqlite3,SQLite3)Python資料庫SQLite
- Python3資料庫模組(sqlite3,SQLite3)Python資料庫SQLite
- ubuntu上使用sqlite3UbuntuSQLite
- windows安裝sqlite3WindowsSQLite
- SQLite3 使用教學SQLite
- SQLITE3 使用總結SQLite
- qcad qt ecmajavascript sqlite3QTJavaScriptSQLite
- ubuntu下安裝sqlite3UbuntuSQLite
- sqlite3資料庫操作SQLite資料庫
- iOS開發-sqlite3使用iOSSQLite
- 【知識點】SQLite3總結SQLite
- CentOS6.5安裝sqlite3CentOSSQLite
- SQLite3 匯出 CSV 檔案SQLite
- Peewee Sqlite3 中文模糊查詢SQLite
- lazarus 開啟 sqlite3資料SQLite
- python sqlite3 資料庫操作PythonSQLite資料庫
- C++ 操作sqlite3資料庫C++SQLite資料庫
- django之sqlite3常見錯誤DjangoSQLite
- php封裝db 類連線sqlite3PHP封裝SQLite
- android sqlite3 not found 解決總結AndroidSQLite
- 讓 Python 更加充分的使用 Sqlite3PythonSQLite
- Simple: SQLite3 中文結巴分詞外掛SQLite分詞
- sqlite3在ubuntu的終端下面的操作SQLiteUbuntu
- SQLite3資料庫檔案結構解析SQLite資料庫
- Python標準庫14 資料庫 (sqlite3)Python資料庫SQLite
- Rails7、sqlite3 和 litestream組合Docker配置AISQLiteDocker
- 怎樣在sqlite3上執行SQL語句SQLite
- SQLite 命令列客戶端 sqlite3 使用指南SQLite命令列客戶端
- python用sqlite3模組操作sqlite資料庫PythonSQLite資料庫
- cocos2dx之引入Sqlite3資料庫SQLite資料庫
- [Python]_[初級]_[校驗查詢sqlite3資料庫]PythonSQLite資料庫
- gorm操作sqlite3,高併發讀寫如何避免鎖庫?GoORMSQLite
- SQLite3原始碼學習(32) WAL日誌詳細分析SQLite原始碼
- Python 快速教程(標準庫14):資料庫 (sqlite3)Python資料庫SQLite
- Android NDK區分第一次起機-sqlite3 operation supportAndroidSQLite
- 利用python將滬深300股票歷史資料儲存在sqlite3PythonSQLite
- SQLite3原始碼學習(33) Pager模組中的相關問題和細節SQLite原始碼