数据的 增 删 查 改

SQL的类型:

   1.DML :数据操作语言 insert/update/delete/select

   2.DDL :数据定义语言 create/alter/drop/truncate

   3.DCL :数据控制语言 grant(授权)  revoke(权利移除)

-------insert  向表里插入一行数据

     insert into emp(empno,job,sal) values(2016,'SAL',8000);

**emp 表后面括号是插入的列名 不用加引号   values 后是插入的具体值 数字不用引号  字符型要加引号   也可不表后面定义插入列 ,必须按照顺序全部插入所有字段的值

   -----------快速插入数据

        insert into testemp  select * from emp;

**插入表emp 中数据到testemp 中

-----select * from v$nls_parameters;   查询程序的属性

--------更改属性

  ----alter sessiong set NLS_DATE_FORMAT = 'yyyy-mm-dd';

**改变系统时间显示 方式为'1991-03-24'

-----------用模板快速创建表

 create table testemp as select * from emp where 1 = 2;

**以表emp的格式创建表testemp   where 1=2 让表里内容为空,不加这个条件则新表和旧表内容一样。

-----创建没有模板的表

  create table testemp(

id number(5) ,   ----括号内给定字符长度

name varchar2(20),

weight number(5,2)); ----------字符长度,精确小数

 

--------------删除数据

   delete from emp where empno = 2016 or empno = 2015;

**删除两行指定记录   删除错误 用roll back 回滚  

--------------- savepoint a 创建 a 回滚点

-----------truncate和 delete 区别

delete 和truncate 删除数据有什么差别?
      1. delete 是逐行删除,truncate是先删除表,在重新创建一个新表
      2. delete 能够闪回(flashback),而truncate不能闪回
      3. delete 不会释放内存空间,而truncate会
      4. delete 会产生碎片,而truncate不会
      5. delete 是DML语句,truncate是一个DDL语句

   -----------更新名字为KING的工资为1000

 update emp set sal = 1000 where ename = 'KING';

-------------- 更新KING 的工资和名字

update emp set sal=10000,ename='ZS' where ename='KING';

--------drop操作

drop table testemp;

posted @ 2016-03-24 19:13  金潼人  阅读(117)  评论(0编辑  收藏  举报