0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉(zhuǎn)SQLite2:SQLite命令行基本操作

碼農(nóng)愛(ài)學(xué)習(xí) ? 來(lái)源:碼農(nóng)愛(ài)學(xué)習(xí) ? 作者:碼農(nóng)愛(ài)學(xué)習(xí) ? 2022-09-23 08:59 ? 次閱讀

本篇介紹SQLite的命令行基本操作

1 SQLite 點(diǎn)命令

SQLite 的點(diǎn)命令,是一些以點(diǎn)為開(kāi)頭的命令:

poYBAGMsbueAfGI3AAIrLKXAj7U589.png

完整的點(diǎn)指令如下:

.archive ... Manage SQL archives

.auth ON|OFF Show authorizer callbacks

.backup ?DB? FILE 備份DB數(shù)據(jù)庫(kù)(默認(rèn)是 "main")到 FILE 文件

.bail on|off 發(fā)生錯(cuò)誤后停止,默認(rèn)為 OFF

.binary on|off Turn binary output on or off. Default OFF

.cd DIRECTORY Change the working directory to DIRECTORY

.changes on|off Show number of rows changed by SQL

.check GLOB Fail if output since .testcase does not match

.clone NEWDB Clone data into NEWDB from the existing database

.connection [close] [#] Open or close an auxiliary database connection

.databases 列出數(shù)據(jù)庫(kù)的名稱及其所依附的文件

.dbconfig ?op? ?val? List or change sqlite3_db_config() options

.dbinfo ?DB? Show status information about the database

.dump ?OBJECTS? 以 SQL 文本格式轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)

.echo on|off 開(kāi)啟或關(guān)閉 echo 命令

.eqp on|off|full|... Enable or disable automatic EXPLAIN QUERY PLAN

.excel Display the output of next command in spreadsheet

.exit ?CODE? 以CODE碼退出SQLite提示符

.expert EXPERIMENTAL. Suggest indexes for queries

.explain ?on|off|auto? 開(kāi)啟或關(guān)閉適合于 EXPLAIN 的輸出模式,默認(rèn)是:auto

.filectrl CMD ... Run various sqlite3_file_control() operations

.fullschema ?--indent? Show schema and the content of sqlite_stat tables

.headers on|off 開(kāi)啟或關(guān)閉頭部顯示

.help ?-all? ?PATTERN? 顯示幫助

.import FILE TABLE 導(dǎo)入來(lái)自 FILE 文件的數(shù)據(jù)到 TABLE 表中

.imposter INDEX TABLE Create imposter table TABLE on index INDEX

.indexes ?TABLE? 顯示所有索引的名稱

.limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT

.lint OPTIONS Report potential schema issues.

.load FILE ?ENTRY? 加載一個(gè)擴(kuò)展庫(kù)

.log FILE|off 開(kāi)啟或關(guān)閉日志,可以是stderr或stdout

.mode MODE ?TABLE? 設(shè)置輸出模式

.nonce STRING Disable safe mode for one command if the nonce matches

.nullvalue STRING 在 NULL 值的地方輸出 STRING 字符串

.once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE

.open ?OPTIONS? ?FILE? 關(guān)閉存在的數(shù)據(jù)庫(kù)或重新打開(kāi)文件

.output ?FILE? Send output to FILE or stdout if FILE is omitted

.parameter CMD ... Manage SQL parameter bindings

.print STRING... 逐字地輸出 STRING 字符串

.progress N Invoke progress handler after every N opcodes

.prompt MAIN CONTINUE 替換標(biāo)準(zhǔn)提示符

.quit 退出 SQLite 提示符

.read FILE Read input from FILE

.recover Recover as much data as possible from corrupt db.

.restore ?DB? FILE Restore content of DB (default "main") from FILE

.save FILE Write in-memory database into FILE

.scanstats on|off Turn sqlite3_stmt_scanstatus() metrics on or off

.schema ?PATTERN? Show the CREATE statements matching PATTERN

.selftest ?OPTIONS? Run tests defined in the SELFTEST table

.separator COL ?ROW? Change the column and row separators

.session ?NAME? CMD ... Create or control sessions

.sha3sum ... Compute a SHA3 hash of database content

.shell CMD ARGS... Run CMD ARGS... in a system shell

.show 顯示各種設(shè)置的當(dāng)前值

.stats ?ARG? 開(kāi)啟或關(guān)閉統(tǒng)計(jì)

.system CMD ARGS... Run CMD ARGS... in a system shell

.tables ?TABLE? List names of tables matching LIKE pattern TABLE

.testcase NAME Begin redirecting output to 'testcase-out.txt'

.testctrl CMD ... Run various sqlite3_test_control() operations

.timeout MS 嘗試打開(kāi)鎖定的表 MS 毫秒

.timer on|off 開(kāi)啟或關(guān)閉SQL定時(shí)器

.trace ?OPTIONS? Output each SQL statement as it is run

.vfsinfo ?AUX? Information about the top-level VFS

.vfslist List all available VFSes

.vfsname ?AUX? Print the name of the VFS stack

.width NUM1 NUM2 ... Set minimum column widths for columnar output

例如,使用.show指令可以查看當(dāng)前的各種設(shè)置:

pYYBAGMsbvGAK6imAAAxSU2f5ME884.png

2 SQLite 創(chuàng)建數(shù)據(jù)庫(kù)

使用sqlite3 命令來(lái)創(chuàng)建數(shù)據(jù)庫(kù)有兩種方式

2.1 方式1:sqlite3+數(shù)據(jù)庫(kù)名

例如,使用sqlite3 test1.db創(chuàng)建test1數(shù)據(jù)庫(kù),然后使用.databases查看數(shù)據(jù)庫(kù)

.

poYBAGMsbviAIeIgAABiYcHH3Ho882.png

2.2 方式2:使用.open命令

例如,使用.open test2.db創(chuàng)建test2數(shù)據(jù)庫(kù)

poYBAGMsbv6AZfSJAABhlCY3aX8690.png

2.3 將數(shù)據(jù)庫(kù)導(dǎo)出到文件

使用 .dump 點(diǎn)命令導(dǎo)出數(shù)據(jù)庫(kù)到文本文件中

sqlite3 test1.db .dump > test1.sql

也可以從生成的 testDB.sql 恢復(fù):

sqlite3 test1.db < test1.sql
pYYBAGMsbyiAdY3JAAAy_vvnTiY034.png

3 SQLite 創(chuàng)建表

可以通過(guò)CREATE TABLE語(yǔ)句來(lái)創(chuàng)建表,其基本語(yǔ)法為:

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

例如,創(chuàng)建一個(gè) COMPANY 表,ID 作為主鍵,NOT NULL 的約束表示在表中創(chuàng)建紀(jì)錄時(shí)這些字段不能為 NULL:

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

然后可以使用.tables命令來(lái)驗(yàn)證表是否已成功創(chuàng)建

sqlite>.tables
COMPANY 
pYYBAGMsb2CAOvxGAABsk4EiT0c312.png

也可以使用.schema命令得到表的完整信息

sqlite>.schema COMPANY
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
poYBAGMsb3eANYojAAAneeXS5kA293.png

最后將數(shù)據(jù)庫(kù)導(dǎo)出到.sql文件查看:

pYYBAGMsb32AaW7bAABxU99NE7c014.png

end

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQlite
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    15944
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    77

    瀏覽量

    10389
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    玩轉(zhuǎn)SQLite3:SQLite圖形軟件基本操作

    上篇文章:,介紹了sqlite3命令行操作來(lái)創(chuàng)建數(shù)據(jù)庫(kù)與表,該方法需要有一定的數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)。
    的頭像 發(fā)表于 09-25 08:49 ?3196次閱讀
    <b class='flag-5'>玩轉(zhuǎn)</b><b class='flag-5'>SQLite</b>3:<b class='flag-5'>SQLite</b>圖形軟件基本<b class='flag-5'>操作</b>

    玩轉(zhuǎn)SQLite4:SQLite數(shù)據(jù)插入與查看

    本篇介紹了數(shù)據(jù)庫(kù)中數(shù)據(jù)的插入(使用圖形界面和命令行操作兩種方式),命令行中數(shù)據(jù)顯示格式的配置修改,以及SQLite的兩個(gè)基本語(yǔ)句(select語(yǔ)句和insert語(yǔ)句)。
    的頭像 發(fā)表于 09-25 08:50 ?3567次閱讀
    <b class='flag-5'>玩轉(zhuǎn)</b><b class='flag-5'>SQLite</b>4:<b class='flag-5'>SQLite</b>數(shù)據(jù)插入與查看

    玩轉(zhuǎn)SQLite8:運(yùn)算符與表達(dá)式

    本篇介紹了SQLite的基礎(chǔ)運(yùn)算符與表達(dá)式,并通過(guò)命令行的方式執(zhí)行sql語(yǔ)句進(jìn)行測(cè)試驗(yàn)證,在實(shí)際開(kāi)發(fā)中,可使用C/C++ API函數(shù)來(lái)使用。
    的頭像 發(fā)表于 09-27 08:56 ?2463次閱讀
    <b class='flag-5'>玩轉(zhuǎn)</b><b class='flag-5'>SQLite</b>8:運(yùn)算符與表達(dá)式

    Linux sqlite3的基本命令操作

    sqlite3一款主要用于嵌入式的輕量級(jí)數(shù)據(jù)庫(kù),本文旨在為熟悉sqlite3基本命令提供技術(shù)文檔。
    發(fā)表于 07-16 06:29

    cmd網(wǎng)絡(luò)經(jīng)典命令行

    cmd網(wǎng)絡(luò)經(jīng)典命令行:
    發(fā)表于 06-11 15:17 ?36次下載
    cmd網(wǎng)絡(luò)經(jīng)典<b class='flag-5'>命令行</b>

    caxa命令行中的應(yīng)用

    caxa命令行中的應(yīng)用 命令行對(duì)于大多用戶來(lái)說(shuō)往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2297次閱讀

    博達(dá)環(huán)網(wǎng)配置命令行

    博達(dá)工業(yè)交換要環(huán)網(wǎng)配置命令行
    發(fā)表于 12-27 16:24 ?0次下載

    CMD的命令行高級(jí)教程

    CMD的命令行高級(jí)教程
    發(fā)表于 10-24 08:31 ?30次下載
    CMD的<b class='flag-5'>命令行</b>高級(jí)教程

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    創(chuàng)建SQlite的方法

    創(chuàng)建SQlite的方法 SQLite是一種輕量級(jí)的嵌入式關(guān)系型數(shù)據(jù)庫(kù),它可以適用于各種不同的平臺(tái)和操作系統(tǒng)。SQLite的使用非常廣泛,特別是當(dāng)無(wú)需配置大型數(shù)據(jù)庫(kù)服務(wù)器,僅需要一個(gè)本地
    的頭像 發(fā)表于 08-28 17:15 ?4189次閱讀

    linux命令行與shell編程實(shí)戰(zhàn)

    Linux命令行與Shell編程實(shí)戰(zhàn)主要涉及以下內(nèi)容: Linux命令行基礎(chǔ):學(xué)習(xí)Linux命令行的基本操作,如文件管理、進(jìn)程管理、網(wǎng)絡(luò)配置等。熟悉使用
    的頭像 發(fā)表于 11-08 10:57 ?769次閱讀

    linux虛擬機(jī)怎么調(diào)出命令行

    在Linux虛擬機(jī)中調(diào)出命令行界面,可以通過(guò)以下步驟實(shí)現(xiàn): 打開(kāi)虛擬機(jī),進(jìn)入到Linux系統(tǒng)。 在桌面或應(yīng)用菜單中找到終端或命令行圖標(biāo),點(diǎn)擊打開(kāi)。 輸入命令行指令,執(zhí)行相應(yīng)的操作。 另
    的頭像 發(fā)表于 11-08 11:28 ?3121次閱讀

    linux切換到命令行模式

    在Linux中,可以通過(guò)以下步驟切換到命令行模式: 打開(kāi)終端??梢栽趹?yīng)用菜單中找到終端或命令行終端。 在終端中輸入命令“exit”或“l(fā)ogout”,然后按回車鍵。 系統(tǒng)會(huì)提示您輸入管理員密碼。輸入
    的頭像 發(fā)表于 11-13 16:47 ?1787次閱讀

    linux虛擬機(jī)命令行界面如何操作

    Linux虛擬機(jī)是一種運(yùn)行在虛擬化環(huán)境下的操作系統(tǒng),與物理機(jī)器相似,它也有一個(gè)命令行界面,也稱為終端或控制臺(tái)。通過(guò)命令行界面,您可以使用命令來(lái)執(zhí)行各種
    的頭像 發(fā)表于 11-17 09:57 ?1715次閱讀

    idea如何輸入命令行參數(shù)

    在許多軟件開(kāi)發(fā)和系統(tǒng)管理的任務(wù)中,我們經(jīng)常需要向應(yīng)用程序傳遞命令行參數(shù)。命令行參數(shù)是在運(yùn)行時(shí)傳遞給程序的值,用于指定程序的行為和配置選項(xiàng)。本文將詳細(xì)介紹如何在不同的編程語(yǔ)言和操作系統(tǒng)中輸入命令
    的頭像 發(fā)表于 12-06 15:01 ?1158次閱讀