数据库操作命令总结

2024-06-12

数据库操作命令总结(精选6篇)

篇1:数据库操作命令总结

二级VF前三章命令汇总、数据库操作命令 1.新建数据库

CREATEDATABASE XO &&XO数据库名 2.打开数据库

OPEN DATABASEXO&&XO数据库名 3.设置当前数据库

SETDATABASE TO XO &&把XO设为当前数据库 4.打开当前数据库设计器

MODIFYDATABASE &&不需要加数据库名 5.关闭当前数据库

CLOSEDATABASE&&不需要加数据库名 6.删除数据库

DELETEDATABASEXORECYCLEDELETETABLES

*删除数据库XO,RECYCLE指放入WINDOWS回收站,*DELETETABLES指把数据库中的表一起删除 7.关闭所有文件

CLOSEALL&&关闭所有文件

二、表的操作命令 1.新建表

CREATE 成绩 &&成绩为表名 2.打开表

USE 成绩 &&成绩为表名 3.打开表设计器

MODIFYSTRUCTURE &&不能跟表名,打开当前表的设计器 4.表的记录作命令 1)增加记录

APPEND BLANK &&在表的尾部追加一条空白记录 APPEND &&采用交互方式在表的尾部追加多条记录 INSERT BEFORE &&在当前表的当前记录之前追加一条记录

INSERT BLANK &&在当前表的当前记录之后追加

一条空记录 COPYTOXS

&&XS指新表名,将当前表复制到新表XS中 APPENDFROMXC

&&将XC表中的所有记录追加到当前表中, *注:XC与当前表的结构要完全相同才能使用 2)记录删除

DELETE &&表中删除当前记录(逻辑)DELETEALL &&删除表中所有记录(逻辑)DELETEFOR 性别=“男” &&删除满足条件的记录 3)记录的恢复

RECALL &&恢复当前录

RECALLALL&&恢复所有打上删除标记记录 RECALLFOR 条件 &&恢复满足条件的记录 4)记录修改

EDIT / CHANGE&&交互式方式修改记录 REPLACE 字段名 WITH 值 &&修改当前记录 REPLACE ALL 字段名 WITH 值 &&修改表中所有记录

REPLACE 字段名 WITH 值 FOR条件 &&修满足条件的记录 5)记录显示

LIST &&显示当前表中所有记录 DISPLAY&&显示表中当前记录

LIST 姓名,性别 或 LISTFIELDS 姓名,性别&&显示表中指字段

LISTFOR 条件 &&显示满足条件的记录 6)记录定位 A)相对定位:

GO TOP=GOTO TOP&&指到表头 GO BOTTOM&&指到表尾 SKIP&&下一条记录

相对定位:对表进行排序与不排序指到记录可能不能B)绝对定位

二级VF前三章命令汇总

GO 1= GOTO 1指到第一条记录

绝对定位:不管有没有对表进行排序指到都是相同记录 7)记录查找

LOCATEFOR 条件 &&让记录指针指到满足条件的记录。

CONTINUE &&查找下一个满足条件的记录 5.表索引的命令 1)建立单索引(.IDX)

INDEXON 索引表达式 TO 索引名2)结构复合索引(.CDX)

INDEX ON 学号 TAG 学号 &&索引类型为普通索引

INDEX ON 学号 TAG 学号 CANDIDATDESC &&侯选索引的降序

INDEX ON 学号 TAG 学号 UNIQUE &&唯一索引 3)非构复合索引(.CDX)

INDEX ON 学号 TAG 学号 OF XM &&普能索引 INDEX ON 学号 TAG 学号 OF XM UNIQUE &&唯一索引 4)打开索文件

SETINDEX TO索引文件名 5)设置当前索引 SET ORDER TO 索引名

USE 学生 ORDER 学号 &&打学生表并让学号索引生效 6)索引定位 SEEK 值

SKIP &&找下一条满足条件的记录 7)删除结构复合索引

DELETE TAGALL &&删除所有索引 DELETE TAGXS&&删除指定索引XS 6.自由表与数据表的转换 ADD TABLE 表名

&&将自由表添加到数据库中

REMOVE TABLE 表名 &&将数据库表移去变成自由表

7.表之间的临时联系

SET RELATION TO 索引名 TO 表名或工作区 8.物理排序

SORT ON 排序字段 TO 新表名 SORT TO 新表名 ON 排序字段

篇2:数据库操作命令总结

redis常用五种数据类型:string,hash,list,set,zset(sortedset).

1.String类型

String是最简单的类型,一个key对应一个value

String类型的数据最大1G,

redis中各种数据类型对应的jedis操作命令

String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下,该integer的值限制在64位有符号数。

在list、set和zset中包含的独立的元素类型都是RedisString类型。

2.List类型

链表类型,主要功能是push、pop、获取一个范围的所有值等。其中的key可以理解为链表的名字。

在Redis中,list就是RedisString的列表,按照插入顺序排序。比如使用LPUSH命令在list头插入一个元素,使用RPUSH命令在list的尾插入一个元素。当这两个命令之一作用于一个空的key时,一个新的list就创建出来了。

List的最大长度是2^32-1个元素。

3.Set类型

集合,和数学中的集合概念相似。操作中的key理解为集合的名字。

在Redis中,set就是RedisString的无序集合,不允许有重复元素。

Set的最大元素数是2^32-1。

Redis中对set的操作还有交集、并集、差集等。

4.ZSet(SortedSet)类型

Zset是set的一个升级版本,在set的基础上增加了一个顺序属性,这一属性在添加修改元素时可以指定,每次指定后zset会自动安装指定值重新调整顺序。可以理解为一张表,一列存value,一列存顺序。操作中的key理解为zset的名字。

Zset的最大元素数是2^32-1。

对于已经有序的zset,仍然可以使用SORT命令,通过指定ASC|DESC参数对其进行排序。

5.hash类型

hash是最接近关系数据库结构的数据类型,可以将数据库一条记录或程序中一个对象转换成hashmap存放在redis中。

二、jedis操作命令:

1.对value操作的命令

exists(key):确认一个key是否存在

del(key):删除一个key

type(key):返回值的类型

keys(pattern):返回满足给定pattern的所有key

randomkey:随机返回key空间的一个key

rename(oldname,newname):将key由oldname重命名为newname,若newname存在则删除newname表示的key

dbsize:返回当前数据库中key的数目

expire:设定一个key的活动时间(s)

ttl:获得一个key的活动时间

select(index):按索引查询

move(key,dbindex):将当前数据库中的key转移到有dbindex索引的数据库

flushdb:删除当前选择数据库中的所有key

flushall:删除所有数据库中的所有key

2.对String操作的命令

set(key,value):给数据库中名称为key的string赋予值value

get(key):返回数据库中名称为key的string的value

getset(key,value):给名称为key的string赋予上一次的value

mget(key1,key2,…,keyN):返回库中多个string(它们的名称为key1,key2…)的value

setnx(key,value):如果不存在名称为key的string,则向库中添加string,名称为key,值为value

setex(key,time,value):向库中添加string(名称为key,值为value)同时,设定过期时间time

mset(key1,value1,key2,value2,…keyN,valueN):同时给多个string赋值,名称为keyi的string赋值valuei

msetnx(key1,value1,key2,value2,…keyN,valueN):如果所有名称为keyi的string都不存在,则向库中添加string,名称keyi赋值为valuei

incr(key):名称为key的string增1操作

incrby(key,integer):名称为key的string增加integer

decr(key):名称为key的string减1操作

decrby(key,integer):名称为key的string减少integer

append(key,value):名称为key的string的值附加value

substr(key,start,end):返回名称为key的string的value的子串

3.对List操作的命令

rpush(key,value):在名称为key的list尾添加一个值为value的元素

lpush(key,value):在名称为key的list头添加一个值为value的元素

llen(key):返回名称为key的list的长度

lrange(key,start,end):返回名称为key的list中start至end之间的元素(下标从0开始,下同)

ltrim(key,start,end):截取名称为key的list,保留start至end之间的元素

lindex(key,index):返回名称为key的list中index位置的元素

lset(key,index,value):给名称为key的list中index位置的元素赋值为value

lrem(key,count,value):删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count<0从尾到头删除|count|个值为value的元素。

lpop(key):返回并删除名称为key的list中的首元素

rpop(key):返回并删除名称为key的list中的尾元素

blpop(key1,key2,…keyN,timeout):lpop 命令的block版本。即当timeout为0时,若遇到名称为keyi的list不存在或该list为空,则命令结束。如果 timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi+1开始的list执行pop操作。

brpop(key1,key2,…keyN,timeout):rpop的block版本。参考上一命令。

rpoplpush(srckey,dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

4.对Set操作的命令

sadd(key,member):向名称为key的set中添加元素member

srem(key,member):删除名称为key的set中的元素member

spop(key):随机返回并删除名称为key的set中一个元素

smove(srckey,dstkey,member):将member元素从名称为srckey的集合移到名称为dstkey的集合

scard(key):返回名称为key的set的基数

sismember(key,member):测试member是否是名称为key的set的元素

sinter(key1,key2,…keyN):求交集

sinterstore(dstkey,key1,key2,…keyN):求交集并将交集保存到dstkey的集合

sunion(key1,key2,…keyN):求并集

sunionstore(dstkey,key1,key2,…keyN):求并集并将并集保存到dstkey的集合

sdiff(key1,key2,…keyN):求差集

sdiffstore(dstkey,key1,key2,…keyN):求差集并将差集保存到dstkey的集合

smembers(key):返回名称为key的set的所有元素

srandmember(key):随机返回名称为key的set的一个元素

5.对zset(sortedset)操作的命令

zadd(key,score,member):向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序。

zrem(key,member):删除名称为key的zset中的元素member

zincrby(key,increment,member):如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment

zrank(key,member):返回名称为key的zset(元素已按score从小到大排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”

zrevrank(key,member):返回名称为key的zset(元素已按score从大到小排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”

zrange(key,start,end):返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素

zrevrange(key,start,end):返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素

zrangebyscore(key,min,max):返回名称为key的zset中score>=min且score<=max的所有元素

zcard(key):返回名称为key的zset的基数

zscore(key,element):返回名称为key的zset中元素element的score

zremrangebyrank(key,min,max):删除名称为key的zset中rank>=min且rank<=max的所有元素

zremrangebyscore(key,min,max):删除名称为key的zset中score>=min且score<=max的所有元素

zunionstore/zinterstore(dstkeyN,key1,…,keyN,WEIGHTSw1,…wN,AGGREGATESUM|MIN|MAX):对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行 SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。

6.对Hash操作的命令

hset(key,field,value):向名称为key的hash中添加元素field<―>value

hget(key,field):返回名称为key的hash中field对应的value

hmget(key,field1,…,fieldN):返回名称为key的hash中fieldi对应的value

hmset(key,field1,value1,…,fieldN,valueN):向名称为key的hash中添加元素fieldi<―>valuei

hincrby(key,field,integer):将名称为key的hash中field的value增加integer

hexists(key,field):名称为key的hash中是否存在键为field的域

hdel(key,field):删除名称为key的hash中键为field的域

hlen(key):返回名称为key的hash中元素个数

hkeys(key):返回名称为key的hash中所有键

hvals(key):返回名称为key的hash中所有键对应的value

hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

三、各种数据类型所对应的应用场景

1.String类型的应用场景

String是最常用的一种数据类型,普通的key/value存储.

2.list类型的应用场景

比较适用于列表式存储且顺序相对比较固定,例如:

省份、城市列表

品牌、厂商、车系、车型等列表

拆车坊专题列表...

3.set类型的应用场景

Set对外提供的功能与list类似,当需要存储一个列表数据,又不希望出现重复数据时,可选用set

4.zset(sortedset)类型的应用场景

zset的使用场景与set类似,区别是set不是自动有序的,而zset可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序.当你需要一个有序的并且不重复的集合列表,那么可以选择zset数据结构,

电脑资料

例如:

根据PV排序的热门车系车型列表

根据时间排序的新闻列表

5.hash类型的应用场景

类似于表记录的存储

页面视图所需数据的存储

四、具体使用参考示例:

篇3:数据库操作命令总结

CINRAD/SB天气雷达是我国正在组网的天气雷达,在每年的汛期,CINRAD/SB天气雷达每天24小时连续工作,生成的雷达基数据非常多。按有关规定要求将基数据进行存储整编归档。因为资料特别多,存储整编归档资料需要很多时间,为了提高工作效率,减轻雷达技术人员的工作量,设计了自动压缩存储整编归档雷达基数据工作流程,望能给从事天气雷达的技术人员提供参考。

2 基数据生成原理和数据格式

2.1 原理

多普勒天气雷达是一个探测、处理、生成并显示雷达天气数据的应用系统;通过软件来控制雷达工作。RDA全称是Radar Data Acquisition Status Control Interface(雷达数据采集控制界面),其组是CINRAD/SB系统的探测单元。RDA产生并发射射频(RF)脉冲探测气象目标,获取并处理反射的RF信号,将得到天气的基数据(由测量反射率、平均径向速度和速度谱宽组成)送给RPG。RPG系统运行UCP软件,UCP的主要作用是对从RDA接收的基数据进行处理来产生一组包含以下气象信息的产品:降雨、风和风切变、龙卷风、锋面及好坏天气界限、热带低气压、中尺度气旋、暴风雨、湍流、冰雹、冻结/溶解层。产品经由窄带通信链路分配到PUP系统及其他用户。

2.2 格式

CINRAD/SB雷达的RPG系统形成的雷达基数据文件名格式:YYYYMMDDHH.MMA,YYYY是年份,MM是月份,DD是日期,HH是小时,小数点后的MM是分钟,A是常量。该文件一般形成并保存在RPG系统的Archive2文件夹下面,因为形成的文件名是以世界时间形成的,所以跟北京时间相差8个小时。文件大小约为9,581KB(约9.35MB)。

理论上,雷达每6分钟进行1个体扫,每一个体扫生成一个基数据,1小时约有10份基数据文件生成,1天就有240份文件,以每个文件9.35MB计算,1天的文件量约为2244MB,1年按365天算,约为819060MB,大概有800GB。

3 整编归档设计方案

3.1 工作环境和设置流程

雷达基数据存储服务器的工作平台是Win2003操作系统,设计的批处理程序是在WinXP操作系统平台编写。WinRAR压缩工具安装在雷达基数据存储服务器c:progra~1目录下。目前WinRAR安装的版本是3.71,用户可根据自己的需要安装更高级的版本。在计划任务里设置执行编写好的批处理文件,可自由设定处理时间(如可设在19:00~22:00),利用闲置网络资源,减少主业务工作时间的网络占用。RPG计算机和资料存储服务器设在同一个网段,将RPG计算机保存的雷达基数据目录进行读取共享,资料存储服务器映射RPG计算机共享出来的雷达基数据目录,建立映射虚拟盘为X:盘。RPG计算机是产生气象信息产品的设备,RPG计算机的硬盘容量一般来说不是很大,存储数据必需另存储,而且RPG计算机的硬盘必须经常整理,以免硬盘空间满了导致新的基数据无法产生气象信息产品。所以,已经在资料存储服务器上存储的资料可在RPG计算机上删除,只需要循环保存几天基数据。数据存储服务器硬盘容量配置要大,当一个硬盘存储几乎满时,可更换服务器硬盘。

3.2 WinRAR工具

WinRAR是Windows版本的RAR压缩文件管理器,允许创建、管理和控制压缩文件的强大工具。从命令行也可以运行WinRAR命令,常规的命令行语法描述如下:

3.3 批处理工具

批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子是逐行书写在命令行中会用到的各种命令。更复杂的情况需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在"命令提示"下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。

3.4 代码设计原理

自动压缩程序代码设计为每次运行保存前一天的资料,并且只保存一天的资料,保存的资料以文件名生成的日期为依据,从前一天的00时开始,到23时结束。例如:今天是2010年7月25日,拟保存2010年7月26日资料,运行批处理,批处理获取“2010072600.*”至“2010072623.*”全部的基数据并压缩打包生成以“20100726.rar”命名的压缩包文件,文件名后缀的"*"号代表任意字符。

3.5 程序代码

程序代码总共有27行。每行开始为序列号,生成批处理代码的时候,把序列号去掉。从第1行到第25行是获取当天时间并用公式换算为前一天的时间;第26行是登录到RPG计算机共享出来的雷达基数据目录已经映射为X:的虚拟盘;第27行第1个字符串c:progra~1winrarwinrar.exe是WinRAR压缩工具安装在雷达基数据存储服务器的绝对路径,第2个字符a是增加文件到压缩包,如果省略参数A也为添加文件,但不同的是添加当前路径文件到指定路径,第3个字符串d:%ymd:~,4%%ymd:~4,2%%ymd:~6,2%表示获取前一天的年月日形成YYYYMMDD.rar文件名,保存在d:目录下,第4个字符串%ymd:~,4%%ymd:~4,2%%ymd:~6,2%*.*表示获取前一天的所以基数据。完整代码如下:

4 结语

通过2个多月的试验和业务运行,证明程序运行良好。利用WinRAR压缩程序在日常工作中广泛应用,加上批处理功能,把WinRAR跟批处理结合应用在新一代雷达基数据自动压缩存储整编归档上,有效地提高了雷达工作人员的工作效率。

摘要:介绍利用RAR命令自动压缩新一代天气雷达基数据的方法。利用RAR命令编写处理代码,形成批处理程序,通过计划任务定时自动压缩前一天的雷达基数据,并以年月日形式的文件名生成压缩包。实践表明,该方法有效提高了工作效率。

关键词:RAR命令,批处理,雷达基数据,自动压缩,整编归档

参考文献

[1]中国新一代多普勒天气雷达CINRAD/SB用户手册(上).

[2]中国新一代多普勒天气雷达CINRAD/SB用户手册(中).

[3]CINRAD/SA雷达实用维修手册.

[4]http://zhidao.baidu.com/question/161131051.htmlpush=ql.

[5]http://atgfss.javaeye.com/blog/354054.

[6]http://simeon.blog.51cto.com/18680/19445.

篇4:数据库操作命令总结

摘 要:D5000系统平台是目前电力行业采用的先进调度主站系统,在实际使用过程中,由于D5000系统基于Linux系统为平台,有大量操作需要在命令行方式下进行,对维护人员的专业素质有较高要求,本文通过将各种命令制作成Shell脚本程序等方法来简化命令行环境下的操作,为维护人员快速简便维护提供了一种方式。

关键词:电力系统;D5000;Shell

D5000系统平台采用先进的软件开发技术,具有标准、开放、可靠、安全和适应性强等特点,在实际使用过程中,大量系统维护操作需要在命令行方式下完成,本文通过将各种命令制作成Shell脚本程序等方法来简化命令行环境下的操作,为维护人员快速简便维护工作提供了一种方式。

1 D5000系统结构

D5000运行于国产Linux内核的操作系统之上。Linux是在GUN公共许可权限下符合POSIX标准的操作系统,Linux是一种类似UNIX的操作系统,具有和UNIX类似的文件系统、用户接口。

2 标准Linux命令

2.1 Linux命令

Linux命令是很重要的工具,所谓命令,是我们在命令行输入的一串字符。Shell负责理解并执行这些字符串。Linux系统将命令行分成3个字段:命令名、命令选项和命令参数。以ls命令为例,“sy1-wh1:/home/d5000/suqian/data/screen_save # ls -l \Desktop”。ls:命令名,-l:命令选项,\Desktop:命令参数。

2.2 Shell简介

Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作。Shell种类众多,常见的有:Bourne Shell、Bourne Again Shell、C Shell、K Shell等,在D5000系统中,默认使用的是Bourne Again Shell。

以导出数据库中某一变电站信息表的操作为例。操作步骤如下:

从数据库中找出“**变**表”,保存显示内容,插入U盘,在Shell中输入命令拷贝内容至U盘

sy1-wh1:/home/d5000/suqian/data/screen_save % su

口令:

sy1-wh1:/home/d5000/suqian/data/screen_save # fdisk -l

sy1-wh1:/home/d5000/suqian/data/screen_save # mount /dev/sde1 /mnt

sy1-wh1:/home/d5000/suqian/data/screen_save # cp 众兴变遥测表 /mnt

sy1-wh1:/mnt # umount /mnt

可以看出,一个简单的文件拷贝至U盘的过程在D5000系统中都需要进行如此烦琐的操作。所以,通过Shell编程对D5000系统的各项操作过程进行自动化是必要且行之有效的。

2.3 Shell脚本

Shell的一个重要特性是它自身是一个解释型的程序设计语言,它会解释并执行命令提示符下输入的命令。要多次执行一组命令,可以将这组命令放在一个命令文件中,然后可以像Linux系统提供的其他程序一样执行这个文件,这个命令文件就叫作Shell脚本。为了让Shell能读取并执行Shell脚本,Shell脚本的文件权限必须设置为可读和可执行。

2.4 Shell脚本格式

Shell脚本以“#!/bin/sh”开始,符号“#!”用来告诉系统它后面的参数是用来执行该文件的程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:chmod +x filename 然后,可以通过输入:sh+filename 来执行脚本。

3 D5000命令输入的简化

由上可知,通过Shell脚本编程可以将D5000系统常用到的命令行操作制作成脚本文件形式保存在计算机上,待需要使用时直接调用该脚本文件即可。以U盘拷贝为例,写成Shell脚本文件部分内容如下:

#!/usr/bin/expect

spawn $env(SHELL)

expect -exact "// sy1-wh1:/home/d5000/suqian % "

send -- "data\cd screen_save\r"

send -- "su\r"

expect -exact "su\r\r

口令:"

send -- "root\r"

send -- "fdisk -l\r"

send -- "mount /dev/sdd1 /mnt\r"

send -- "cp 众兴变遥测表 /mnt\r"

普通Shell命令可以实现简单的控制流功能,如循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器;输入用户名、密码等进行交互的功能。而expect就使用来实现这种功能的工具。这里我们使用expect制作脚本文件,从而实现了自动输入用户名密码的交互功能。

4 结论

通过现场实际使用数月的反馈信息,在不影响D5000系统安全性的前提下,通过将D5000常用命令行操作制作成脚本文件的方式,可以较好地简化自动化运维人员的工作负担,提高工作效率,由于Linux系统的特点,不同脚本文件可以互相套用,几个小简单的脚本程序可以通过组合成为一个复杂的脚本程序,自动完成较复杂的任务。通过脚本程序完成的操作,可以减少人为输入命令错误的概率,减少重复劳动,有利自动化运维人员将更多精力放在运维工作上。

参考文献:

[1]D.坦思.LINUX与UNIX Shell编程指南[M].机械工业出版社,2000.

[2]Matt Welsh,Matthias Dalheimer.LINUX权威指南[M].中国电力出版社,2000.

作者简介:

篇5:CAD平面制图简单命令操作

1:L—代表直线-确定键-点左键-拉直线-输入尺寸-选中

2:M-代表移动-选中-点左键确定-按M键移动-正交移动-按F8任意键移动3:DLI-代表尺寸标注-输入DLI按确定-两头点中-上下拉线

4:D—代表修改—箭头—字体大小—修改中心-按ED直接在桌面上修改

5:F--代表倒圆角—按F键—确定—输入所需尺寸—确定—取消

6:RA—代表修改圆角尺寸—确定--输入所需尺寸—确定—取消

7:TR—代表修剪—输人TR—确定—先点右键—在点左键

8:MI—代表镜像—选中—确定—定中点线—上下拉—确定

9:O—代表偏移—确定—选中—输入偏移尺寸—确定

10:RO—代表旋转—确定—选中—上下拉动—确定

11:CO—代表复制—确定—选中—确定—左右拉动—按F8任意拉动

12:S—代表拉伸—确定—选中—输入需要拉伸尺寸—确定

13:H—代表阴影填充—选中-按H确定-选中图标-点拾取点-再点中-确定-确定 14:LI—代表文字箭头—确定2次后输入T—确定后开始打字

15:布局设置—点中布局—画框—285*195-点中视图中一个视口后—点中视口一角对角

拉—图形自动进入视口

16:T—代表文本打字—首先按取消键,窗口命令取消后—按F键—确定—再确定—鼠标点中—有方框的点中对角拉中后再输入需要打的字

篇6:数据库操作命令总结

一、概述:

在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set,这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。

在该篇博客中,我们将一如既往的给出所有相关命令的明细列表和典型示例,以便于我们现在的学习和今后的查阅。

二、相关命令列表:

命令原型时间复杂度命令描述返回值KEYSpatternO(N)时间复杂度中的N表示数据库中Key的数量。获取所有匹配pattern参数的Keys。需要说明的是,在我们的正常操作中应该尽量避免对该命令的调用,因为对于大型数据库而言,该命令是非常耗时的,对Redis服务器的性能打击也是比较大的。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[abc]表示方括号中任意一个字母。匹配模式的键列表。DELkey [key ...]O(N)时间复杂度中的N表示删除的Key数量。从数据库删除中参数中指定的keys,如果指定键不存在,则直接忽略。还需要另行指出的是,如果指定的Key关联的数据类型不是String类型,而是List、Set、Hashes和Sorted Set等容器类型,该命令删除每个键的时间复杂度为O(M),其中M表示容器中元素的数量。而对于String类型的Key,其时间复杂度为O(1)。实际被删除的Key数量。EXISTSkeyO(1)判断指定键是否存在。1表示存在,0表示不存在。MOVEkey dbO(1)将当前数据库中指定的键Key移动到参数中指定的数据库中。如果该Key在目标数据库中已经存在,或者在当前数据库中并不存在,该命令将不做任何操作并返回0。移动成功返回1,否则0。RENAMEkey newkeyO(1)为指定指定的键重新命名,如果参数中的两个Keys的命令相同,或者是源Key不存在,该命令都会返回相关的错误信息。如果newKey已经存在,则直接覆盖。RENAMENXkey newkeyO(1)如果新值不存在,则将参数中的原值修改为新值。其它条件和RENAME一致。1表示修改成功,否则0。PERSISTkeyO(1)如果Key存在过期时间,该命令会将其过期时间消除,使该Key不再有超时,而是可以持久化存储。1表示Key的过期时间被移出,0表示该Key不存在或没有过期时间。EXPIREkey secondsO(1)该命令为参数中指定的Key设定超时的秒数,在超过该时间后,Key被自动的删除。如果该Key在超时之前被修改,与该键关联的超时将被移除。1表示超时被设置,0则表示Key不存在,或不能被设置。EXPIREATkey timestampO(1)该命令的逻辑功能和EXPIRE完全相同,唯一的差别是该命令指定的超时时间是绝对时间,而不是相对时间。该时间参数是Unix timestamp格式的,即从1970年1月1日开始所流经的秒数。1表示超时被设置,0则表示Key不存在,或不能被设置。TTLkeyO(1)获取该键所剩的超时描述。返回所剩描述,如果该键不存在或没有超时设置,则返回-1。RANDOMKEYO(1)从当前打开的数据库中随机的返回一个Key。返回的随机键,如果该数据库是空的则返回nil。TYPEkeyO(1)获取与参数中指定键关联值的类型,该命令将以字符串的格式返回。返回的字符串为string、list、set、hash和zset,如果key不存在返回none。SORTkey [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]O(N+M*log(M))这个命令相对来说是比较复杂的,因此我们这里只是给出最基本的用法,有兴趣的网友可以去参考redis的官方文档。返回排序后的原始列表。

三、命令示例:

1. KEYS/RENAME/DEL/EXISTS/MOVE/RENAMENX:

代码如下:

#在Shell命令行下启动Redis客户端工具。

/>redis-cli

#清空当前选择的数据库,以便于对后面示例的理解。

redis 127.0.0.1:6379>flushdb

OK

#添加String类型的模拟数据。

redis 127.0.0.1:6379>set mykey 2

OK

redis 127.0.0.1:6379>set mykey2 “hello”

OK

#添加Set类型的模拟数据。

redis 127.0.0.1:6379>sadd mysetkey 1 2 3

(integer) 3

#添加Hash类型的模拟数据。

redis 127.0.0.1:6379>hset mmtest username “stephen”

(integer) 1

#根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。

redis 127.0.0.1:6379>keys my*

1) “mysetkey”

2) “mykey”

3) “mykey2”

#删除了两个Keys。

redis 127.0.0.1:6379>del mykey mykey2

(integer) 2

#查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。

redis 127.0.0.1:6379>exists mykey

(integer) 0

#查看一下没有删除的Key,以和上面的命令结果进行比较。

redis 127.0.0.1:6379>exists mysetkey

(integer) 1

#将当前数据库中的mysetkey键移入到ID为1的数据库中,从结果可以看出已经移动成功。

redis 127.0.0.1:6379>move mysetkey 1

(integer) 1

#打开ID为1的数据库。

redis 127.0.0.1:6379>select 1

OK

#查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。

redis 127.0.0.1:6379[1]>exists mysetkey

(integer) 1

#在重新打开ID为0的缺省数据库,

redis 127.0.0.1:6379[1]>select 0

OK

#查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。

redis 127.0.0.1:6379>exists mysetkey

(integer) 0

#准备新的测试数据。

redis 127.0.0.1:6379>set mykey “hello”

OK

#将mykey改名为mykey1

redis 127.0.0.1:6379>rename mykey mykey1

OK

#由于mykey已经被重新命名,再次获取将返回nil。

redis 127.0.0.1:6379>get mykey

(nil)

#通过新的键名获取。

redis 127.0.0.1:6379>get mykey1

“hello”

#由于mykey已经不存在了,所以返回错误信息。

redis 127.0.0.1:6379>rename mykey mykey1

(error) ERR no such key

#为renamenx准备测试key

redis 127.0.0.1:6379>set oldkey “hello”

OK

redis 127.0.0.1:6379>set newkey “world”

OK

#由于newkey已经存在,因此该命令未能成功执行。

redis 127.0.0.1:6379>renamenx oldkey newkey

(integer) 0

#查看newkey的值,发现它也没有被renamenx覆盖。

redis 127.0.0.1:6379>get newkey

“world”

2. PERSIST/EXPIRE/EXPIREAT/TTL:

代码如下:

#为后面的示例准备的测试数据。

redis 127.0.0.1:6379>set mykey “hello”

OK

#将该键的超时设置为100秒。

redis 127.0.0.1:6379>expire mykey 100

(integer) 1

#通过ttl命令查看一下还剩下多少秒。

redis 127.0.0.1:6379>ttl mykey

(integer) 97

#立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。

redis 127.0.0.1:6379>persist mykey

(integer) 1

#ttl的返回值告诉我们,该键已经没有超时了。

redis 127.0.0.1:6379>ttl mykey

(integer) -1

#为后面的expire命令准备数据。

redis 127.0.0.1:6379>del mykey

(integer) 1

redis 127.0.0.1:6379>set mykey “hello”

OK

#设置该键的超时被100秒。

redis 127.0.0.1:6379>expire mykey 100

(integer) 1

#用ttl命令看一下当前还剩下多少秒,从结果中可以看出还剩下96秒。

redis 127.0.0.1:6379>ttl mykey

(integer) 96

#重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。

redis 127.0.0.1:6379>expire mykey 20

(integer) 1

#再用ttl确认一下,从结果中可以看出果然被更新了。

redis 127.0.0.1:6379>ttl mykey

(integer) 17

#立刻更新该键的值,以使其超时无效。

redis 127.0.0.1:6379>set mykey “world”

OK

#从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。

redis 127.0.0.1:6379>ttl mykey

(integer) -1

3. TYPE/RANDOMKEY/SORT:

代码如下:

#由于mm键在数据库中不存在,因此该命令返回none。

redis 127.0.0.1:6379>type mm

none

#mykey的值是字符串类型,因此返回string。

redis 127.0.0.1:6379>type mykey

string

#准备一个值是set类型的键。

redis 127.0.0.1:6379>sadd mysetkey 1 2

(integer) 2

#mysetkey的键是set,因此返回字符串set。

redis 127.0.0.1:6379>type mysetkey

set

#返回数据库中的任意键。

redis 127.0.0.1:6379>randomkey

“oldkey”

#清空当前打开的数据库。

redis 127.0.0.1:6379>flushdb

OK

#由于没有数据了,因此返回nil。

redis 127.0.0.1:6379>randomkey

上一篇:在中青年干部培训班开班式上的讲话2021年下一篇:法院六项措施开展开展两评查活动