Commit 82d1c4
2024-03-31 14:07:47 Qwas: 新增 SQLite学习| /dev/null .. SQLite\345\255\246\344\271\240.md | |
| @@ 0,0 1,130 @@ | |
| + | # SQLite学习 |
| + | |
| + | 为了简化操作,直接在 Ubuntu 上演示。 |
| + | |
| + | ## 安装 SQLite |
| + | |
| + | WSL 版本的 Ubuntu 默认没有安装 SQLite。 |
| + | |
| + | ```sh |
| + | sudo apt install sqlite3 |
| + | ``` |
| + | |
| + |  |
| + | |
| + | ## SQLite 基本语法 |
| + | |
| + | 创建数据库,若已存在,则打开改数据库 |
| + | |
| + | ```sh |
| + | sqlite3 qwas.db |
| + | ``` |
| + | |
| + | 创建表 |
| + | |
| + | ```sql |
| + | CREATE TABLE |
| + | ``` |
| + | |
| + | ```sql |
| + | CREATE TABLE BOOK( |
| + | ID INTEGER PRIMARY KEY, |
| + | SensorID INTEGER, |
| + | SiteNum INTEGER, |
| + | PublicTime VARCHAR(12), |
| + | SensorParameter REAL |
| + | ); |
| + | ``` |
| + | |
| + |  |
| + | |
| + | 插入语句 |
| + | |
| + | ```sql |
| + | INSERT |
| + | ``` |
| + | |
| + | ```sql |
| + | INSERT INTO "BOOK" VALUES(NULL, 1, 0, '20240101123', 18.9); |
| + | INSERT INTO "BOOK" VALUES(2, 1, 0, '20240101123', 18.9); |
| + | ``` |
| + | |
| + | `.schema`查看数据库种所有表的结构 |
| + | |
| + | `.schema 表名`查看数据库种指定表的结构 |
| + | |
| + | `.table`查看当前数据库的所有表 |
| + | |
| + | `.exit`退出数据库 |
| + | |
| + | `.help`查看帮助 |
| + | |
| + | ```text |
| + | sqlite> .help |
| + | .archive ... Manage SQL archives |
| + | .auth ON|OFF Show authorizer callbacks |
| + | .backup ?DB? FILE Backup DB (default "main") to FILE |
| + | .bail on|off Stop after hitting an error. Default 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 List names and files of attached databases |
| + | .dbconfig ?op? ?val? List or change sqlite3_db_config() options |
| + | .dbinfo ?DB? Show status information about the database |
| + | .dump ?OBJECTS? Render database content as SQL |
| + | .echo on|off Turn command echo on or off |
| + | .eqp on|off|full|... Enable or disable automatic EXPLAIN QUERY PLAN |
| + | .excel Display the output of next command in spreadsheet |
| + | .exit ?CODE? Exit this program with return-code CODE |
| + | .expert EXPERIMENTAL. Suggest indexes for queries |
| + | .explain ?on|off|auto? Change the EXPLAIN formatting mode. Default: auto |
| + | .filectrl CMD ... Run various sqlite3_file_control() operations |
| + | .fullschema ?--indent? Show schema and the content of sqlite_stat tables |
| + | .headers on|off Turn display of headers on or off |
| + | .help ?-all? ?PATTERN? Show help text for PATTERN |
| + | .import FILE TABLE Import data from FILE into TABLE |
| + | .imposter INDEX TABLE Create imposter table TABLE on index INDEX |
| + | .indexes ?TABLE? Show names of indexes |
| + | .limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT |
| + | .lint OPTIONS Report potential schema issues. |
| + | .load FILE ?ENTRY? Load an extension library |
| + | .log FILE|off Turn logging on or off. FILE can be stderr/stdout |
| + | .mode MODE ?TABLE? Set output mode |
| + | .nonce STRING Disable safe mode for one command if the nonce matches |
| + | .nullvalue STRING Use STRING in place of NULL values |
| + | .once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE |
| + | .open ?OPTIONS? ?FILE? Close existing database and reopen FILE |
| + | .output ?FILE? Send output to FILE or stdout if FILE is omitted |
| + | .parameter CMD ... Manage SQL parameter bindings |
| + | .print STRING... Print literal STRING |
| + | .progress N Invoke progress handler after every N opcodes |
| + | .prompt MAIN CONTINUE Replace the standard prompts |
| + | .quit Exit this program |
| + | .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 Show the current values for various settings |
| + | .stats ?ARG? Show stats or turn stats on or off |
| + | .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 Try opening locked tables for MS milliseconds |
| + | .timer on|off Turn SQL timer on or off |
| + | .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 |
| + | ``` |