首页 > 数据库技术 > 详细

数据库复习

时间:2015-10-12 20:54:37      阅读:270      评论:0      收藏:0      [点我收藏+]

DDL:数据定义 Create Table,Alter Table,Drop Table, Craete/Drop Index等
DML:数据操作 Select ,insert,update,delete,
DCL:数据控制 grant,revoke

完整性约束:实体完整性、参照完整性、用户定义完整性

事务:原子性,一致性,隔离性,持久性

查看表结构:

数据库解锁:
1.sqlplus /nolog
2.conn / as sysdba --以sys身份进入
3.show user
4.alter user scott account unlock;
5.alter user scott identified by tiger;--修改密码
6.conn scott/tiger
7.show user
8.select * from tab;--查询数据库表
9.desc emp --查看表结构
10.select * from emp;

dual表是一个一行一列的表
查系统时间
select sysdate
from dual;
nvl(comm,0)--comm为null时把comm赋予0
 

有组函数,且还有其他字段就应该有group by
select deptno,max(sal)
from emp
group by deptno
group by 出现的字段可以不在select里出现

 

select max(sal)
from emp ;--求最大工资 对的,若select出现其他字段,后一定有group by

左连接,右连接
看连接字段那边多就以那边为主。
where e.deptno(+)=d.deptno  右连接

添加
1.insert into <表名>(列名)values(列值)
INSERT INTO copy_emp (empno,ename,hiredate,sal,deptno)
VALUES (5456,‘hahah‘,TO_DATE(‘2000-01-01‘,‘yyyy-mm-dd‘),NULL,10);

2、insert into <已有的新表> <列名> select <原表列名> from <原表名>

删除
delete from <表名> [where <删除条件>]    
例:delete from emp where ename=‘王伟华‘
注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

更新
update <表名> set <列名=更新值> [where <更新条件>]
例:update addressList
    set 年龄=18
    where 姓名=‘王伟华‘

查询

简单查询
select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列 >
 
可以查询前6行的数据
select   *   from   emp where   rownum<6  

查询不在该范围内的数据:
SELECT empno ,ename
FROM emp
WHERE empno NOT IN(3214,7369,7499) ;

查询在范围内的数据:
SELECT empno ,ename
FROM emp
WHERE empno IN(3214,7369,7499) ;

 

数据库复习

原文:http://www.cnblogs.com/bill-yxh/p/4872654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!