Oracle和MySQL中短小精悍的SQL

如果让你写一个简单牛叉的SQL,数据库类型不限,你会写出什么样的SQL语句。

Oracle

   如果是Oracle,我就写个drop table dual;

这个SQL看起来很简单,包含的信息量还是蛮大的,首先对于dual表你得有一定的认识和了解,而这个视图和一般的数据字典不同,如果删除之后,直接会导致数据库不可用。恢复起来需要一个隐含参数来调整。

   当然如果想换一个角度来,写出一些含有人生哲理的SQL来,这方面得下不少功夫了。

   我想了一个,比如Flashback database to sysdate-1/24/60;

   这个我想表达的意思就是,数据库可以闪回到一分钟前,而我们的人生不会,统统不会。

  

MySQL

     MySQL的角度来写几个这方面的SQL自己还真想了不少,但是感觉都不是很满意,直到我看到了jeremycole 提供的一个MySQL性能测试语句,简单但是威力很大。

   github上可以看到 https://github.com/jeremycole/yesmark

    语句就一行:

yes "DO 0;" | mysql >/dev/null &

    如果想开个并行,那也不是事儿,比如开16个并发。

for i in {1..16}; do yes "DO 0;" | mysql > /dev/null & done

   这样的语句真实短小精悍。

我呢,也算是抛砖引玉了,大家有什么好的想法,欢迎留言。

时间: 2024-07-30 23:09:01

Oracle和MySQL中短小精悍的SQL的相关文章

通过oracle类比MySQL中的字节字符问题

在几个月前写过一篇博文 MySQL数据类型 http://blog.itpub.net/23718752/viewspace-1371434/  当时写完以后有同事朋友就提出了一些疑问,对于汉字在MySQL和Oracle中的存放情况希望我能够详细的说说.  关于MySQL中的varchar字符类型,自己的操作都是基于字符集UTF-8.  对于存放汉字,涉及到字符,字节,编码的一些知识,我查了一下,自己先补补,发现有一个帖子已经描述的很详细了.直接引用过来.  http://www.regexla

关于Oracle和MySQL中的无密码登录

无密码登录在一定程度上能够简化流程,对于密码敏感,但是又需要提供访问权限的情况下是一个不错的选择.尤其是在乙方在做一些操作的时候,要密码和给密码是一个纠结的问题.不给没法工作,给了又对信息安全又影响. 在Oracle和MySQL中都有相应的解决方案,大道至简,这个功能的目的都是类似的. 在Oracle中可以通过设置wallet来实现,在10g版本开始支持.而在MySQL中自5.6版本开始可以使用--login-path来实现. 先来看看Oracle中的wallet实现无密码登录,可以通过mkst

oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)

一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型   二. Mysql varchar VS Oracle varchar2 mysql和oracle做数

Mysql中错误使用SQL语句Groupby被兼容的情况

首先创建数据库hncu,建立stud表格. 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',22,'湖南益阳'); INSERT INTO stud VALUES('1002','Jack',23,'益阳'); INSERT

SQL Server、Oracle和MySQL中查出值为NULL的替换

在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NULL时将返回的表达式.replacement_value 必须与

Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享_java

MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小写. 相关的代码如下: 1. Java版MD5 MD5Uti

mysql中备份还原.sql/zip/sql.zip/gzip文件方法

windows下导入数据 (一)导出 命令:mysqldump -u 用户名 -p 数据库名 > 文件名 如果用户名需要密码,则需要在此命令执行后输入一次密码核对:如果数据库用户名不需要密码,则不要加"-p"参数,导入的时候相同.注意输入的用户名需要拥有对应数据库的操作权限,否则无法导出数据.由于是作系统维护和全部数据库的导出,一般我们使用root等超级用户权限. 比如要将abc这个数据库导出为一个文件名为db_abc.sql的数据库文件到当前目录下,则输入下面的命令: #mys

mySQL中Explain实现Sql语句执行效率检查

Explain语法:explain select - from - [where ...] 例如:explain select * from news; 输出: +--+-----+---+---+-------+---+---+---+--+---+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +--+-----+---+---+-------+---+---+

mysql中关联查询sql 语句

 以一个实际的例子来理解关联子查询 left join   :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录. inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行. full join:外连接,返回两个表中的行:left join + right join cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数.  代码如下 复制代码 declare @a