关于MySQL与DMsql探寻

【前言】
DMsql指的是达梦数据库,这里只是一些浅显的sql。结合实际的运行效果和资料来探寻原理。咱们以达梦数据库自带的表GRADE以及mysql随意建立的一个表做为测试。
一、查询所有数据
达梦数据库
select * from "SYSDBA"."GRADE";
关于MySQL与DMsql探寻mysql

mysql数据库
SELECT * FROM ceshi;
关于MySQL与DMsql探寻sql

二、更换表头
【加不加as的效果是同样的】
达梦数据库
select "CLASSID" frozen,"STU_COUNT" red ,"TEACHER_NAME" as red,"COURSE"
from "SYSDBA"."GRADE";数据库

关于MySQL与DMsql探寻

MySQL数据库
SELECT test as frozen, NAME as wcl,NAME wcl FROM ceshi;
关于MySQL与DMsql探寻
三、组合新列 达梦与mysql只能拼接数字,不能拼接列或者其余字符
达梦数据库
select (123232+213213) as frozen from "SYSDBA"."GRADE";
关于MySQL与DMsql探寻
MySQL数据库
SELECT (1232+13121) as frozen FROM ceshi;
关于MySQL与DMsql探寻
四、区间查询
达梦数据库
select "CLASSID","STU_COUNT","TEACHER_NAME","COURSE"
from "SYSDBA"."GRADE" where "STU_COUNT" between 20 and 38;
关于MySQL与DMsql探寻
MySQL数据库
SELECT FROM ceshi WHERE age BETWEEN 30 and 80;
关于MySQL与DMsql探寻
五、按首字母查
【ps】达梦数据库按照 ASCII(str)来排序、mysql在建立的时候通常选择选择utf-8做为编码
达梦数据库
select
from "SYSDBA"."GRADE" order by "TEACHER_NAME";
关于MySQL与DMsql探寻
MySQL数据库
SELECT *FROM ceshi ORDER BY Name;
关于MySQL与DMsql探寻ide

【ps】那么mysql的排序规则是什么呢,探究一下
SELECT SUBSTRING(name,1,1), ASCII(SUBSTRING(name,1,1)) FROM ceshi ORDER BY SUBSTRING(name,1,1);
关于MySQL与DMsql探寻
6.一、按照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);
关于MySQL与DMsql探寻函数

七、置换null为某个字符
达梦数据库
达梦的语法同mysql这里没有null的数据,就略过了。
mysql数据库
SELECT COALESCE(Name, "frozen") from ceshi ;
关于MySQL与DMsql探寻
八、【高级】条件返回case when
达梦数据库
select ,(case when "STU_COUNT" < 40 then '加油' else '还行' end)as frozen from "SYSDBA"."GRADE";
关于MySQL与DMsql探寻
mysql数据库
【ps】我认为小于100的都是凡人,大于100的都是仙人。
SELECT
,(CASE WHEN Age < 100 THEN "凡人" ELSE '仙人' END) as frozen from ceshi;
关于MySQL与DMsql探寻测试

九、聚合函数
1、AVG()
AVG()函数计算一组值的平均值。 它计算过程当中是忽略NULL值的.
达梦数据库
select avg("STU_COUNT") from "SYSDBA"."GRADE";
mysql数据库
SELECT AVG(Age) FROM ceshi;
关于MySQL与DMsql探寻ui

2、COUNT()函数
达梦数据库与mysql一致
SELECT COUNT(*) FROM ceshi;
3、SUM()函数
达梦数据库与mysql一致
SELECT SUM(Age) FROM ceshi;
4、MAX()函数
select max("STU_COUNT") from "SYSDBA"."GRADE";
5、MIN()函数
select min("STU_COUNT") from "SYSDBA"."GRADE";
十、循环函数
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();

关于MySQL与DMsql探寻

建立完执行过程,要在函数中运行。
获得结果:
关于MySQL与DMsql探寻3d

相关文章
相关标签/搜索