Sqlite3基本語句及安裝過程
SQLite3簡介
SQLite3是一款輕量級(jí)的、基于文件的開源關(guān)系型數(shù)據(jù)庫引擎,由 D. Richard Hipp 于 2000 年首次發(fā)布。它遵循 SQL 標(biāo)準(zhǔn),但與傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)不同,SQLite 并不運(yùn)行在獨(dú)立的服務(wù)器進(jìn)程中,而是作為一個(gè)嵌入式數(shù)據(jù)庫引擎直接集成到應(yīng)用程序中。其所有的數(shù)據(jù)結(jié)構(gòu)(包括表、索引、事務(wù)日志等)都保存在一個(gè)單一的 .db 文件中。
SQLite 的設(shè)計(jì)理念是“零配置、開箱即用”,開發(fā)者只需將其動(dòng)態(tài)庫鏈接進(jìn)應(yīng)用程序,就可以直接進(jìn)行數(shù)據(jù)庫操作,無需安裝數(shù)據(jù)庫服務(wù)或進(jìn)行網(wǎng)絡(luò)配置。
SQLite3 是 SQLite 的第三個(gè)主要版本,相較前代有更強(qiáng)的兼容性和更完整的 SQL 支持,是目前最常用的版本。
sqlite3安裝
ubunto下安裝
sudo apt install sqlite3
sqlite命令
首先在中斷輸入sqlite3,獲取命令清單時(shí)使用**.help**,紅框中為部分sqlite命令
常用命令
1、 .exit:退出sqlite,.quit也可以退出
2、.headers ON|OFF:開啟或關(guān)閉頭部顯示
3、.help:顯示消息
4、.show:顯示各種設(shè)置信息
5、.tables:顯示數(shù)據(jù)庫中存在的表
6、.schema 表名:顯示創(chuàng)建表時(shí)的語句
sqlite語句
以任何關(guān)鍵字開始,以**;**結(jié)束。關(guān)鍵字不區(qū)分大小寫
常用關(guān)鍵字
- SELECT
- INSERT
- UPDATA
- DELETE
- DROP
創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫語法:
sqlite3 DatabaseName.db
執(zhí)行完該語句后,成功創(chuàng)建數(shù)據(jù)庫文件后,會(huì)提供一個(gè)sqlite>提示符,此時(shí)還需要執(zhí)行下面命令,如果不執(zhí)行在退出sqlite后,用 ls 查看是沒有數(shù)據(jù)庫文件的
.databases
紅框?yàn)闆]有執(zhí)行.databases,查看是 沒有test_db.db這個(gè)文件的
創(chuàng)建表
創(chuàng)建數(shù)據(jù)庫表需要使用CREATE關(guān)鍵字,還需要定義表中的列,以及列的數(shù)據(jù)類型 可以選擇是否需要約束
數(shù)據(jù)類型
存儲(chǔ)類 | 描述 |
---|---|
NULL | 值是一個(gè)NULL值 |
INTEGER | 帶符號(hào)整數(shù) |
REAL | 浮點(diǎn)值 |
TEXT | 文本字符串,使用UTF-8,UTF-16BE, UTF-16LE存儲(chǔ) |
BLOB | blol數(shù)據(jù),完全根據(jù)他的輸入存儲(chǔ) |
約束
- NOT NULL:確保某列不能有空值(常用)
- DEFAULT:當(dāng)某列沒有值時(shí),提供默認(rèn)值
- UNIQUE:確保某列中的所有值不同
- PRIMARY KEY:唯一標(biāo)識(shí)數(shù)據(jù)庫表中的各行記錄(常用)
- CHECK:確保某列中的所有值滿足一定條件
PRIMARY KEY 約束唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每個(gè)記錄。在一個(gè)表中可以有多個(gè) UNIQUE 列,但只能有一個(gè)主鍵。在設(shè)計(jì)數(shù)據(jù)庫表時(shí),主鍵是很重要的。主鍵是唯一的 ID。
創(chuàng)建語句
CREATE TABLE TableName ( column1 datatype PRIMARY KEY, column2 datatype, column3 datatype, ...... columnN datatype, );
括號(hào)內(nèi)的內(nèi)容可以理解為:列名稱 列的數(shù)據(jù)類型 和約束條件
例如:創(chuàng)建一個(gè)名為人員信息的表,存儲(chǔ)姓名、年齡、性別、住址和聯(lián)系方式,可以使用如下方式創(chuàng)建
CREATE TABLE perpolinfo( id INTEGER PRIMARY KEY autoincrement NOT NULL, name TEXT NOT NULL, age INT NOT NULL, sex TEXT NOT NULL, address TEXT NOT NULL, phone TEXT NOT NULL, );
INTEGER:表示數(shù)據(jù)類型是整形
PRIMARY KEY:表示id的數(shù)值唯一,不能出現(xiàn)重復(fù)值
autoincrement:表示id自增長,因此在寫入數(shù)據(jù)時(shí)可以不寫入id值
NOT NULL:表示這一列不能有空值出現(xiàn),
刪除表
DROP TABLE tablename
添加數(shù)據(jù):
方式1:
INSERT INTO tablename (column1, column2, column3,...columnN) VALUES(value1, value2, value3,...valueN);
values中的值要與表的列對(duì)應(yīng)
方式2:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
獲取數(shù)據(jù)
獲取全部數(shù)據(jù)
SELECT * FROM tablename;
獲取某幾列數(shù)據(jù)
SELECT column1, column2, columnN FROM table_name;
有選擇的獲取某些數(shù)據(jù)
使用where設(shè)置條件
SELECT column1, column2, columnN FROM table_name WHERE [condition]
where語句中的條件可以使用比較邏輯運(yùn)算符
比較運(yùn)算符
運(yùn)算符 描述 == 檢查兩個(gè)操作數(shù)是否相等 = 等于 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 !< 不小于 !> 不大于 邏輯運(yùn)算符
運(yùn)算符 描述 AND 與 OR 或 EXISTS 在滿足一定條件的指定表中搜索行的存在 IN 把某個(gè)值與一系列指定列表的值進(jìn)行比較,例如where id in (20,27)表示篩選id在20到27范圍內(nèi)的數(shù)據(jù) NOT IN IN 運(yùn)算符的對(duì)立面 LIKE 把某個(gè)值與使用通配符運(yùn)算符的相似值進(jìn)行比較 NOT NOT 運(yùn)算符是所用的邏輯運(yùn)算符的對(duì)立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等 IS NULL NULL 運(yùn)算符用于把某個(gè)值與 NULL 值進(jìn)行比較 IS IS 運(yùn)算符與 = 相似 IS NOT IS NOT 運(yùn)算符與 != 相似 UNIQUE UNIQUE 運(yùn)算符搜索指定表中的每一行,確保唯一性
有多個(gè)篩選條件時(shí)可以使用and或or
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
where語句
上面提到的where可以用來篩選數(shù)據(jù),所以where不僅可以與select聯(lián)合使用,也可以與updata、delete語句聯(lián)合使用
與AND一起使用
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
AND鏈接的是多個(gè)篩選條件,有與的意思
與OR一起使用
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
OR 有或的意思
與like一起使用
LIKE 運(yùn)算符是用來匹配通配符指定模式的文本值,這里有兩個(gè)通配符與 LIKE 運(yùn)算符一起使用:
- 百分號(hào) %,代表零個(gè)、一個(gè)或多個(gè)數(shù)字或字符。
- 下劃線 _,代表一個(gè)單一的數(shù)字或字符。
這些符號(hào)可以被組合使用
語法
SELECT column_list FROM table_nameWHERE column LIKE 'XXXX%' xxxx表示任意字符串
與IN一起使用
SELECT column1, column2....columnN FROM table_name WHERE column_name IN (val-1, val-2,...val-N);
更新數(shù)據(jù)
可以使用帶有 WHERE 子句的 UPDATE 查詢來更新選定行,否則所有的行都會(huì)被更新。
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
刪除數(shù)據(jù)
可以使用帶有 WHERE 子句的 DELETE 查詢來刪除選定行,否則所有的記錄都會(huì)被刪除。
DELETE FROM table_name WHERE [condition];
統(tǒng)計(jì)個(gè)數(shù)
SELECT COUNT(column_name) FROM table_name WHERE CONDITION;
到此這篇關(guān)于Sqlite3基本語句的文章就介紹到這了,更多相關(guān)sqlite3基本語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux系統(tǒng)上sqlite3的使用操作實(shí)例
本文介紹了Linux下sqlite3的安裝、基本操作指令、SQL語句使用、C/C++?API調(diào)用及QT集成方法,涵蓋數(shù)據(jù)庫創(chuàng)建、表結(jié)構(gòu)定義、數(shù)據(jù)增刪改查、API執(zhí)行與回調(diào)機(jī)制等內(nèi)容,對(duì)linux?sqlite3使用感興趣的朋友一起看看吧2025-06-06Sqlite數(shù)據(jù)庫里插入數(shù)據(jù)的條數(shù)上限是500
sqlite每次只能插入的數(shù)據(jù)不能超過500條數(shù)據(jù),大家在使用的時(shí)候需要注意一下。2015-04-04SQLite數(shù)據(jù)庫常用語句及MAC上的SQLite可視化工具M(jìn)easSQLlite使用方法
這篇文章主要介紹了SQLite數(shù)據(jù)庫常用語句及MAC上的SQLite可視化工具M(jìn)easSQLlite使用方法,需要的朋友可以參考下2016-01-01SQLite教程(五):數(shù)據(jù)庫和事務(wù)
這篇文章主要介紹了SQLite教程(五):數(shù)據(jù)庫和事務(wù),本文講解了Attach數(shù)據(jù)庫、Detach數(shù)據(jù)庫、事務(wù)等內(nèi)容,需要的朋友可以參考下2015-05-05