SQLite 常用語句解析

SQLite 常用語句
1.創建數據庫: sqlite3 數據庫名稱.db;
example: sqlite3 test.db
2.查詢已經創建的數據庫: .database;
3.附加數據庫:ATTACH DATABASE ‘testDB.db’ as ‘TEST’;
4.分離數據庫:DETACH DATABASE ‘currentDB’;
5,創建表:
sqlite> CREATE TABLE DEPARTMENT(
…> ID INT PRIMARY KEY NOT NULL, //主鍵
…> DEPT CHAR(50) NOT NULL,
…> EMP_ID INT NOT NULL
…> );
6,查看數據庫中所有表格名稱:.tables;
7,查看數據庫中某個表格的完整信息:.schema COMPANY(company 表示表格的名稱);
刪除表,DROP TABLE COMPANY;

8,插入數據:
第一種寫法:
INSERT INTO COMAPNY (colum1,colum2,colum3) VALUES(value1,value2,value3);
其中“COMAPNY”表示 “表名”;
colum1,colum2,colum3 表示,鍵值;
colum1,colum2,colum3 表示,各個鍵值對應的數據;
第二種寫法:
INSERT INTO COMPANY VALUES (value1,value2,value3);
不用說明表格中的鍵值,而直接插入數據;

9.規範化表格輸出樣式;
在前面輸入以下兩句:
.header on
.mode column
然後再是查詢輸出語句 :select * from table_name;

10.查詢語句:
Example :tablename == “person”;
(1),查詢表格中的所有的數據:
Select * from peroson ;
(2),查詢表格中某一個字段:
Select name from person;
(3),查詢表格中某一個或多個字段符合相對應的條件:
//從person表格中 查詢年齡等於20的人的姓名;

Select name from person where age = 20;

//從person表格中 查詢年齡在20和40之間的人的姓名;
Select name from person where age between 20 and 40;
//從person表格中 查詢地址在北京的人的姓名;
Select name from person where address == ‘beijing’;
//從person表格中 查詢id, name,age 並且年齡等於20或者40的;
Select id, name,age person where age in(20,40);

//從person表格中 查詢id, name,age 並且年齡等40,地址在北京,工資爲10000的人;
Select id, name,age person where age = 40 and address == ‘beijing’ and salary = 10000;
//從person表格中查找地址在蘇州或者北京的人;
select id,name,address from person where address == ‘suzhou’ or address == ‘beijing’;

11,更新表格中數據:
//更改表格中地址爲北京的人的姓名爲:dema;
Update person set name = ‘dema’ where address == ‘beijing’;
//更改表格中所有人的信息,比如姓名,地址,關鍵字 where就不需要了
Update person set name == ‘tom’, salary =8888;
12,刪除表格中的數據:
//刪除person表格中 name == kangkang 的記錄;
Delete from person where name == ‘kangkang’;
//刪除表格中id爲7的記錄;
Delete from person where id = 7;

//刪除 person 表格中所有的數據;
Detele from person;
13,SQLite 的like字句:
SQLite 的 LIKE 運算符是用來匹配通配符指定模式的文本值。如果搜索表達式與模式表達式匹配,LIKE 運算符將返回真(true),也就是 1。這裏有兩個通配符與 LIKE 運算符一起使用:
百分號 (%)(表示佔用任意多個)
下劃線 (_)(一個符號僅表示一個位置)
百分號(%)代表零個、一個或多個數字或字符。下劃線(_)代表一個單一的數字或字符。這些符號可以被組合使用。
//從person表格中查找年齡以4開頭的記錄;
Select name from person where age like ‘4%’;
//從person表格中查找年齡中第二個數字爲4的人的記錄;
Select name from person where age like ‘_4’;
14,SQLite 的glob字句:
SQLite 的 GLOB 運算符是用來匹配通配符指定模式的文本值。如果搜索表達式與模式表達式匹配,GLOB 運算符將返回真(true),也就是 1。與 LIKE 運算符不同的是,GLOB 是大小寫敏感的,對於下面的通配符,它遵循 UNIX 的語法。
星號 (*)
問號 (?)
星號(*)代表零個、一個或多個數字或字符。問號(?)代表一個單一的數字或字符。這些符號可以被組合使用。
//可以把glob當成對大小寫敏感的like用法
select * from person where address like ‘B%’;
select * from person where address glob ‘B*’;
15,SQLite 的limit 子句:
用來限制返回的數據條數;
//限制查詢表格中返回的數據記錄爲6條
Select * from person limit 6;
//限制查詢表格的數據爲兩條,並且從第三位開始
Select * from person limit 2 offset 2;
16,SQLite Order By 的使用方法:
SQLite 的 ORDER BY 子句是用來基於一個或多個列按升序或降序順序排列數據;
//按照年齡降序排列
select * from person order by age desc;
//按照年齡升序排列
select * from person order by age asc;
17,SQLite group by 的使用方法:
//執行後的結果,名字相同的人的薪資會相加在一起,形成一條數據
Select name,sum(salary) from person group by name;

//年齡相同的人的薪資相加在一起,形成一條數據
select name, sum(salary) from person group by age;
//年齡相同的人的薪資相加在一起,然後再按照薪水排序
select name, sum(salary) from person group by age order by salary;
//年齡相同的人的薪資相加在一起,然後再按照名稱排序
select name, sum(salary) from person group by age order by name;
18 關鍵字DISTINCT的用法以及含義
SQLite 的 DISTINCT 關鍵字與 SELECT 語句一起使用,來消除所有重複的記錄,並只獲取唯一一次記錄。
有可能出現一種情況,在一個表中有多個重複的記錄。當提取這樣的記錄時,DISTINCT 關鍵字就顯得特別有意義,它只獲取唯一一次記錄,而不是獲取重複記錄。
//如果name中有相同的記錄,取且僅取一條記錄(關鍵字修飾的”鍵值“,如果有重複的,僅保留其中一條數據)
select distinct name from person;
19, SQLite的 Having 子句
如下圖所示:

這裏寫圖片描述
其中HAVING 子句允許指定條件來過濾將出現在最終結果中的分組結果。
WHERE 子句在所選列上設置條件,而 HAVING 子句則在由 GROUP BY 子句創建的分組上設置條件

發佈了58 篇原創文章 · 獲贊 21 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章