Oracle 与 MySQL 的区别

Oracle 与 MySQL 的区别

1、在ORACLE中用select * from all_users显示所有的用户,而在MYSQL中显示所有数据库的命令是show databases。对于我的理解,ORACLE项目来说一个项目就应该有一个用户和其对应的表空间,而MYSQL项目中也应该有个用户和一个库。在ORACLE(db2也一样)中表空间是文件系统中的物理容器的逻辑表示,视图、触发器和存储过程也可以保存在表空间中。而MYSQL并没有使用表空间来进行管理。

  2、查询当前所有的表。ORACLE: select * from tab,MYSQL:show tables。

  3、改变连接用户(库)。ORACLE:conn 用户名/密码@主机字符串,MYSQL:use 库名。

  4、显示当前连接用户(库)。ORACLE:show user,MYSQL:connect。

  5、执行外部脚本命令。ORACLE:@a.sql,MYSQL:source a.sql。

比版本 Personal Oracle 10  mysql 5.1
     

默认安装目录


可选择


C:/program files/MYSQL


各种实用程序所在目录


可选择


C:/program files//BIN


控制台工具


SVRMGR.EXE
SVRMGR23.EXE


mysqladmin.exe


数据库启动程序


0start73.exe screen


mysqld-shareware.exe


关闭数据库命令


ostop73.exe


mysqladmin.exe -u root shutdown


客户程序


SQL*Plus


mysql


启动命令


c:/orawin95/bin/sqlplus.exe


c:/mysql/bin/mysql.exe


带用户启动方式
(直接连库方式)


c:/orawin95/bin/sqlplus.exe system/manager@TNS


c:/mysql/bin/mysql.exe test
c:/mysql/bin/mysql.exe -u root test


安装后系统默认用户(库)


sys
system
scott


mysql
test


显示所有用户(库)


SQL >select * from all_users;


C:/mysql/bin>mysqlshow
C:/mysql/bin>mysqlshow --status
mysql> show databases;


退出命令


SQL> exit
SQL> quit


mysql> exit
mysql> quit


改变连接用户(库)


SQL> conn 用户名/密码@主机字符串


mysql> use 库名


查询当前所有的表


SQL> select * from tab;
SQL> select * from cat;


mysql> show tables;
c:/mysql/bin>mysqlshow 库名


显示当前连接用户(库)


SQL> show user


mysql> connect


查看帮助


SQL> ?


mysql> help


显示表结构


SQL> desc 表名
SQL> describe 表名


mysql> desc 表名;
mysql> describe 表名;
mysql> show columns from 表名;
c:/mysql/bin>mysqlshow 库名 表名


日期函数


SQL> select sysdate from dual;


mysql> select now();
mysql> select sysdate();
mysql> select curdate();
mysql> select current_date;
mysql> select curtime();
mysql> select current_time;


日期格式化


SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;
SQL> select to_char(sysdate,'hh24-mi-ss') from dual;


mysql> select date_format(now(),'%Y-%m-%d');
mysql> select time_format(now(),'%H-%i-%S');


日期函数
(增加一个月)


SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),1),'yyyy-mm-dd') from dual;
结果:2000-02-01
SQL> select to_char(add_months(to_date('20000101','yyyymmdd'),5),'yyyy-mm-dd') from dual;
结果:2000-06-01


mysql> select date_add('2000-01-01',interval 1 month);
结果:2000-02-01
mysql> select date_add('2000-01-01',interval 5 month);
结果:2000-06-01


别名


SQL> select 1 a from dual;


mysql> select 1 as a;


字符串截取函数


SQL> select substr('abcdefg',1,5) from dual;
SQL> select substrb('abcdefg',1,5) from dual;
结果:abcde


mysql> select substring('abcdefg',2,3);
结果:bcd
mysql> select mid('abcdefg',2,3);
结果:bcd
mysql> select substring('abcdefg',2);
结果:bcdefg
mysql> select substring('abcdefg' from 2);
结果:bcdefg
另有SUBSTRING_INDEX(str,delim,count)函数
返回从字符串str的第count个出现的分隔符delim之后的子串。
如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。
如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。


执行外部脚本命令


SQL >@a.sql


1:mysql> source a.sql
2:c:/mysql/bin>mysql <a.sql
3:c:/mysql/bin>mysql 库名 <a.sql


导入、导出工具


exp.exe
exp73.exe
imp.exe
imp73.exe


mysqldump.exe
mysqlimport.exe


改表名


SQL> rename a to b;


mysql> alter table a rename b;


执行命令


;<回车>
/
r
run


;<回车>
go
ego


distinct用法


SQL> select distinct 列1 from 表1;
SQL> select distinct 列1,列2 from 表1;


mysql> select distinct 列1 from 表1;
mysql> select distinct 列1,列2 from 表1;


注释


--
/*与*/


#
--
/*与*/


当作计算器


SQL> select 1+1 from dual;


mysql> select 1+1;


限制返回记录条数


SQL> select * from 表名 where rownum<5;


mysql> select * from 表名 limit 5;


新建用户(库)


SQL> create user 用户名 identified by 密码;


mysql> create database 库名;


删用户(库)


SQL> drop user 用户名;


mysql> drop database 库名;


外连接


使用(+)


使用left join


查询索引


SQL> select index_name,table_name from user_indexes;


mysql> show index from 表名 [FROM 库名];


通配符


“%”


“%”和“_”


SQL语法


SELECT selection_list 选择哪些列
FROM table_list 从何处选择行
WHERE primary_constraint 行必须满足什么条件
GROUP BY grouping_columns 怎样对结果分组
HAVING secondary_constraint 行必须满足的第二条件
ORDER BY sorting_columns 怎样对结果排序


SELECT selection_list 选择哪些列
FROM table_list 从何处选择行
WHERE primary_constraint 行必须满足什么条件
GROUP BY grouping_columns 怎样对结果分组
HAVING secondary_constraint 行必须满足的第二条件
ORDER BY sorting_columns 怎样对结果排序
LIMIT count 结果限定

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-03 21:53:32

Oracle 与 MySQL 的区别的相关文章

Oracle与Mysql的区别

  1.组函数的用法规则: MySql中组函数在select语句中可以随意使用,但Oracle中如果查询语句中有组函数, 那其他列名必须是组函数处理过的,或者group by 子句中的列,负则会报错. 2.自动增长的数据类型处理: MySql有自动增长数据类(auto_increment),插入记录是不用操作此字段,会自动获得数据值, Oracle中没有自动增长数据类型,需要使用Sequence序列号. 3.单引号的处理: MySql里可以用双引号包其字符串,Oracle只可以用单引号. 4.翻

Oracle 和 mysql的9点区别

 这篇文章主要介绍了Oracle 和 mysql的9点区别,需要的朋友可以参考下 1.组函数用法规则   mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg:select name,count(money) from user:这个放在mysql中没有问题在oracle中就有问题了   2.自动增长的数据类型处理   MYSQL有自动增长的数据类型,插入记录时不用操作此字段,

Oracle &amp; mysql的区别整理

1.组函数用法规则 mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg:select name,count(money) from user:这个放在mysql中没有问题在oracle中就有问题了2.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要

Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍

先来定义分页语句将要用到的几个参数: int currentPage ; //当前页 int pageRecord ; //每页显示记录数 以之前的ADDRESSBOOK数据表为例(每页显示10条记录): 一.SqlServe下载 分页语句 String sql = "select top "+pageRecord +" * from addressbook where id not in (select top "+(currentPage-)*pageRecor

【2017DTC精彩重现】Oracle和MySQL DBA的进阶之路

分享的初衷 这个是参考了朱赟[yūn]的一段话,我觉得已经很透彻形象了,毕竟在短短的几十分钟里,你只能得到一些思想上的建议和思路,落到实处还是得靠自己.而参考和借鉴的过程也是自己修行的过程.第二句我关于坚持,有的同学说坚持是习惯,有的说是毅力,本质上来说,还是坚持的态度,是坚持做一件事情,还是坚持把一件事情做好,两者听起来相似,实则有很大的差别. 分享思路 我分了几个层面来做了一些解读.在本文中会抽取重点列出一些来. Oracle和MySQL的学习周期 其实正如我开篇所说,目前国内的使用有两个比

orcale和mysql的区别orcale和mysql的区别orcale和mysql的区别

问题描述 orcale和mysql的区别orcale和mysql的区别orcale和mysql的区别 他两个有什么不同 想听大神总结出他们之间的不同之处越详细越好!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 解决方案 oracle是要付费的,是强大的商业化数据库,安全性高,付费软件优势很明显. mysql开源,但是mysql不支持视图;不支持commit-rollback,有效处理commit-rollback将

oracle与mysql

问题描述 谁可以告诉我oracle与mysql的区别是什么?谢谢! 解决方案 解决方案二:飞机与汽车的区别解决方案三:火车与自行车的区别解决方案四:Oracle是企业级数据库市场占有率最高的数据库管理系统MySQL是使用最为广泛的开源数据库管理系统这两个根本不在同一个档次上,没办法比.解决方案五:区别大了,不在一个等量级1.安全性:不管是mysql,还是mssql,在外部网络中,都受到相当大的威胁.相比而言,mssql受到的威胁甚至要更大些,最近2年来,mssql暴露出了多个远程溢出漏洞.如果配

Oracle和MySQL分组查询GROUP BY

Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别?答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段必须在GROUP BY后边出现,否则会报错:"ORA-00979: not a GROUP BY expression".而MySQL则不同,如果SELECT出来的字段在GROUP BY后面没有出现,那么会随机取出一个值,而这样查询出来的数据不准确,语义也不明确.所以,作者建议在写SQL语句

数据库笔试面试题库(Oracle、MySQL等)

数据库笔试面试题库(Oracle.MySQL等) 版权声明:版权所有,欢迎分享本文,转载请保留出处,否则追究法律责任,谢谢合作. 注:本文将持续更新,可关注作者微信公众号以便获得最新笔试面试资料. ※※※※※ 数据库笔试面试题库:http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w ⊙ [DB笔试面试300]如何查看某个进程的具体线程信息?⊙ [DB笔试面试299]如何实时查看日志输出?⊙ [DB笔试面试298]Linux下如何查询物理CPU.逻辑CP