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 結合使用時,任何人都可以大大簡化通常由資料庫處理的任務。