Oracle数据库自我总结
1.Oracle连接远程服务器,需要安装客户端的同时需要覆盖D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora文件。
如果连接不上,可以重启OracleServiceORCL服务。如下图:
oracle数据库的服务需要开启。
1。create or replace view 视图名称。简单视图可以实现DML操作
2. oracle 中没有自增长列,MySQL中有。
3.nvl 相当于mssql里面的isnull。
4.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day()
5. decode(isautocreate,1,'是','否');decode(name,'zhangsan','张三','lisi','李四'[,'No Name'])有点类似case when语句。
6.|| 类型mssql里面的 + 连接符。rownum 相当于top
7 sysdate 相当于mssql里面的getdate();
8.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
9.Mssql中可以select id,* from tb 而在orcale数据库中select t.*, t.id from tb t;
10.在pl/sql里面insert,delete,update数据时,一定要记住结尾加上commit。
11。create or replace view 视图名称。简单视图可以实现DML操作
12. oracle 中没有自增长列,MySQL中有。
13.nvl 相当于mssql里面的isnull。
14.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day()
15. decode(isautocreate,1,'是','否');decode(name,'zhangsan','张三','lisi','李四'[,'No Name'])有点类似case when语句。
16.|| 类型mssql里面的 + 连接符。rownum 相当于top
17 sysdate 相当于mssql里面的getdate();
18.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
19.oraccle数据量insert和delete和update语句的时候,一定要commit;
20.关于group by的问题:(1):不在聚合函数里面的字段,一定要在group by 字句中。select id ,name form a group by id,name(正) select id,name from a group by id(错)
(2):在group by里面的字段,不一定要全部出现在字段列表里面,但必须有一个聚合函数。select id,count(*) from a group by id,name(正)
21.Oracle中如何实现某一字段自动增加1?
实现方法:
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
22.用户控件找到所在的父窗体。
//Form frm = this.FindForm();
frmF1ReportConfig config = (frmF1ReportConfig)this.FindForm();
23.oracle 数据库中【子查询】表的别名不可以用as,子查询后面的表别名可有可无;sql数据库中的【子查询】必须要出现别名。
oracle数据库中列的别名双引号可有可无。
select * from(select sysdate from dual) as "A"(错)
select * from(select sysdate from dual) as A(错)
select * from(select sysdate from dual)(正)
select * from(select sysdate from dual) A (正)
select sysdate as "时间" from dual(正)
select sysdate 时间 from dual(正)
select sysdate as 时间 from dual(正)
24.在pl/sql里面,如果想手动修改一条select查询出来的记录。需要查询rowid列。 seelct t.rowid,t.* from table t;
25. 无法初始化 Oracle 调用界面+ ORACLE 不能正常工作.
解决:对PL/SQL图标右键,属性---兼容性--在以管理员身份进入的地方打勾,再次运行PL/SQL
26. having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
http://lymygee.blog.163.com/blog/static/292760692010714113923813/
2. oracle 中没有自增长列,MySQL中有。
3.nvl 相当于mssql里面的isnull。
4.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day()
5. decode(isautocreate,1,'是','否');decode(name,'zhangsan','张三','lisi','李四'[,'No Name'])有点类似case when语句。
6.|| 类型mssql里面的 + 连接符。rownum 相当于top
7 sysdate 相当于mssql里面的getdate();
8.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
9.Mssql中可以select id,* from tb 而在orcale数据库中select t.*, t.id from tb t;
10.在pl/sql里面insert,delete,update数据时,一定要记住结尾加上commit。
11。create or replace view 视图名称。简单视图可以实现DML操作
12. oracle 中没有自增长列,MySQL中有。
13.nvl 相当于mssql里面的isnull。
14.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day()
15. decode(isautocreate,1,'是','否');decode(name,'zhangsan','张三','lisi','李四'[,'No Name'])有点类似case when语句。
16.|| 类型mssql里面的 + 连接符。rownum 相当于top
17 sysdate 相当于mssql里面的getdate();
18.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
19.oraccle数据量insert和delete和update语句的时候,一定要commit;
20.关于group by的问题:(1):不在聚合函数里面的字段,一定要在group by 字句中。select id ,name form a group by id,name(正) select id,name from a group by id(错)
(2):在group by里面的字段,不一定要全部出现在字段列表里面,但必须有一个聚合函数。select id,count(*) from a group by id,name(正)
21.Oracle中如何实现某一字段自动增加1?
实现方法:
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
22.用户控件找到所在的父窗体。
//Form frm = this.FindForm();
frmF1ReportConfig config = (frmF1ReportConfig)this.FindForm();
23.oracle 数据库中【子查询】表的别名不可以用as,子查询后面的表别名可有可无;sql数据库中的【子查询】必须要出现别名。
oracle数据库中列的别名双引号可有可无。
select * from(select sysdate from dual) as "A"(错)
select * from(select sysdate from dual) as A(错)
select * from(select sysdate from dual)(正)
select * from(select sysdate from dual) A (正)
select sysdate as "时间" from dual(正)
select sysdate 时间 from dual(正)
select sysdate as 时间 from dual(正)
24.在pl/sql里面,如果想手动修改一条select查询出来的记录。需要查询rowid列。 seelct t.rowid,t.* from table t;
25. 无法初始化 Oracle 调用界面+ ORACLE 不能正常工作.
解决:对PL/SQL图标右键,属性---兼容性--在以管理员身份进入的地方打勾,再次运行PL/SQL
26. having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
http://lymygee.blog.163.com/blog/static/292760692010714113923813/
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET