SQLite 基本命令使用方式

linux速推文章 發佈 2022-12-08T10:23:57.878397+00:00

本文介紹創建一個簡單的資料庫,並能夠在需要的時間和地點快速使用它們。SQLite 在世界範圍內的許多設備中使用。什麼是SQLite?SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。

本文介紹創建一個簡單的資料庫,並能夠在需要的時間和地點快速使用它們。SQLite 在世界範圍內的許多設備中使用。

什麼是SQLite?

SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。它是一個零配置的資料庫,這意味著與其他資料庫不一樣,不需要在系統中配置。

安裝

下面在Centos8中安裝SQLite:

[root@localhost ~]# yum -y install sqlite

使用下面命令運行sqlite吧:

[root@localhost ~]# sqlite3 
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>


sqlite> 提示符的意思是 SQLite 正在運行並準備好執行任何操作。現在,通過鍵入 ^D.exit 退出。

示例:假設一個錢幣收藏家。資料庫將被稱為 numismatists.db,數據表被稱為coins。有很多方法使用 SQLite。我們將從一個文本文件開始。因此,打開文本編輯器並編輯 numismatist.sql 添加以下內容:

[root@localhost ~]# vim numismatists.db

複製一下內容到numismatists.db文件中:

/*
 * numismatist.sql      Beginner's database
 */

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;

Create Table coins(
denomination TEXT,
value  FLOAT,
comments TEXT
);

Insert into coins values(
'Quarter',
30.35,
'Gift from Grandpa'
);

COMMIT;


創建表和創建數據的格式和Mysql類似:

創建表格的格式:create table tablename (....);

創建記錄的格式:insert into tablename values(..., ..., ...);

接下來,告訴 SQLite 使用我們剛剛創建的文件中的命令創建我們的資料庫。

[root@localhost ~]# cat numismatists.sql | sqlite3 numismatists.db

使用以下命令測試它是否有效,來查看coins表的內容:

[root@localhost ~]# sqlite3 numismatists.db 'select * from coins'
Quarter|30.35|Gift from Grandpa


所有這些操作都可以在 SQLite 內部完成,輸入
sqlite3進入sqlite控制台:

[root@localhost ~]# sqlite3 numismatists.db
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
sqlite> select * from coins;
Quarter|30.35|Gift from Grandpa
sqlite> 


可以看到查詢到的內容了。

sqlite控制台中基本命令:

  • .q 退出控制台
  • .database 列出資料庫
  • .table 列出表

如何使用資料庫

現在我們有了最基本資料庫,我們可以探索隨著這個資料庫規模的增長會發生什麼。資料庫通常很大,不是嗎?那麼我們如何在資料庫中輸入無數行進行測試呢?沒有人會這樣做!簡單,方法如下(如果您使用 bash),只需使用此腳本:

[root@localhost ~]# vim sqlite.sh
#!/bin/bash
function my_insert() {
      echo "insert into coins values('$1', $2, 'From Grandpa');"
}
i=1.25        # establish minimum coin value
for a in `seq 1 10000` ; do
      new_val=`echo "$i + $RANDOM / 1000" | bc`
      my_insert "Quarter-$a" $new_val >> big_add-list
      #printf "Processing %i\n" $a # modulo 100 == 0 would be better
      echo "Processing $a"
done

https://www.bestcentos.com

https://www.linuxjiaocheng.com

https://www.linuxpack.net
現在,將新數據合併到現有資料庫中:

[root@localhost ~]# cat big_add-list | sqlite3 numismatists.db


可以看到已經導入1166條記錄了。因為我沒有讓腳本生成10000條記錄。

總結

在本文中,我們看到創建資料庫是一項非常簡單的任務。與 SQLite 結合使用時,任何人都可以大大簡化通常由資料庫處理的任務。

關鍵字: