mdsql功能介绍
主要工具
mdsql提供的命令及说明如表1所示。
表1 mdsql工具命令说明表 命令
说明
create
该命令主要用于创建数据库、表、用户名、角色名、序列、索引和space。
注意:
本命令仅用于系统维护、系统故障分析和恢复等场景,在执行时有风险,如影响系统性能、导致数据误修改等,不建议客户使用。
drop
用于删除用户表、序列、索引、用户名、角色名和space。
注意:
本命令仅用于系统维护、系统故障分析和恢复等场景,在执行时有风险,如影响系统性能、导致数据误修改等,不建议客户使用。
insert
插入表的记录。
update
修改表的记录。
select
查询表的记录。
delete
删除表的记录。
alter
修改索引或表结构。
注意:
本命令仅用于系统维护、系统故障分析和恢复等场景,在执行时有风险,如影响系统性能、导致数据误修改等,不建议客户使用。
rename
修改用户表名或序列名。
modify
修改用户密码。
注意:
本命令仅用于系统维护、系统故障分析和恢复等场景,在执行时有风险,如影响系统性能、导致数据误修改等,不建议客户使用。
desc
查询表的字段信息。
beginwork
启动事务管理器。
commit
提交事务的操作。
rollback
回滚事务的操作。
grant
授予权限的操作。
revoke
撤销权限的操作。
login
用户鉴权的操作。
load
导入表记录文件。
unload
导出表记录文件。
说明:
mdsql工具支持字段为字符类型的四种特殊字符的操作,包括“/”、“\”、“'”和“|”。
辅助工具
mdsql提供的辅助命令及说明如表2所示。
表2 mdsql辅助工具说明表 命令
说明
help
用于将列出所有mdsql工具的描述说明及帮助信息。
set
用于查看或设置排版模式、行限制、记录限制和提示符等。
spool
用于将查询的数据结果输出到指定的文本文件。
exit
用于退出mdsql工具。其中退出命令还包括q和quit。
!
用于可执行系统命令(“!”后面需加空格)。
@
用于可执行SQL脚本文件(“@”后面需加空格)。
help [item[subitem]]
其中:
item表示操作命令,例如:create、index、delete等。
subitem表示操作对象,例如:table、database等。
示例如下:
> help create table
Help information of create table
info:
create a table or temporary table in memdb
usage:
create [temporary] table table_name
(column_name datatype [default default_value], [......])
primary [unique] index (column_name,[...])
hashsize size
[indexmethod 1|3|4|5]
[startval val]
[sortmethod asc|desc]
[sortfields (column_name,[...])]标识符
SMDB提供了丰富的工具命令,同时提供了通用标识符来描述工具命令的使用逻辑,各通用标识符的含义表1所示。
表1 通用标识符 标识符
含义
[]
可选择输入符号中的内容。
|
可选择输入此符号左边或右边的指令,但不能同时使用这两个指令。
()
表示可重复添加多个该符号中的内容。
…
可枚举多个值。
命令联想
在mdsql工具中输入命令时,按Tab键可以联想下一个选项参数或补全整个参数。
例如:输入以下命令,按Tab键,可以联想出对应可操作的数据表。
admin#dbsql> insert into
DUAL_REC_TEST_TABLE_01 DUAL_REC_TEST_TABLE_03 SYS_TABLE_AUTH SYS_TRANS_MNG
DUAL_REC_TEST_TABLE_02 SYS_ROLE_AUTH SYS_TRANS_LOG SYS_USER
在输入“insert”这个参数时,在输入前两个字符“in”后,按Tab键,可自动将这个参数补全为“insert ”。
一条命令分多行输入
mdsql工具支持一条命令分多行输入,可以有效解决因SQL语句过长导致的可读性差的问题。
例如:
admin#dbsql>create table employee
(eid int,
ename char(20),
country varchar(20))
primary index (eid)
hashsize 2000
startval 1
sortmethod asc
sortfields (eid);
create table employee succeeded
admin#dbsql>
初始化命令文件
mdsql工具支持在用户根目录(${HOME})下设置初始化命令文件.mdsqlrc。在启动mdsql工具时,mdsql工具会自动执行.mdsqlrc文件中的初始化命令,一般只在该文件中添加一些设置环境变量的命令。
例如:要将mdsql工具的数据排版模式设置为自动模式,每行输出的最大字符数设置为60,可在.mdsqlrc文件中添加以下命令。
set display auto ;
set line_limit 60 ;
在创建.mdsqlrc文件时需要注意:
如果某条命令出错,则该条命令及其后所有的命令都不执行。
建议一行只输入一条命令,且每条命令必须要以“;”结束。
SMDB用户需要有该文件的可读权限。
历史命令
支持按↑键和↓键上翻或下翻历史操作命令。
在HP-UX环境下,在查看以多行方式输入的历史命令时,系统会将该历史命令以单行的方式显示,命令中的换行符被“^J”替换。
说明:
“^J”不影响命令的正常执行。
操作注意事项
注意:
为防止数据被误修改,导致系统故障或者用户数据错误。本功能将SMDB中的用户数据导出到文件中存储。导出的数据中可能会涉及用户信息,如用户号码、余额、消费记录等信息。备份的内容仅用于数据恢复、系统升级等场景,严禁将这些内容私自存储,或用作其它目的。备份到期后需要将废弃的备份数据及时删除。华为技术服务工程师进行任何维护操作必须得到客户的授权,禁止进行超出客户审批范围的任何操作。
mdsql工具提供了丰富的数据库操作命令,操作注意事项如下:
只能在单机或主机模式下才能进行修改操作。
在非兼容模式下(即set display取值为auto、horizontal或vertical)必须以分号“;”结束。
在输入完整的参数时,通常需加空格后,按Tab键联想下一个选项参数。
如果输入的语句不能再附加其他参数时,按Tab键,自动在语句后补充结束符“;”。
在输入的SQL语句中包含括号或逗号时,括号或逗号两边允许不包含空格。
在输入SQL语句时,单引号在一行中必须成对出现。
可通过按方向键←、→直接定位修改。
输入“! command”可以支持系统命令操作,其中command为系统命令。
输入q、exit或quit退出mdsql工具。
mdsql
*******************************************************************************
Welcome to SMDB mdsql
*******************************************************************************
XXX@dbsql> help
Help information of help
Command list of help:
create
create database -- create memdb
create space -- create space of smdb
create table -- create table
create index -- create index for table
create sequence -- create sequence
create role -- create role of smdb
create user -- create user of smdb
drop
drop space -- drop space
drop table -- drop table
drop index -- drop index for table
drop sequence -- drop sequence
drop role -- drop role of smdb
drop user -- drop user of smdb
rename
rename table -- rename table to a new name
rename sequence -- rename sequence to a new name
alter
alter database -- alter the attribute of database
alter table -- alter the structure of the table
alter index -- alter the attribute of index
set
set autotrans -- automate transaction when update
set trans -- show the state of transaction
set display -- mode to display the select result
set align -- mode to align the field values
set line_limit -- limit numbers of characters in one line
set stopnums -- limit records to display
set prompt -- custom prompt
set force_execute -- force to execute the following SQL after executing error
set force_load -- force to load table even if field number not match
set connect_mode -- show the mode connecting to SMDB of mdsql
desc -- show field definition of table
grant -- grant the right of smdb or table
revoke -- revoke the right of smdb or table
insert -- insert records
select -- select records
update -- update records
delete -- delete records
begin work -- begin a transaction
commit -- commit the transaction
rollback -- rollback the transaction
unload -- unload table or sequence to text file
load -- load table or sequence from text file
login -- change another user
modify -- modify password
spool -- output the query result to a file
exit -- exit mdsql tool
quit -- exit mdsql tool
q -- exit mdsql tool
! -- execute a system command
@ -- execute a sql script file
创建内存数据库
命令功能
创建SMDB内存数据库。
说明:
只能创建一个单独的内存数据库,不需指定数据库名。
命令格式
create database [tzflag on | off]
参数说明
tzflag:时区标识,可设置为on或off。
在系统运行期间,内存数据库根据该标识选择是否支持调整时区及夏令时。
on:支持,date类型值不受时区环境变量值(TZ)的影响。
off:不支持,date类型值根据时区环境变量值(TZ)转换为当地时间。
使用指南
使用时需要注意:
如果内存数据库已经存在,则需要先执行mddel.sh -a命令删除内存数据库。
date类型的取值范围及默认值根据TZ flag不同而不同。具体请参见date数据类型。
不带参数时,所创建的内存数据库其默认时区标识为off。
使用实例
操作示例如下:
:create database tzflag on ;
The operation will delete backup and log file, you may need to backup the data first.
Are you sure?[n/y]y
create database succeeded
> select * from v$database ;
BASE_KEY 41
VERSION V100R001C25
CREATE_TIME 2011-01-26 20:05:55
TZ_FLAG ON
----------- -------------------
=====total 1 records===== 说明:
data和index类型的space默认大小为16MB,hash类型的space默认大小为30MB。
M-SQL功能介绍
最新推荐文章于 2022-11-09 00:54:03 发布