本篇介绍SQLite的命令行基本操作
1 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指令可以查看当前的各种设置:
2 SQLite 创建数据库
使用sqlite3 命令来创建数据库有两种方式
2.1 方式1:sqlite3+数据库名
例如,使用复制sqlite3 test1.db创建test1数据库,然后使用复制.databases查看数据库
.
2.2 方式2:使用复制.open命令
例如,使用复制.open test2.db创建test2数据库
2.3 将数据库导出到文件
使用 复制.dump 点命令导出数据库到文本文件中
复制sqlite3 test1.db .dump > test1.sql也可以从生成的 testDB.sql 恢复:
复制sqlite3 test1.db < test1.sql3 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文件查看:
end
审核编辑:汤梓红免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:玩转SQLite2:SQLite命令行基本操作 https://www.yhzz.com.cn/a/7404.html