常见数据库管理系统
商业化的有:Oracle、MSSQLServer、DB2、SybaseSQLServer、Informix
开源的有:MYSQL、SQLite、SimpleSQL、Berkely DB、Minosse、Firebird、HSQLDB等
这些数据库产品的出现给了开发者更多的选择余地,如:
Oracle或者DB2:系统对安全性、稳定性以及售后技术支持要求非常高
MSSQLServer:系统只运行在Windows操作系统下
MYSQL:免费的
HSQLDB等嵌入式数据库系统:只是提供一个方便数据存取机制
各个数据库管理系统支持的SQL语法是存在一定差异的,在Oracle下能够成功运行的SQL迁移到DB2下可能就无法运行。
数据类型差异
整数类型:
MYSQL中整数相关的类型有:tinyint、smallint、mediumint、int、integer和bigint
MSSQLServer中整数相关的类型有:bit、int、smallint、tinyint 、bigint
Oracle中整数相关的类型有:number
DB2中整数相关的类型有:smallint、integer 、bigint
数值类型:
MYSQL中数值相关的类型有:float、double、real、decimal和numeric
MSSQLServer 中数值相关的类型有:decimal、numeric、money、smallmoney 、float 和real
Oracle中数值相关的类型有number
DB2中数值相关的类型有decimal、numeric、real和double
字符类型:
MYSQL中字符相关的类型有:char、varchar、tinytext、text、mediumtext、longtext、enum、set
MSSQLServer中字符相关的类型有char、varchar、text、nchar、nvarchar和ntext
Oracle中字符相关的类型有char、varchar2、nvarchar2、clob 和nclob
DB2中字符相关的类型有CHARACTER、VARCHAR、LONG VARCHAR、CLOB、GRAPHIC、VARGRAPHIC和LONG VARGRAPHIC
日期时间类型:
MYSQL 中日期时间相关的类型有date、time、datetime、timestamp和year
MSSQLServer 中日期时间相关的类型有datetime、smalldatetime 和timestamp
Oracle 中日期时间相关的类型有:date 和timestamp
在DB2 中日期时间相关的类型有DATE、TIME 和TIMESTAMP
二进制类型:
MYSQL、Oracle和DB2都支持Blob
类型,而在MSSQLServer中支持image
类型。