Linux Sqlite3 基礎知識

2021-09-23 23:54:11 字數 3089 閱讀 8159

1. 檢視所有表

.tables

2. 檢視所有表建立語句

.schema

3. 檢視指定表建立語句

.schema table_name

1、安裝sqlite3

ubuntu下安裝sqlite3直接在終端執行命令:

#apt-get install sqlite3

檢視版本資訊:

#sqlite3 -version

2 、sqlite3常用命令

當前目錄下建立或開啟test.db資料庫檔案,並進入sqlite命令終端,以sqlite>字首標識:

#sqlite3 test.db

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

sqlite>.database

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;

您可能感興趣的文章:

Linux sqlite3基本命令

系統平台 ubuntu10.04 簡介sqlite3一款主要用於嵌入式的輕量級資料庫,本文旨在為熟悉sqlite3基本命令提供技術文件。備註 本文所有操作均在root 使用者下進行。1 安裝 sqlite3 ubuntu下安裝 sqlite3 直接在終端執行命令 apt get install sq...

linux sqlite3怎麼通過命令列退出

help可列印出幫助文件 quit就可以退出sqlite3,回來shell介面 嵌入式資料庫sqlite移植到s3c2410的方法 以下是本人的工作目錄,可根據自己的情況進行調整。1 交叉編譯環境建立 用於交叉編譯sqlite 安裝cross 2.95.3.tar.bz2交叉編譯工具到 usr lo...

Android tensorflow 基礎知識學習

今天記錄下tensorflow的一些基本知識 1.匯入tensorflow 庫,且指令碼中新增執行使用的python環境 user bin env python import tensorflow as tf 匯入tensorflow庫 匯入 mnist 資料集 資料在linux 根目錄 data下...