Skip to content

shell 命令行

youngsamwei edited this page Oct 28, 2018 · 5 revisions

与用户交互的 cmd 界面,接收系统命令和sql语句,并执行。

系统命令

在系统命令前需要加个.

.open

作用:打开demodb数据库,如果demodb不存在,则新建。

命令格式: .open <数据库名>

举例: dongmendb>.open demodb

该命令在shell.c的dongmendb_shell_handle_cmd_open函数中实现。

.exit

作用:退出命令行。

该命令在shell.c的dongmendb_shell_handle_cmd_exit函数中实现。

.parse <sql语句>

作用:解析sql语句,并打印。但不执行此sql语句。

该命令在shell.c的dongmendb_shell_handle_cmd_parse函数中实现。

.opt <sql语句>

作用:解析并优化sql语句,并打印优化结果。但不执行此sql语句。

但dongmendb中并未实现优化,需要在dongmensql/optimizer.c中实现。

.desc <数据表名>

作用:显示数据表的结构。

该命令在shell.c的dongmendb_shell_handle_cmd_desc函数中实现。此函数仅获得了数据表信息,但没有显示结果。

执行 sql 语句

执行sql语句时,可以直接输入,不需要在最前加点。

比如输入: dongmendb>select * from student;