Oracle数据库基础知识点大全(一)

Oracle数据库基础知识点大全

  • 一.数据库基本概念
    • E-R模型
    • 数据库对象
  • 二:标准SQL包含了4种基本的语句类别
  • 三:DML语句(数据操作语句)
    • 数字和日期使用的数学表达式
    • 常用 where 查询条件
    • 字符函数
    • 数字函数
    • 日期函数
    • 转化函数
    • 通用函数
    • 表达式判定
  • 四:RDBMS:关系型数据库管理系统
    • 关系表设计原则
    • 多表查询
    • 组函数
    • group by 条件 分组条件
    • 不能在where子句中使用组函数,可以在having子句中使用
    • 子查询
    • Oracle分页语句
        • **oracle 分页 必须使用子查询 rownum 起别名**
    • 事务和锁
  • 五:DDL(数据定义语言)
    • 表管理
    • 常用约束类型Oracle
  • 六:视图
    • 为什么使用视图
  • 七:序列
  • 八:索引
  • 九:用户和权限
  • 十:集合运算(了解)

  • sqlplus – 自带工具
  • regedit – 注册表

管理 服务

  • net start OracleOraDb11g_home1TNSListener --监听服务
  • net start OracleServiceORCL —基础服务

登录管理员

  • 锁定用户 alter user 用户名 account lock;
  • 解锁 alter user 用户名 account unlock;
  • 修改用户密码 alter user 用户名 identified by 密码;(没有密码找回)

一.数据库基本概念

  • 数据库(Datebase,DB)
  • 数据库管理系统(DATabase Management System, DBMS)
  • 数据库管理员(Database Administrator,DBA)
  • 数据库系统(Database System,DBS)
  • 关系型数据库(Relationship Database,RDB)
  • 关系型数据库管理系统(RDBMS)

E-R模型

E-R模型三要素:实体,关系,属性
E-R图三要素:

  • 实体:用矩形框表示
  • 属性:用椭圆形表示,并用连线与实体联系在一起。
  • 实体间联系:用菱形框表示,并用连线分别与相关实体相连,且需要在连线上注明联系类型。

实体间联系类型

  • 一对一
  • 一对多
  • 多对多

数据库对象

  • 视图
  • 约束条件
  • 索引
  • 序列
  • 存储过程
  • 函数
  • 触发器

二:标准SQL包含了4种基本的语句类别

  • DDL语句,数据定义语句,主要用来定义数据库,表名,字段,例如create,drop,alter.
  • DML语句,数据操作语句,用来对数据记录的增删改查,还用来保证数据的一致性。主要有select,delete,insert,update语句。
  • DCL语句,数据控制语句,用于控制不同数据对象访问级别的语句。定义了数据库、表、表、用户的访问权限和完全级别。常用的语句包括grant、revoke等
  • TCL语句,事务控制语句,用来确保事务的特性。commit,rollback,savepoint

三:DML语句(数据操作语句)

1.查询emp表中的所有数据
	select *from emp
  查询emp表中的指定数据
	select empno,ename from emp

2.添加emp表中的所有数据
	insert into emp values(1111,'tom','抓老鼠',2222,to_date('1996/12/25', 'yyyy-mm-dd'),15000,0,40)
  添加emp表中的指定数据
	insert into emp (empno,ename) values(1112,'tomo');
---注意:主键不能为空;主键有唯一约束,不能重复;

3.修改emp表中的数据
	update emp set empno=2222,ename='王首惟' where empno=1111   ---一般选择的条件是主键

4.删除emp表中的数据
	delete from emp where empno=1111
	
  清空表数据;事务不是自动提交的
	delete from emp 

  清空表数据:事务是自动提交的
	truncate table employee; 

5.复制表数据 
	表的结构 得一致
	create table  employee 
	(
	empno number(4) not null  primary key,
	ename varchar2(10)  ,
	job  varchar2(10),
	mgr number(4),
	hiredate date,
	sal number(7,2),
	comm number(7,2),
	deptno number(2)
	);
复制表数据 
	insert into employee (empno,ename) (select empno,ename from emp where deptno!=40)
	insert into employee  (select * from emp )

6.合并  表数据 merge 
	merge into employee e1 
	 using emp  e2
	 on  (e1.empno=e2.empno) 
	when matched then ---条件是真
	  update set e1.job=e2.job ,
	             e1.hiredate=e2.hiredate
	when not   matched then -----条件是假
	   insert  values(e2.empno,e2.ename,e2.job,e2.mgr,e2.hiredate,e2.sal,e2.comm,e2.deptno)  

7.开启事务的地方
	update emp  set  sal =sal -1000  where empno=1024;
	savepoint emp1; 
	update emp set sal=sal+1000 where empno=8888;
	rollback to emp1;
	commit  ;

8.只读事务 必须放在  事务开启的第一行
	set transaction read only ;  
	update emp  set  sal =sal -1000  where empno=1024;

数字和日期使用的数学表达式

操作符 描述
*
/
+
-

数学运算一样(先乘除再加减,先计算括号里边的 )

1.查询当前用户下的所有 表 对象
	select *from  user_tables
	
2.虚拟表 dual
	select    1+3    from dual;
	select 1/3 from dual;
	select 1/(3+1)    from dual;
	select 1/3,EMP.* from emp;
	
3.空值问题:空值是无效的,未指定的,未知的或不可预知的值。空值不是空格或者0。空值参与的表达式 ,结果一定为空 (需要后期的函数 解决)
  每个员工的总工资
	select sal+COMM   from  emp;
	select  COMM   from  emp;

4.列的别名:重命名一个列,便于计算,as可加可不加。
	select sal+COMM   aaa    from emp;
	select sal+COMM   as  总工资    from emp;

5. " " 不是字符串,列的别名使用 " " 可以包含特殊符号 区分 内容的大小写  
	select sal+COMM     "总工资 aaa"    from emp;

6. ' '  表示字符串  
	select   '

你可能感兴趣的:(Oracle,oracle,数据库)