玩转SQLite2:SQLite命令行基本操作
SQLite 点命令
SQLite 的点命令,是一些以点为开头的命令:
完整的点指令如下:
-
.archive ...
Manage SQL archives -
.auth ON|OFF
Show authorizer callbacks -
.backup ?DB? FILE
备份DB数据库(默认是 "main")到 FILE 文件 -
.bail on|off
发生错误后停止,默认为 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
列出数据库的名称及其所依附的文件 -
.dbconfig ?op? ?val?
List or change sqlite3_db_config() options -
.dbinfo ?DB?
Show status information about the database -
.dump ?OBJECTS?
以 SQL 文本格式转储数据库 -
.echo on|off
开启或关闭 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?
开启或关闭适合于 EXPLAIN 的输出模式,默认是:auto -
.filectrl CMD ...
Run various sqlite3_file_control() operations -
.fullschema ?--indent?
Show schema and the content of sqlite_stat tables -
.headers on|off
开启或关闭头部显示 -
.help ?-all? ?PATTERN?
显示帮助 -
.import FILE TABLE
导入来自 FILE 文件的数据到 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?
加载一个扩展库 -
.log FILE|off
开启或关闭日志,可以是stderr或stdout -
.mode MODE ?TABLE?
设置输出模式 -
.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?
关闭存在的数据库或重新打开文件 -
.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
替换标准提示符 -
.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
显示各种设置的当前值 -
.stats ?ARG?
开启或关闭统计 -
.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
尝试打开锁定的表 MS 毫秒 -
.timer on|off
开启或关闭SQL定时器 -
.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
指令可以查看当前的各种设置:
SQLite 创建数据库
使用sqlite3 命令来创建数据库有两种方式
方式1:sqlite3+数据库名
例如,使用sqlite3 test1.db
创建test1数据库,然后使用.databases
查看数据库
.
方式2:使用.open
命令
例如,使用.open test2.db
创建test2数据库
将数据库导出到文件
使用 .dump
点命令导出数据库到文本文件中
sqlite3 test1.db .dump > test1.sql
也可以从生成的 testDB.sql 恢复:
sqlite3 test1.db < test1.sql
SQLite 创建表
可以通过CREATE TABLE语句来创建表,其基本语法为:
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
例如,创建一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 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
命令来验证表是否已成功创建
sqlite>.tables
COMPANY
也可以使用.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
);
最后将数据库导出到.sql文件查看:
- 点赞
- 收藏
- 关注作者
评论(0)