本文共 3221 字,大约阅读时间需要 10 分钟。
Oracle使用命令及理解
1. Oracle登录
使用sqlplus用户名/密码@数据库名 (assysdba)
有时候登录不了,则用最高级
Sqlplus / as sysdba
然后用selectusername from dba_users;查看是否存在该用户;
Alter user username identified by 密码;//修改该用户的密码;退出重新登录
或者有时候登录时,显示用户被锁定,则运行:
Alter user username account unlock;
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 fromtablename;
3.||把字段和文本或其他表达式的连接形成新的字符串;
Select ‘姓名:’||name,’的年龄为:’age from student;
3. as取别名
4. distinct去除重复行
select distinct ziduan from tablename;
//作用范围:后面所以字段的组合
5. orderbyziduan,ziduan1;排序desc 降asc升,
6. where //select * from student where age >12;
7. select* from student where age >=20 and age <=39;
1. char//2000byte、varchar2、long、number(m,n)、Date//to_date(‘2004-10-16’,’yyyy-mm-dd’)、timestamp
SyS用户、system、Scott;
创建新用户:
Create user usernameidentified by passwd;
Sqlplus “sys/pw@db as sysdba”//以DBA身份登录
或者
Sqlplus /nolog
Connect sys/pw@db as sysdba;
create user spring identifiedby 123456 default tablespace users quota 40M on users;
//未被授予任何权限
Grant create session tospring;//使用户可以用于登录
//授权时除了用DBA用户还可以使用system
修改密码;
Alter User spring identifiedby 123;
Alter user spring accountlock;//锁定
Alter user spring accountunlock;//解锁
Alter user spring defaulttablespace example;//修改用户表空间
Alter user spring quata 60Mon 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;//查看数据库中有哪些表;
一些操作实践:
查看某用户下的数据库空间中的表情况
从all_tables表中查找;先desc all_tables;
Select table_name from all_tables whereowner=’SYS’;
//注意区分大小写
命令行:impuser/pw@test file=”” full=y
最后写在后面的实践的一些小内容:
1.登录
sqlplus sys/admin as sysdba
2.创建表空间
create tablespace space1 datafile'D:\oracle\test\envir.dbf' size 3072M autoExtend on;
//注意space1是新建的表空间的名字,目录D:下的oracle和test文件夹必须存在。
3.
http://www.cnblogs.com/psforever/p/3929064.html
4.windows中oracle数据库重启
命令行中如下输入关闭数据库
set ORACLE_SID=你的数据库SID名字
sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> exit
命令行中如下输入启动数据库
set ORACLE_SID=你的数据库SID名字
sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
SQL> exit
5.Oracle远程连接要配置
https://wenku.baidu.com/view/029f6665783e0912a2162ab2.html
6.Oracle数据库全库导入,要保证数据库中为空;
7.Oracle查询表命令
select * from tabs;(查看自己创建的表或者视图)
https://zhidao.baidu.com/question/324875231.html
8.执行select语句时显示:未选定行
R:未选定行,是指符合你的查询条件的记录数为0出现这种状况,解决方法:1你需要检查一下你的表中是否存在你要查的记录2如果你确定表中存在你要查的记录,你就需要检查你的查询语句是否正确
CONNECT / AS SYSDBAREVOKE IMP_FULL_DATABASE FROM DBA;
2. oracle数据字典