1. 程式人生 > >sqlite常用的命令-增刪改查

sqlite常用的命令-增刪改查

一、檢視版本資訊:

#sqlite3 -version

二、sqlite3常用命令

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

2、輸出幫助資訊:

sqlite>.help

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

sqlite>.database

4、退出sqlite終端命令:

sqlite>.quit

sqlite>.exit

列出當前顯示格式的配置:
sqlite>.show

6、顯示資料庫結構:.schema

顯示錶的結構:.schema    表名

其實就是一些 SQL 

語句,他們描述了資料庫的結構,如圖


7、匯出某個表的資料: .dump    表名

8、設定匯出目標: 

.output     檔名  

或者

.output   stdout

先執行 .output cars.sql ,然後再執行 .dump 命令試試看?如果要回覆成匯出到終端(標準輸出),則執行 .output stdout

10、設定分隔符:.separator    分隔符

我們可以首先執行 SELECT * FROM Cars; ,可以看到預設的分隔符是 

執行.separator : 以後,再 SELECT * FROM Cars;,可以看到分隔符已經變成 

11

顯示標題欄:.headerson

12設定顯示模式:.mode    模式

有好幾種顯示模式,預設的是 list 顯示模式,一般我們使用 column 顯示模式,還有其他幾種顯示模式可以 .help 看 mode 相關內容。看看下面的圖,和上面是不是顯示的不一樣了?

13、設定 NULL 值顯示成什麼樣子: .nullvalue     你想要的NULL值格式

預設情況下NULL值什麼也不顯示,你可以設定成你自己想要的樣子

14、配置檔案 .sqliterc

如果我們每次進入命令列都要重新設定顯示格式,很麻煩,其實 .show 命令列出的所有設定項都可以儲存到一個 .sqliterc 

檔案中,這樣每次進入命令列就自動設定好了。.sqlterc 檔案在 Linux 下儲存在使用者的 Home 目錄下,在 Windows 下可以儲存到任何目錄下,但是需要設定環境變數讓資料庫引擎能找到它,感興趣的可以看看幫助。 

三、資料庫和表的相關命令

1、建立一個新的資料庫:sqlite3     檔名

建立一個 test.db 資料庫檔案,開啟控制檯視窗,命令如下:

sqlite>sqlite3 test.db

2、開啟一個已經存在的資料庫:sqlite3 已經存在的檔名

建立一個新資料庫和開啟一個已經存在的資料庫命令是一模一樣的,如果檔案在當前目錄下不存在,則新建;如果存在,則開啟。

3建立資料表

create table table_name(field1 type1, field2 type1, ...);

table_name是要建立資料表名稱,fieldx是資料表內欄位名稱,typex則是欄位型別。
如:該語句建立一個記錄學生資訊的資料表。

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

4新增資料記錄

insert into table_name(列field1, field2, ...) values(值val1, val2, ...);

valx為需要存入欄位的值。
例,往老師資訊表新增資料:


很簡單,建立了一個 Teachers 表並向其中添加了四條資料,設定了一些約束,其中有自動增加的主鍵、預設值等等。

5、修改資料

UPDATE 表 SET 列 = '新值WHERE 條件語句】

UPDATE 語句用來更新表中的某個列,如果不設定條件,則所有記錄的這一列都被更新; 如果設定了條件,則符合條件的記錄的這一列被更新, WHERE 子句被用來設定條件,如下例:

6刪除資料 DELETE FROM 表 【WHERE 條件語句】

如果設定 WHERE 條件子句,則刪除符合條件的資料記錄;如果沒有設定條件語句,則刪除所有記錄

7、匯入資料:.read     資料檔案

開啟記事本,並將下列 SQL 語句複製到記事本中,儲存為 test.sql ,在命令列環境中輸入

.read   test.sql

即將所有的資料匯入到 test.db 資料庫中。

BEGIN TRANSACTION;
CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);
INSERT INTO Cars VALUES(1,'Audi',52642);
INSERT INTO Cars VALUES(2,'Mercedes',57127);
INSERT INTO Cars VALUES(3,'Skoda',9000);
INSERT INTO Cars VALUES(4,'Volvo',29000);
INSERT INTO Cars VALUES(5,'Bentley',350000);
INSERT INTO Cars VALUES(6,'Citroen',21000);
INSERT INTO Cars VALUES(7,'Hummer',41400);
INSERT INTO Cars VALUES(8,'Volkswagen',21600);
COMMIT;

BEGIN TRANSACTION;
CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice integer CHECK(OrderPrice>0), 
                    Customer text);
INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");
INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");
INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");
INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");
INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");
COMMIT;

8查詢資料記錄

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;

IN (集合)
select * from table_name where field in ('val1', 'val2', 'val3');

BETWEEN 1 AND 2
select * from table_name where field between val1 and val2;

f、查詢記錄數目

select count (*) from table_name;

g區分列資料
select distinct field from table_name;
有一些欄位的值可能會重複出現,distinct去掉重複項,將列中各欄位值單個列出。

h別名 SELECT 列 AS 別名,列 AS 別名 FROM

可以給返回資料集中的某些列起一個比較直觀的名字,比如把 Cost 改為"Price Of Car"

I條件查詢 SELECT 列 FROM 表 【WHERE 條件語句】

一般的條件語句都是大於、小於、等於之類的,這裡有幾個特別的條件語句

LIKE

------------------------------

LIKE 用萬用字元匹配字串

下劃線 匹配一個字串

百分號 匹配多個字串

LIKE 匹配字串時不區分大小寫

GLOB

J 區分 DISTINCT 

有一些欄位的值可能會出現重複,比如訂單表中,一個客戶可能會有好幾份訂單,因此客戶的名字會重複出現。

到底有哪些客戶下了訂單呢?下面的語句將客戶名字區分出來。

k分組 GROUP BY 

分組和前面的區分有一點類似。區分僅僅是為了去掉重複項,而分組是為了對各類不同項進行統計計算。

比如上面的例子,我們區分出 個客戶,這 個客戶一共下了 11 個訂單,說明很多客戶都下了不止一個訂單。

下面的語句統計每個客戶在訂單上總共花費了多少錢。

這裡 Sum 是 SQLite 內建的統計函式,在這個例子中用來求每個顧客的訂單價格的和。

統計結果也可以設定返回條件,但是不能用 WHERE 子句,而是用 HAVING 子句,如下例,返回訂單總額大於 1000 的顧客。

9、建立索引
當說資料表存在大量記錄,索引有助於加快查詢資料錶速度。
create index index_name on table_name(field);
例,針對學生表stu_no欄位,建立一個索引:
create index student_index on student_table(stu_no);
建立完成後,sqlite3在對該欄位查詢時,會自動使用該索引。
 
10刪除資料表或索引
drop table table_name;
drop index index_name;

四、sqlite3儲存資料的型別
NULL:標識一個NULL值
INTERGER:整數型別
REAL:浮點數
TEXT:字串
BLOB:二進位制數

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

CREATETABLE Orders(Id integerPRIMARYKEY, OrderPrice integerCHECK(OrderPrice>0), 
                    Customer 
text);

CREATETABLE Friends(Id integerPRIMARYKEY, Name textUNIQUENOTNULL
                     Sex 
textCHECK(Sex IN ('M''F')));

CREATETABLEIFNOTEXISTS Reservations(Id integerPRIMARYKEY
                                        CustomerId 
integerDaytext);
INSERTINTO Reservations(CustomerId, DayVALUES(1'2009-22-11');

CREATETABLE Books(Id integerPRIMARYKEY, Title text, Author text
                   Isbn 
textdefault'not available');

怎麼在已經建立的表中插入一列

ALTER  TABLE   table-name 
 ADD COLUMN  column-name column-type

相關推薦

sqlite常用命令-刪改

一、檢視版本資訊: #sqlite3 -version 二、sqlite3常用命令 1、當前目錄下建立或開啟test.db資料庫檔案,並進入sqlite命令終端,以sqlite>字首標識: 2、輸出幫助資訊: sqlite>.help 3、檢視資料庫檔案資訊命令(注意命令前帶字元'.'):

Thinkphp5的安裝及其常用刪改

blog 時間 clas alt img 學習 thinkphp5 方便 highlight 很長沒有碼代碼了,現在開始做這件事情的意義已經完全與以前不一樣了。因為最近有相當長的一段休息時間,是個學習的好時間啊。之前接觸過TP3.2,聽說後來的版本有挺大的改動,因此呢,現在

安卓使用sql語句實現SQLite資料庫的刪改

本篇博文是在上一篇新建了資料庫的基礎上編寫的,上一篇博文連結:https://blog.csdn.net/liyunfu233/article/details/84193368 首先在佈局檔案中新增四個按鍵分別是增刪改查四種方法,在主視窗類中實現四種方法: 第一個點選按鈕增加一條記錄

hbase shell 命令-刪改

hbase基礎命令 bin/hbase shell list 看錶 1、檢視伺服器狀態 status 'bigdata' 2、檢視當前有哪些表 list 3、檢視幫助 help hbase表操作 1、建立表 create '表名', '列族' 2、全表掃描

安卓中對SQLite資料庫的刪改

第一步:編寫一個java Bean package com.itfom.entity; public class Person { private String name; private int age; private String phone; publi

安卓中sqlite資料庫的刪改操作的工具類

<span style="font-family:Microsoft YaHei;font-size:18px;">將資料庫中的增刪改查操作封裝成一個類,使用時直接呼叫很方便 package com.qianfeng.day14_sqliteopenhelpe

常用刪改的實現之dao層

public interface IFoodTypeDao { //增 輸入:一個物件 輸出:無 void add //刪 輸入:id 輸出:無 void delet

Mysql常用命令操作之刪改

賬號 建立 批量插入 創建表 tab use 常用命令 default images 1.數據庫操作: 1.1 創建數據庫 : create database <數據庫名> a.建立一個名為oldboy_default的數據

MYSQL的常用命令刪改語句和資料型別

連線命令:mysql -h[主機地址] -u[使用者名稱] -p[使用者密碼] 建立資料庫:create database [庫名] 顯示所有資料庫: show databases; 開啟資料庫:use [庫名] 當前選擇的庫狀態:SELECT DATABASE(); 建立資料表:CRE

MySQL刪改常用語句命令

  2017/11/01 | 未分類|songjian| 1 條評論| 1818 viewsMySQL關係型資料庫RDS中的老大哥,增刪改查是MySQL入門的基礎,資料庫吧來說說MySQL資料庫增刪改查常用語句。增刪改查語句增刪改查的語句命令為增:insert刪:delete

mysql常用語句、命令刪改功能)

修改資料庫的字符集     mysql>use mydb     mysql>alter database mydb character set utf8;建立資料庫指定資料庫的字符集     mysql>create database mydb char

MongoDB學習筆記(二)_常用刪改命令

建立資料庫:use testdb 建立集合 固定集合:需要指定size。比如: db.createCollection("mycol",{capped:true,autoIndexId:true,size:6142800,max:10000}) 表示建立名為mycol的

資料庫常用刪改命令

1、查詢命令 SELECT 列名稱 FROM 表名稱 SELECT * FROM 表名稱 WHERE 列名稱 LIKE % 2、刪除命令 DELETE FROM 表名稱 WHERE 列名稱 = 值  注意:刪除某條語句要用where語句,不然會刪除整個表格 3、更改

MySQL 常用命令手冊 刪改大法

## 一、資料庫操作 ### 建立資料庫 **語法:** ```mysql CREATE DATABASE database_name; ``` ### 刪除資料庫 刪除資料庫務必謹慎!因為執行刪除命令後,所有資料將消失。 **語法:** ```mysql DROP DATABASE data

常用刪改sql示例

sql常用查詢一、插入數據 (1)INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘) (2)INSERT INTO Persons (LastName, Address) VALUES

SQL常用刪改語句

滿足 between 結構 模糊 運算 源表 刪除表 sel 模糊查詢 1增 1.1【插入單行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性別,出生日期) values (‘開心朋

SQLite數據庫刪改

lda writable switch books ide red ear create val 在安卓開發中不可避免的會遇到在手機中保存數據的時候,如果只是小量數據(如保存設置等)的話,用SharedPreferences是個極好的選擇,它以鍵值對的形式保存數據,但是如果

簡單的刪改操作命令

區別 命名 兩個 integer pan 數據庫 add 希望 robert 刪除  DELETE FROM (數據庫的哪一個表)USER WHRER ID=(條件)2; 插入  INSERR INTO (數據庫的哪一個表)USER VALUES(數據); 查找  SEL

Kafka Shell基本命令(包括topic的刪改

pre table kafka tool for del 生產 scribe 風險 本節內容: 創建kafka topic 查看所有topic列表 查看指定topic信息 控制臺向topic生產數據 控制臺消費topic的數據 查看topic某分區偏移量最大(小)值 增加