数据库语言之【DDL/DML/TCL/DCL篇】

来源:互联网 发布:网络词爸爸是什么意思 编辑:程序博客网 时间:2024/04/27 05:05

******************************************

数据库语言之【DDL/DML/TCL/DCL篇】

******************************************

1.===数据定义语言DDL====

--CREATE表的约束CREATE TABLE TEMP(   EMPNO NUMBER,   ENAME VARCHAR2(200),   DEPTNO NUMBER,   EDATE DATE DEFAULT SYSDATE,     --默认值   ADDRESS VARCHAR2(200) NOT NULL, --非空   SAL NUMBER(8,2) CONSTRAINT EMP_SALARY_MIN CHECK (SAL>0), --检查   CONSTRAINT AA FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTNO),--外键   CONSTRAINT BB UNIQUE(ENAME),      --唯一   CONSTRAINT CC PRIMARY KEY(EMPNO));--主键--ALTERALTER TABLE TEMP MODIFY (TID NUMBER(5));   --修改列,当表中有值的时候不允许ALTER TABLE TEMP ADD(TADD VARCHAR2(2000)); --添加列ALTER TABLE TEMP DROP COLUMN TADD;         --删除列ALTER TABLE EMP RENAME TO NEWNAME;         --RENAME表的重命名RENAME EMP TO NEWENAMEALTER TABLE EMP RENAME COLUMN ENAME TO AAA; --重命名列名TRUNCATE TABLE TEMP; --TRUNCATE截断表,保留结构。不能回滚--DROPDROP USER NEWER CASCADE;            --删除用户(级联)DROP TABLESPACE INCLUDING CONTENTS; --删除表空间(包含的所有内容)DROP TABLE TEMP; --删除表,从数据库中删除表及全部数据需求如下:重建母表dept1,但不要影响字表emp1与dept1建立关系drop table dept1;create table dept1 as select * from dept;ALTER table dept1 add constraints aa primary key(deptno);drop table emp1;create table emp1 as select * from emp;ALTER table emp1 add constraints cc primary key(empno);ALTER table emp1 add constraints bb foreign key(deptno) REFERENCES DEPT1(DEPTNO);做法如下:1.先删除外键关系ALTER table emp1 drop constraints bb ;2.删除母表,重建母表drop table dept1;create table dept1 as select * from dept;ALTER table dept1 add constraints aa primary key(deptno);3.建立外键关系ALTER table emp1 add constraints bb foreign key(deptno) REFERENCES DEPT1(DEPTNO);

2.===数据操纵语言DML====

SELECT\INSERT\UPDATE\DELETECREATE TABLE TEMP AS SELECT * FROM EMP; --利用现有表创建新表INSERT INTO TEMP(ENAME) SELECT ENAME FROM EMP ;--向表插入现有表的数据--使用别名 三种方法,真接写,AS,加""号

3.===事务控制语言TCL(COMMIT,SAVEPOINT,ROLLBACK)====
--提交COMMIT WORK;COMMIT;--保存点(标记)SAVEPOINT SNAME;--回滚ROLLBACK;ROLLBACK TO SAVEPOINT SNAME;--事务示例UPDATE EMP SET ENAME='AAA' WHERE EMPNO=7369;SAVEPOINT SAVENAME;DELETE EMP WHERE EMP=7369;SAVEPOINT SAVENAME1;ROLLBACK TO SAVEPOINT SAVENAME;COMMIT;
4.===数据控制语言 DCL(GRANT,REVOKE)====
--将对象的权限授予用户GRANT ALL ON EMP TO USERNAME;GRANT SELECT,UPDATE,DELETE,INSERT ON EMP TO USERNAME;--将角色的权限授予用户GRANT CONNECT TO USERNAME; --连接数据库GRANT RESOURCE TO USERNAME; --使用数据表空间GRANT UNLIMITED TABLESPACE TO USERNAME;--表空间无限增长GRANT GRANT ANY PRIVILEGE TO USERNAME; --授予可以授权的权限--删除用户权限REVOKE CONNECT FOR USERNAME; --删除角色权限REVOKE SELECT ON EMP FOR USERNAME;--删除对象权限






	
				
		
原创粉丝点击