oracle管理和创建表
sql语句 insert into emp(empno,ename,job,sal) values(7802,'LiSi','CLERK',8000)
–地址符&:类似于java代码中的prepareStatement insert into emp(empno,sal,deptno)values(&empno,'&ename',&sal,&deptno) 输入 empno 的值: 1002 输入 ename 的值: Tom 输入 sal 的值: 1500 输入 deptno 的值: 20 原值 1: insert into emp(empno,&deptno) 新值 1: insert into emp(empno,deptno)values(1002,'Tom',1500,20) 已创建 1 行。
–在DML语句中可以使用地址符 select * from &a;
输入 a 的值: emp
原值 1: select * from &a 新值 1: select * from emp
–一次插入(拷贝)一批数据。 create table emp20 as select * from emp where 1=2;
–一次性将emp中所有20号部门的员工一次性插入到emp20中。 insert into emp20 select * from emp where deptno=20;
–更新语句 update emp20 set deptno = 30 where ename = 'Tom';
–如果delete中没有where条件,就删除整个表中的数据,等同于truncate table truncate table emp20;
表被截断。
delete和truncate table的区别 oracle中的事务 create table testsavepoint (tid number,tname varchar2(20)) insert into testsavepoint(tid,tname) values(&tid,&tname) 输入 tid 的值: 102 输入 tname 的值: 'Tom' 已创建 1 行。 savepoint a;
保存点已创建。
insert into testsavepoint(tid,tname) values(103,'Maty') savepoint b;
保存点已创建。
rollback to savepoint a;
回退已完成。
oracle的隔离级别 create table test1 (tid number,tname varchar2(20),hiredate date default sysdate)
–快速建表 create table empcorn as select empno,sal*12 money from emp e,dept d where e.deptno = d.deptno
–rowid 行地址 select rowid,empno,ename from emp;
ROWID EMPNO ENAME
------------------ ---------- --------------------
AAADheAAEAAAADoAAA 7369 SMITH
AAADheAAEAAAADoAAB 7499 ALLEN
AAADheAAEAAAADoAAC 7521 WARD
–修改表:追加新列,修改列,删除列,重命名列 alter table test1 modify tname varchar2(40);
表已更改。
–3、删除列 alter table test1 drop column photo;
表已更改。
–4、重命名列 alter table test1 rename column tname to username;
表已更改。
–查看回收站 show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TESTSAVEPOINT BIN$aI6puMaDQfikeiQIHli4Fw==$0 TABLE 2016-09-01:09:55:26
–彻底删除表 drop table test1 purge;
约束条件 create table myperson( pid varchar2(18) constraint myperson_PK primary key,--主键约束 pname varchar2(4) constraint myperson_Name not null,--非空约束 sex varchar2(4) constraint myperson_Sex check (sex in ('男','女')),--check约束 email varchar2(30) constraint myperson_Email unique,--唯一性约束 deptno number constraint myperson_FK references dept(deptno) on delete set null--外键约束 )
视图 create view view1 as select empno,sal*12 年薪 from emp 第 1 行出现错误: ORA-01031: 权限不足
–没有权限,给scott用户设置一个全新 grant create view to scott;
–视图的优点 create view view2 as select * from emp where deptno = 10;
视图已创建。
SQL> –设置视图为只读。 create or replace view view2 as select * from emp where deptno = 10 with read only
–删除视图 drop view view1;
视图已删除。
序列 create sequence myseq;
序列已创建。
create table testseq(tid number,tname varchar2(8));
表已创建。
查询序列 select myseq.nextval from dual;
NEXTVAL
----------
1
插入序列 insert into testseq values(myseq.nextval,'Tom');
已创建 1 行。
同义词synonym create synonym hremp for hr.employees (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |