数据库 oracle数据库基本知识

sqlplus登录
普通用户登录
c:\>sqlplus
请输入用户名:scott
请输入口令:

sqlplus scott/11
quit退出

管理员登录
sqlplus /nolog
连接数据库
SQL>connect /as sysdba
--查询当前用户下的所有的表
--select * from tab;
--tab是数据字典(是oracle的管理员分配给oracle普通用户的一些资源 tab是oracle系统提前定义的关键字)

scott用户下
DEPT部门表

   DEPTNO DNAME          LOC
--------- -------------- -----------
       10 ACCOUNTING     NEW YORK
       20 RESEARCH       DALLAS
       30 SALES          CHICAGO
       40 OPERATIONS     BOSTON

--查询dept部门表结构的定义
    SQL> desc dept;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- -------------------

 DEPTNO                                    NOT NULL NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)
SQL> set linesize 120 --设置行宽
SQL> set pagesize 120 --设置页
--设置每一列的宽度
SQL> col empno(列名) for 999999 --对于数字用一个9代表占1个单位
SQL> col empname(列名) for a20 --对于字符用a20表示占20个单位
--清屏
SQL> host cls

select语言后面可以跟*、多个列名、表达式、别名
--查询员工姓名、工资
SQL> select ename,sal from emp;
--别名、表达式
SQL> select ename as "姓名",sal 工资,sal*12 年薪 from emp;
姓名             工资       年薪
---------- ---------- ----------
SMITH             800       9600
ALLEN            1600      19200
--注意点:假如工资之间有空格或者其他特殊字符,必须加""
--sql语句大小写不敏感
--表达式遵循算术表达式规则
--如果SQL语句写错了,可以使用ed命令进行修改(在ed命令打开的文本框里不要加;--分号),保存后,键入"/"执行命令
oracle中的空值
--空值是无效的,未指定的,未知的或不可预知的值
--空值不是空格或者0
--包含空值的数学表达式的值都为空值(即空值与任何有效值进行计算,结果都是空值)
--滤空函数修正空值 --nvl(列名,自己想要的值)
SQL> select sal "月薪",sal*12+nvl(comm,0) 年薪 from emp;
      月薪       年薪
---------- ----------
       800       9600
      1600      19500

--查询奖金为空的员工
SQL> select * from emp
  2  where comm is null;(where comm = null这是错误写法)

--查询奖金不为空的员工
select * from emp
where comm is not null(where comm != null这是错误写法)
--连接符 "||"
SQL> select 'hello1'|| 'hello2' from emp;
--注意点:在sql语句中出现了日期和字符串要使用单引号括起来,别名是双引号

--dual虚表,由oracle管理员分配,查询和表没有任何关系的数据时,要用虚表(伪表),一个数据字典
SQL> select 'hello1'|| 'hello2' from dual;

'HELLO1'||'H
------------
hello1hello2


--distinct 删除重复行
SQL> select distinct deptno from emp;
sql优化①:select中使用列名查询比使用*查询效率更高
select子句中的别名不可以用在where子句中,但是from子句中别名可以在where中使用

 

学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础和SQL语言, 不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用 边学习、记忆。2 、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入 理解它们,但要分清几个关键的概念: instance (实例)、数据文件、日志文件、参数文件、数据文件与表空间的关系 3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作 ,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程 中你将对SQL和ORACLE体系结构有个更深入的了解。 4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具 体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习 PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA, 请继续。 5、可以根据自己的实际情况,进行有选择的学习,也就是说下面的内 没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能 调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样 可以在实际中成长,学会TROUBLE SHOOTING 目录 1.1 数据库基本知识 1.2 关系数据库 1.3 数据库设计基础 1.4 SQL基本命令 1.5 Oracle简介 1.6 启动和关闭Oracle 1.7 Oracle 命令复习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值