首页 / 数据库 / MySQL / Oracle跟MySQL的区别和联系
一、主键自增长:1) Oracle:使用序列实现,比如创建序列,起点是1000,步进是1: create sequence myseq increment by 1 start with 1000 增加记录: insert into student(stuId,stuName) values(myseq.nextval,"peter") 2) mysql:在建表时指定主键自增长 create table student(stuId int auto_increment primary key,stuName char(20)) 增加记录: insert into student(stuName) values ("peter") 二、命令行工具:Oracle 的官方命令行工具是SQLPlus mysql 的命令行工具是mysql: 三、关于用户的概念:1)Oracle在Oracle中有一个用户的概念,用来登录到数据库,比如openlab用户。用户拥有一定的权限,可以创建表、视图等。用户名下的数据表,视图等对象的集合叫Schema。数据库安装好后。建立的默认用户是:sys.system.scott。创建用户:create user 用户名 identified by 密码(一般是DBA来创建,普通用户没有创建用户的权限)在SQLPLus工具中切换用户:conn 用户名/密码@主机字符串查看当前用户:show user显示所有的用户:select * from all_users显示用户下的表:select * from tab2) mysqlmysql中对应于oracle中用户的概念是database。登陆后要先建立database,才能建表。默认创建的database是mysql , test。创建数据库:create databases 库名切换用户:use database 库名查看当前用户:connect显示所有数据库:show databases显示用户下的表:show tables四、假设有外部脚本文件 C:script.sql,执行外部脚本文件的方式:1)Oracle:@ script.sql2) mysql:source script.sql五、Sql语句中的表达式:1)Oracle: select 12 * 10 from dual 2) mysql: select 12 * 10 六、取系统时间1)Oracle: select sysdate from dual 2) mysql:select now()select sysdate()select curdate()select select current_dateselect curtime()select current_time 七、日期格式转换:1)Oracle:select to_char(sysdate,"yyyy-mm-dd") from dual;select to_char(sysdate,"hh24-mi-ss") from dual; 2) mysql: select date_format(now(),"%Y-%m-%d") select time_format(now(),"%H-%i-%S") 1、直接在数据库 用sql语句就把 日期时间处理好2、Java代码里 把日期处理好(框架)3、页面 用JavaScript代码 处理好4、标签(C S)八、日期函数:6个月以后1)Oracle: select add_months(sysdate,6) from dual 2) mysql: select date_add(now(),interval 6 month) 九、字符函数:从‘helloworld’中截取hello1)Oracle: select substr("helloworld",1,5) from dual; 2) mysql: select substring("helloworld",1,5) 十、修改表名:1)Oracle: rename oldname to newname 也可以用来修改各种对象名称2) mysql: alter table oldname to newname 十一、关于组函数 select deptno,count(*) from emp 这种语法,在mysql中是正常的,而在oracle中是会报错的,select列表中的deptno列必须跟在group by 短语后: select deptno,count(*) from emp group by deptno 十二、分页语句 1)Oracle:select * from (select t.*,rownum rn from (select * from emp) t where rownum < 11) where rn > 5 查到的是第6~10条记录2) mysql: select * from emp limit 5,5 查到的是第6~10条记录十三、计算每个员工的年薪:工资 * 12 + 奖金 * 12 select ename,sal*12 + nvl(comm,0)*12 from emp nvl :单行函数,如果为空,返回0Oracle : nvlMysql : ifnullSqlserver : isnull更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址