数据库Oracle和MySQL 的不同

MySQL是轻量型数据库,开源免费Oracle收费,这个不是重点,,重点是它贵。

MySQL一个实例可以操作多个库,而Oracle一个实例只能对应一个库。

MySQL安装只有300多兆Oracle3个G。

操作的区别

主键MySQL一般使用自动增长型,Oracle需要使用序列对象。

单引号处理:MySQL 里可以用双引号包起字符串Oracle里只可以用单引号包 起字符串

分页的SQL语句:MySQL LIMIT,而 Oracle 需要使用内建视图和 rownum 伪列。

事务处理:MySQL 默认是自动提交,而 Oracle 默认不自动提交,需要用户 CTL 语言进行事务提交。

MySQL创建数据库(MySQL的表的创建都需要在有数据库的情况下

创建数据库以及设置数据库的编码:

create database sxt default CHARACTER set utf8;

数据库Oracle和MySQL 的不同

查看数据库:

show databases;

数据库Oracle和MySQL 的不同

查看数据库编码:

select SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME from information_schema.SCHEMATA where SCHEMA_NAME=\'sxt\';

数据库Oracle和MySQL 的不同

删除数据库命令:

drop database sxt;

数据库Oracle和MySQL 的不同

创建表之前需要表示一下用哪个数据库  不然会报错的

use bjsxt;



MySQL拥有的数值类型

数据库Oracle和MySQL 的不同

数据库Oracle和MySQL 的不同

MySQL拥有的字符串处理类型

数据库Oracle和MySQL 的不同

MySQL拥有的日期串处理类型

数据库Oracle和MySQL 的不同

Oracle仅仅date表示日期和时间,MySQL的时间和日期是分开的

二进制数据(BLOB):

1)BLOB TEXT 存储方式不同,TEXT 以文本方式存储,英文存储区分大小写,而 Blob是以二进制方式存储,不分大小写。

2)BLOB 存储的数据只能整体读出。3)TEXT 可以指定字符集,BLOB 不用指定字符集。

Oracle和MySQL的DDL(数据库定义语言)都是相差不太多。

由于MySQL是默认自动提交的,所以不需要去手动commit,但是它也可以设置成手动提交数据。

mysql> start transaction;

这样设置,就需要自己手动提交数据了。

Oracle和MySQL的DML(数据库操作语言)俩者几乎没什么差距。

Oracle和MySQL的DQL(数据库查询语言)俩者一样。

MySQL有主键是自动增长类型。所以在设置这个属性有所不同:

alter table emp modify employee_id int auto_increment;

如果要删除主键约束和唯一约束(都有自动增长类型)需要先删除自动增长类型:

alter table emp modify employee_id int;

在添加约束和删除约束俩者都还差不多,不同之处还是这个自动增长

在插入数据时如果有主键或者唯一约束是自动增长类型,需要用default或者null ,0去占位

insert into departments values(default,"development",2);

自动增长类型:每次增长1,和Oracle的序列效果是一样的,只不过Oracle的序列比它的功能更多。

MySQL 中的自动增长类型要求:

一个表中只能有一个列为自动增长。

自动增长的列的类型必须是整数类型。

自动增长只能添加到具备主键约束与唯一性约束的列上。

删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然后在删除约束。

默认值处理:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwyyy.html