1. 程式人生 > 其它 >SQLite 基本命令使用方式

SQLite 基本命令使用方式

本文介紹建立一個簡單的資料庫,並能夠在需要的時間和地點快速使用它們。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


現在,將新資料合併到現有資料庫中:

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


可以看到已經匯入1166條記錄了。因為我沒有讓指令碼生成10000條記錄。

總結

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

本文地址:https://www.linuxprobe.com/sqlite-basic-cmd.html