`
wxb880114
  • 浏览: 678757 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle使用总结

 
阅读更多
1.使用Oracle创建表,与Mysql之间的几点区别

//Mysql
  CREATETABLE tab_b ( 
    id bigint(20) NOTNULL, 
namevarchar(60) DEFAULTNULL, 
    address varchar(120) DEFAULTNULL, 
PRIMARYKEY (id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 


//Orcale
CREATE TABLE tab_b ( 
    id number(20) NOT NULL primary key, 
    name varchar(20) DEFAULT NULL, 
    address varchar(40)  DEFAULT NULL
) 


不同点:

1.命令:createtable --->create  table
  notnull    ---->not null
  defaultnull---->default null

2.基本数据类型:bigint---->number

2.Oracle区分大小写问题
  oracle不是区分大小写的,是建表的时候是没有去掉双引号。
CREATE TABLE TableName(id number); //虽然写的时候是有大写和小写,但是在数据库里面是不区分的。
select * from tablename; //这样是可以的
SELECT * FROM TABLENAME; //这样写也不会有问题
SELECT * FROM TableName; //都没问题
CREATE TABLE "TableName"("id" number);  // 如果创建表的时候是这样写的,那么就必须严格区分大小写
SELECT * FROM "TableName"; //不仅要区分大小写而且要加双引号,以便和上面的第三种查询方式区分开。

所以问题不在于oracle,而是你的同事创建表的时候没有去掉双引号。

3.插入一行数据
 
   insert into tab_b values ( 
                1, "name1","address1"
                ) 
  //   修改后:
  insert into tab_b values ( 
                1,'name1','address1'
                ) 

 

   区别就是:"------>'

4.删除表中所有数据
 
   delete from tab_a;
  



5
   2012-05-21 20:27 ORA-28001: the password has expired解决方法   Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未修改过,就会出现这样的问题。

解决方法可通过如下SQL语句

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'

查询密码的有效期设置,LIMIT字段是密码有效天数。

在密码将要过期或已经过期时可通过如下语句进行修改密码,密码修改后该用户可正常连接数据库。

ALTER USER 用户名 IDENTIFIED BY 密码 ; 

 

如果想去除180天的密码生存周期的限制可通过如下SQL语句将其关闭

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED 

如上SQL语句将口令有效期默认值180天修改成了“无限制”。但是出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议大家定期修改数据库用户口令。
然后重新设置账号即可。
SQL命令是:
SQL> alter user system  identified by Welcome1;
SQL> alter user UCM_OCS identified by Welcome1;




ORA-01017 invalid username/password;logon denied (密码丢失解决方案)



Oracle一段时间不用了,再登录就登不上去,真乃怪哉,不止俺一人出现此问题,先不问为什么出现这个现象,解决这个问题应急先,网上搜罗解决办法,成功解决问题的办法来自:http://wuyizhaizhu.blog.163.com/blog/static/1151518692010091008280/
 
====================================================================
 
ORA-01017 invalid username/password;logon denied" (密码丢失解决方案)
 
1、先确认是否输错 用户名和密码
 
2、如果的确是丢失密码的话:
 
查看ORACLE_BASE\ORACLE_HOME\NETWORK\ADMIN的sqlnet.ora文件
 
sqlnet.ora 如果是 SQLNET.AUTHENTICATION_SERVICES= (NONE) ,
 
需更改为SQLNET.AUTHENTICATION_SERVICES= (NTS)
 
在SQL*Plus中执行如下命令:   
SQL>conn/as sysdba (操作系统认证登录)   
SQL>alter user system identified by system; (回车后用户system的密码会更改为system)  
 
=============================================================================
 
注意:在执行更改语句“SQL>alter user system identified by system; (回车后用户system的密码会更改为system) ”的时候,如果所改的秘密为一串数字的话,要用引号括起来哦~
 
eg:SQL>alter user system identified by   “12345678”;



   
sql之left join、right join、inner join的区别


left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
 
举例如下: 
--------------------------------------------
表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115
 
表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408
 
--------------------------------------------
1.left join
sql语句如下: 
select * from A
left join B 
on A.aID = B.bID
 
结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL
 
(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
--------------------------------------------
2.right join
sql语句如下: 
select * from A
right join B 
on A.aID = B.bID
 
结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL     8     2006032408
 
(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
--------------------------------------------
3.inner join
sql语句如下: 
select * from A
innerjoin B 
on A.aID = B.bID
 
结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
 
结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
--------------------------------------------
注: 
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。 

语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2 

说明:table1, table2参数用于指定要将记录组合的表的名称。
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误. 

0
5
分享到:
评论

相关推荐

    oracle游标的总结oracle游标的总结

    Oracle 游标概述 Oracle 游标是 Oracle 数据库中的一种重要概念,用于查询数据库,获取记录集合(结果集)的指针。游标可以看作是一个临时表,你可以对其每一行的数据进行任意的操作。本文将对 Oracle 游标的概念、...

    oracle个人总结笔记

    本人自己总结的尚学堂oracle笔记,希望能派上用场,本资源不收资源分,大家可以随意下载

    oracle学习总结.docx

    Oracle 学习总结 Oracle 是一种关系数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1977 年创立。它是一种对象关系数据库管理系统,支持多种编程语言,包括 Java、Python、C++ 等。 一、创建 Oracle 数据库...

    oracle 学习心得与总结

    以下是我对Oracle学习的一些心得和总结,主要聚焦于数据库对象,尤其是表及其约束。 1. **数据库对象**: 数据库对象是Oracle中的基本组成部分,包括表、视图、索引、存储过程、函数、触发器等。这些对象共同构成...

    Oracle分析函数使用总结

    Oracle分析函数使用总结Oracle分析函数使用总结Oracle分析函数使用总结Oracle分析函数使用总结

    oracle学习总结(适合刚学习oracle的人)

    本文将根据"oracle学习总结(适合刚学习oracle的人)"这一主题,深入探讨Oracle数据库的基础知识,帮助初学者建立起对Oracle的基本理解。 1. **Oracle简介**:Oracle数据库是由美国甲骨文公司开发的一款产品,它...

    oracle的总结 很详细的 基础也有

    Oracle数据库系统是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。本文将基于标题和描述中的内容,对Oracle的基础知识、安装步骤以及SQL查询语句进行详尽的阐述。 首先,新安装的Oracle...

    oracle数据库总结.sql

    oracle数据库总结

    oracle-job使用总结

    oracle job 的使用总结,通过dbms 创建job,从而执行存储过程

    mysql与oracle差异总结

    mysql与oracle差异总结 MySql与Oracle是两个最流行的关系数据库管理系统,它们之间存在一些差异,了解这些差异对于开发者和数据库管理员都是非常重要的。下面是 MySql 与 Oracle 差异总结: 1. 创建函数语法 在 ...

    oracle总结oracle总结面试必备

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着核心地位。以下是对Oracle数据库一些关键知识点的详细阐述,这些内容对于面试和日常开发工作都非常关键。 一、SQL基础 Oracle SQL是...

    oracle 接口总结

    oracle 接口总结oracle 接口总结oracle 接口总结oracle 接口总结

    oracle精品实例,练习总结

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,由美国甲骨文公司开发。这个"oracle精品实例,练习总结"的压缩包文件显然包含了nickcheng个人整理的一系列关于Oracle数据库的操作实例和学习心得,旨在帮助...

    oracle 笔记总结

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它在企业级数据存储、管理和处理方面扮演着重要角色。这篇笔记总结将深入探讨Oracle的核心概念、关键功能以及常见操作,旨在帮助读者理解和掌握Oracle数据库...

    oracle知识总结

    oracle系统学习总结包涵oracle的语法if else case when,触发器 游标函数等常用知识总结,希望对你有帮助!

    oracle学习心得总结

    ### Oracle学习心得总结 在IT领域中,Oracle数据库因其强大的功能和广泛的适用性而备受青睐。对于初学者而言,掌握Oracle的基本操作是非常重要的一步。本文将根据提供的文档内容,总结和扩展Oracle数据库的基础知识...

    oracle个人总结

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,主要用于存储和管理企业级的数据。以下是对Oracle的一些关键知识点的详细说明: 1. **登陆与用户管理**: - 使用`sqlplus`命令行工具,通过`conn 用户名/...

Global site tag (gtag.js) - Google Analytics