assql mysql_关于MySQL与DMsql探寻

1、查询全部数据

达梦数据库

select * from "SYSDBA"."GRADE";

20200322223446536528.jpg

mysql数据库

SELECT * FROM ceshi;

20200322223446685948.jpg

2、更换表头

【加不加as的效果是一样的】

达梦数据库

select "CLASSID" frozen,"STU_COUNT" red ,"TEACHER_NAME" as red,"COURSE"

from "SYSDBA"."GRADE";

20200322223446753334.jpg

MySQL数据库

SELECT test as frozen, NAME as wcl,NAME wcl FROM ceshi;

20200322223446801187.jpg

3、组合新列 达梦与mysql只能拼接数字,不能拼接列或者其他字符

达梦数据库

select (123232+213213) as frozen from "SYSDBA"."GRADE";

20200322223446864666.jpg

MySQL数据库

SELECT (1232+13121) as frozen FROM ceshi;

20200322223446964279.jpg

4、区间查询

达梦数据库

select "CLASSID","STU_COUNT","TEACHER_NAME","COURSE"

from "SYSDBA"."GRADE" where "STU_COUNT" between 20 and 38;

20200322223447074635.jpg

MySQL数据库

SELECT FROM ceshi WHERE age BETWEEN 30 and 80;

20200322223447181084.jpg

5、按首字母查

【ps】达梦数据库按照 ASCII(str)来排序、mysql在创建的时候一般选择选择utf-8作为编码

达梦数据库

select from "SYSDBA"."GRADE" order by "TEACHER_NAME";

20200322223447230891.jpg

MySQL数据库

SELECT *FROM ceshi ORDER BY Name;

20200322223447513128.jpg

【ps】那么mysql的排序规则是什么呢,探究一下

SELECT SUBSTRING(name,1,1), ASCII(SUBSTRING(name,1,1)) FROM ceshi ORDER BY SUBSTRING(name,1,1);

20200322223447577584.jpg

6.1、按照gbk ASCII(str)试试?

SELECT SUBSTRING(name,1,1), ASCII(CONVERT(SUBSTRING(name,1,1) USING gbk)) FROM ceshi ORDER BY CONVERT(SUBSTRING(name,1,1) USING gbk);

20200322223447807085.jpg

7、置换null为某个字符

达梦数据库

达梦的语法同mysql这里没有null的数据,就略过了。

mysql数据库

SELECT COALESCE(Name, "frozen") from ceshi ;

20200322223447862751.jpg

8、【高级】条件返回case when

达梦数据库

select ,(case when "STU_COUNT" < 40 then ‘加油‘ else ‘还行‘ end)as frozen from "SYSDBA"."GRADE";

20200322223447954552.jpg

mysql数据库

【ps】我认为小于100的都是凡人,大于100的都是仙人。

SELECT,(CASE WHEN Age < 100 THEN "凡人" ELSE ‘仙人‘ END) as frozen from ceshi;

20200322223448005335.jpg

9、聚合函数

一、AVG()

AVG()函数计算一组值的平均值。 它计算过程中是忽略NULL值的.

达梦数据库

select avg("STU_COUNT") from "SYSDBA"."GRADE";

mysql数据库

SELECT AVG(Age) FROM ceshi;

20200322223448116667.jpg

二、COUNT()函数

达梦数据库与mysql一致

SELECT COUNT(*) FROM ceshi;

三、SUM()函数

达梦数据库与mysql一致

SELECT SUM(Age) FROM ceshi;

四、MAX()函数

select max("STU_COUNT") from "SYSDBA"."GRADE";

五、MIN()函数

select min("STU_COUNT") from "SYSDBA"."GRADE";

10、循环函数

mysql数据库

delimiter $$$

create procedure zqtest() -- 创建函数

begin

declare i int default 0;

set i=0;

start transaction;

while i<12 do

INSERT into ceshi(uuid) VALUES (i);

set i=i+1;

end while;

commit;

end

$$$

delimiter;

call zqtest();

20200322223448180146.jpg

创建完执行过程,要在函数中运行。

得到结果:

20200322223448245578.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值