之前学数据库只用到mysql、现在实习用的是oracle,发现oracle和mysql还是有些许不同的(实践的过程中学习记忆真的深刻),今天总结一下我遇到的不同,欢迎告知更多,以及以后我遇到后不断更新!!!
我之前用mysql的时候用的是Navicat可视化工具;就直接创建连接,然后创建数据库、再创建表。
现在oracle可视化工具用的是plsql;刚开始创建表空间、用户这些就把我给搞懵了,经过几次实操和结合一点理论基础,差不多算明白怎么回事了吧!(也可能还没真正搞清楚!!)
oracle数据库是由一个数据库和n个数据库实例构成的。
Oracle数据库和表空间建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间(多个数据库可以用一个表空间,但需要为每个数据库建立用户)
这篇文章里写的很详细:https://www.cnblogs.com/adforce/p/3312252.html
记得之前在Navicat中主键自增是就点击一个按钮即可。
然而在oracle数据库中主键自增是通过序列和触发器来实现的。
懒人又附上一篇别人的帖子:https://blog.csdn.net/weixin_42285088/article/details/82222311
①mysql分页用的limit关键字;oracle用的rownum
②oracle中 ||代表拼接字符串;..代表范围;&代表输入
③dbms_output是oracle中的一个输出对象;put_line是上述对象的一个方法,用于输出一个字符串自动换行eg:dbms_output.put_line('hello 你好')
④dual是oracle的系统表
1、查看当前用户,可以在 SQL Plus中执行下面语句
select user from dual;
2、用来调用系统函数
select to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') from dual;--获得当前系统时间
select sys_context('userenv','terminal') from dual;--获得主机名
select sys_context('userenv','language') from dual;--获得当前locale
select DBMS_RANDOM.random from dual;--获得一个随机数
3、可以用做计算器
select 7*9*10-10 from dual;
4、查看系统时间
select sysdate from dual;
⑤select 所列的非聚合函数字段,group by中一定要有
⑥字符串替换:replace(要替换的字符串,将字符串的什么,替换成什么)
eg:replace("2020/01/09",'/','-')
⑦字符串截取:substr(要截取的字符串,从哪里开始截取,截取多长)
eg:substr(SWSJ,0,10)
⑧截取字符串中数字部分:(可用于通过数字排序,截取出字符串数字部分后再转为数字)
regexp_replace(string,'[^0-9]')
⑨with……as
with t2 as (select * from t1) :相当于建立了一个临时表、但这个临时表不是真实存在的,创建完之后可以直接从这个临时表中查数据
优点:能够提高查询效率
用法:with a as(select * from u_sjzd)
select * from a
https://www.cnblogs.com/ssbydk/p/9142513.html
未完结!!!