Skip to content

shell 命令行

youngsamwei edited this page Oct 30, 2018 · 5 revisions

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

系统命令

在系统命令前需要加个.

.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函数中实现。

.optimizer <sql语句>

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

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

.desc <数据表名>

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

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

此函数仅获得了数据表信息,但没有显示结果。

执行 sql 语句

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

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