设为首页 收藏本站
查看: 296|回复: 0

[经验分享] Oracle 和 Mysql 使用类比

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2014-8-14 09:47:10 | 显示全部楼层 |阅读模式
同为关系型数据库,虽然操作原理上很类似,但是具体的SQL语法不尽相同。

        查看表结构这个用法上二者比较相似
       
  •                         Syntax:
  •                            DESC table
  •                            DESC view
  •                            DESC synonym
  •                            DESC function
  •                            DESC package


        查看创建表的DDL这个用法上就不同了,Mysql使用的是
show create table <tablename>

Oracle 可以用这种方法
       
  •                         SQL> set long 1000
  •                         SQL> set pagesize 0
  •                         SQL> select DBMS_METADATA.GET_DDL('TABLE','EMPLOYEES1','SYSTEM') from DUAL;
  •                           CREATE TABLE "SYSTEM"."EMPLOYEES1"
  •                            ( "EMPNO" NUMBER(4,0),
  •                                 "ENAME" VARCHAR2(10),
  •                                 "JOB" VARCHAR2(9),
  •                                 "MGR" NUMBER(4,0),
  •                                 "HIREDATE" DATE,
  •                                 "SAL" NUMBER(7,2),
  •                                 "COMM" NUMBER(7,2),
  •                                 "DEPTNO" NUMBER(2,0)
  •                            ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  •                          NOCOMPRESS LOGGING
  •                           STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  •                           PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  •                           BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  •                           TABLESPACE "TBSALERT" ENABLE ROW MOVEMENT


        其他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 Oracle7 Release 7.3.4.0.0                                                                                                                        mysql 3.22.34-shareware-debug                                                       
                                                       
                                                       
                                                       
                                                                默认安装目录                                                                                                                        C:\ORAWIN95                                                                                                                        C:\MYSQL                                                       
                                                                各种实用程序所在目录                                                                                                                        C:\ORAWIN95\BIN                                                                                                                        C:\MYSQL\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 结果限定
                                                       
                       

                                                                                                                                    

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-23757-1-1.html 上篇帖子: Oracle DB 监控和调优 下篇帖子: oracle小版本升级9206到9208(静默方式)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表