oracle使用笔记总结

Oracle使用命令及理解

1.     Oracle登录

使用sqlplus 用户名/密码@数据库名 (as sysdba)

有时候登录不了,则用最高级

Sqlplus /  as sysdba

然后用select username from dba_users;查看是否存在该用户;

Alter user username identified by 密码;//修改该用户的密码;退出重新登录

或者有时候登录时,显示用户被锁定,则运行:

Alter user username account unlock;

http://blog.csdn.net/zhangyingjie09/article/details/40481229/

http://www.cnblogs.com/xwdreamer/archive/2011/07/05/2296991.html

2.     数据库操作语言SQL

DDL、DML、DCL、

注:SQL中关键字、表名和字段名大小写不敏感,但是密码敏感。

2.1DDL:

1.     创建表:

Create tablestudent(name varchar2(20),age number(3));

2.     删除表

Drop table tablename;

3.     插入数据

Insert into student values(‘Tom’,13);

4.     删除表中数据

Delete tablename;或者delete from tablename;

5.     查看表结构:

Desc tablename;或者describe tablename;

2.2DML查询

1.Select * from tablename;

Select ziduan from tablename;

2.可以使用表达式:

Select ziduan,ziduan*12 from tablename;

3.||把字段和文本或其他表达式的连接形成新的字符串;

Select ‘姓名:’||name,’的年龄为:’age from student;

1.     as 取别名

2.     distinct去除重复行

select distinct ziduan from tablename;

//作用范围:后面所以字段的组合

3.     orderbyziduan,ziduan1;排序 desc 降asc升,

4.     where  //select * from student where age >12;

5.     select* from student where age >=20 and age <=39;

3.    Oracle数据类型

1)     char//2000byte、varchar2、long、number(m,n)、Date//to_date(‘2004-10-16’,’yyyy-mm-dd’)、timestamp

4.    oracle用户

SyS用户、system、Scott;

创建新用户:

Create user username identified by passwd;

Sqlplus “sys/pw@db as sysdba”//以DBA身份登录

或者

Sqlplus /nolog

Connect sys/pw@db as sysdba;

create user spring identified by 123456 defaulttablespace users quota 40M on users;

//未被授予任何权限

Grant create session to spring;//使用户可以用于登录

//授权时除了用DBA用户还可以使用system

修改密码;

Alter User spring identified by 123;

Alter user spring account lock;//锁定

Alter user spring account unlock;//解锁

Alter user spring default tablespace example;//修改用户表空间

Alter user spring quata 60M on users;

Alter user

Drop user username [cascade];

//当用户名下有数据库对象时,必须用cascade参数做级联删除;

存储用户信息的数据库字典视图为:

All_user:当前数据库所有用户的用户名、用户ID及创建时间信息;

Dba_users:包含当前数据库所有用户的详细信息,用户名、用户ID、密码验证方式、账户状态、锁定时间、密码过期时间、默认及临时表空间;

User_users:包含当前用户的详细信息;

Oracle中类似mysql中limit 2的查询实现:

权限管理包括:特定数据库的连接、创建表或视图等数据库对象,查询数据、插入/更新/删除数据等操作

用户在进行数据操作时先验证该用户是否有执行该操作的权限。分系统权限(system_privilege用户权限()

Tabs表中存储了数据库中的表信息;

Desc tabs查看tabs的字段情况;

Select table_name from tabs;//查看数据库中有哪些表;

一些操作实践:

5.    查看数据空间表情况

查看某用户下的数据库空间中的表情况

从all_tables表中查找;先desc all_tables;

Select table_name from all_tables where owner=’SYS’;

//注意区分大小写

6.    Oracle导入.dmp

命令行:imp user/pw@test file=”” full=y

最后写在后面的实践的一些小内容:

1)       登录

sqlplussys/admin as sysdba

2)       创建表空间

create tablespace space1 datafile'D:\oracle\test\envir.dbf' size 3072M autoExtend on;

//注意space1是新建的表空间的名字,目录D:下的oracle和test文件夹必须存在。

http://www.cnblogs.com/psforever/p/3929064.html

3)       windows中oracle数据库重启

命令行中如下输入关闭数据库

set ORACLE_SID=你的数据库SID名字

sqlplus/nolog

SQL>connect / as sysdba

SQL>shutdown immediate

SQL>exit

命令行中如下输入启动数据库

setORACLE_SID=你的数据库SID名字

sqlplus/nolog

SQL>connect / as sysdba

SQL>startup

SQL>exit

4)       Oracle远程连接要配置

https://wenku.baidu.com/view/029f6665783e0912a2162ab2.html

5)       Oracle数据库全库导入,要保证数据库中为空;

6)       Oracle查询表命令

select *from tabs;(查看自己创建的表或者视图)

https://zhidao.baidu.com/question/324875231.html

7)       执行select语句时显示:未选定行

Reason:未选定行,是指符合你的查询条件的记录数为0出现这种状况

Resolution:

1你需要检查一下你的表中是否存在你要查的记录;

2如果你确定表中存在你要查的记录,你就需要检查你的查询语句是否正确

7.    Q&A

(1)  ORACLE 如何让拥有DBA权限的用户没有数据导入权限(如何用SYS用户撤销SYSTEM用户的数据导入权限)

CONNECT / AS SYSDBA
REVOKE IMP_FULL_DATABASE FROM DBA;

(2)  oracle数据字典

https://zhidao.baidu.com/question/488107242.html

http://blog.csdn.net/yangaming/article/details/7971337

8.    使用Oracle时要注意的

1)       用超级用户登录Oracle时(sqlplus / as sysdba),可以在dba_tables表中查看当前数据库实例下的所有用户即所有表空间中的表信息;

2)       Connname/pw 登录Oracle数据库实例时,可以在all_tables表中查看当前用户的表和有权限的其他用户的表;而user_tables表中存储的是当前用户(创建)的表;

3)       Oracle数据恢复是中文乱码,ultraedit打开时默认的字符编码选用了中文简体gbk,在ultraedit下面选择utf-8格式,中文完美显示,然后全选复制到oracle的sqlplus命令行下,粘贴-等待-回复成功;

4)       Oracle数据库中不可恢复的删除数据表中的数据

truncate table tablename;

//特点:快速,不可恢复

5)       oracle命令行下导入sql文件的数据:

在sqlplus命令行下输入@/目录/test.sql

6)       Oracle中as的用法

在Oracle中as关键字不能用于指定表的别名,在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可,但可以用于指定列的别名,但在存储过程中如果列的别名与原有列名相同,在运行时会报错(编译时不会出错),其他情况下列的别名可以与列名本身相同。

7)       Oracle中获取date字段的日期部分

To_char(column_name,’yyyy’)

https://zhidao.baidu.com/question/215323289.html

9.    Oracle时间类型的转换

使用方法to_char(‘time’,’YYYY-MM-DD HH24:MI:SS’)

//转换为char类型,其中time是一个时间类型的字段(maybe其它也可以)

To_date(‘char’,’YYYY-MM-DD HH24:MI:SS’)

//转换为date类型的数据,其中‘char’是非时间类型的数据;

使用Oracle遇到的一些问题

[Err] ORA-00905: missing keyword

检查sql语句是否正确,该有的select from  table join on 等关键字是否齐全;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值