M-SQL功能介绍

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值