浅谈达梦数据库与MYSQL数据库的差异
前言:
此前刚参加完达梦数据库的学习与培训,对于达梦数据库原理与使用有了一个大致的了解。对比我原来经常使用的MYSQL数据库,还是有诸多方面存在着一些差异,现将从以下几个方面来简要讲一下:
一、模式的使用
达梦数据库引入了模式这么一种概念,模式是数据库对象的集合,模式是数据库的逻辑结构,用户(USER)和模式(SCHEMA)是一对多的关系,即一个用户拥有至少一个及以上的模式,而一个模式只能属于一个用户,创建用户时会默认生成一个对应名称的模式,在模式下面可以创建表与管理表等,MYSQL没有这种概念。
二、存储
达梦采用了表空间的管理方式,一个表空间可以关联多个存储文件和文件夹,存储文件可以设置初始大小、限制大小、增减文件等,而mysql则直接采用文件系统在磁盘存储。
三、数据类型
达梦不支持 longtext、TINYBLOB、MEDIUMBLOB、LONGBLOB类型,可用 CLOB 代替。
四、语法
达梦内置有相关系统参数(COMPATIBLE_MODE)配置,可以配置兼容其他数据库的部分语法。
达梦建表时不支持在列的后面直接加 comment 注释,使用 COMMENT ON IS 代替。
达梦不支持 if、 case-when-then-else等函数使用。
达梦不支持 “”(双引号使用),只支持’’(单引号使用)。
五、函数
1、不支持 date_sub 函数,使用 dateadd(datepart,n,date) 代替
2、不支持 date_format 函数,它有三种代替方法:1)使用 date_part 代替,功能和 datepart 一样,写法不同,参数顺序颠倒,且都要加引号,2)使用 date_part 代替,功能和 datepart 一样,写法不同,参数顺序颠倒,且都要加引号,3)使用 extract 代替,语法:extract(dtfield from date),从日期类型date中抽取dtfield对应的值
3、不支持 substring_index 函数, 使用 substr / substring 代替。
4、不支持 group_concat 函数,使用 wm_concat 代替。
5、不支持 from_unixtime 函数,使用 round 代替。
6、不支持 on duplicate key update,使用 merge into 代替。
7、不支持 ignore,使用 insert ignore into代替。
8、不支持 auto_increment, 使用 identity 代替,从1开始,每次增1。
......
结语:
以上是我对达梦数据库与MYSQL数据库的一些差异进行的一点简单对比,整体来说,不管是什么数据库,其数据库管理的基础大都一致,可能会在存储、函数等方面有一些各自的处理。
文章
阅读量
获赞