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;