SQL> drop profile password_history ¡¾casade¡¿
×¢Ò⣺Îļþɾ³ýºó£¬ÓÃÕâ¸öÎļþÈ¥Ô¼ÊøµÄÄÇЩÓû§Í¨Í¨Ò²¶¼±»ÊÍ·ÅÁË¡£ ¼ÓÁËcasade£¬¾Í»á°Ñ¼¶ÁªµÄÏà¹Ø¶«Î÷Ò²¸øÉ¾³ýµô
µÚ6½² ½¨±í
oracleÖ§³ÖµÄÊý¾ÝÀàÐÍ?
×Ö·ûÀà
char ¶¨³¤ ×î´ó2000¸ö×Ö·û¡£
varchar2(20) ±ä³¤ ×î´ó4000¸ö×Ö·û¡£
clob(character large object) ×Ö·ûÐÍ´ó¶ÔÏó ×î´ó4G
char ²éѯµÄËٶȼ«¿ìÀ˷ѿռ䣬²éѯ±È½Ï¶àµÄÊý¾ÝÓá£
varchar ½ÚÊ¡¿Õ¼ä
Êý×ÖÐÍ
number·¶Î§ -10µÄ38´Î·½ µ½ 10µÄ38´Î·½ ¿ÉÒÔ±íʾÕûÊý£¬Ò²¿ÉÒÔ±íʾСÊý number(5,2)
±íʾһλСÊýÓÐ5λÓÐЧÊý£¬2λСÊý
ÈÕÆÚÀàÐÍ
date °üº¬ÄêÔÂÈÕºÍʱ·ÖÃë oracleĬÈϸñʽ 1-1ÔÂ-1999
timestamp ÕâÊÇoracle9i¶ÔdateÊý¾ÝÀàÐ͵ÄÀ©Õ¹¡£¿ÉÒÔ¾«È·µ½ºÁÃë¡£
ͼƬ
blob ¶þ½øÖÆÊý¾Ý ¿ÉÒÔ´æ·ÅͼƬ/ÉùÒô 4G Ò»°ãÀ´½²£¬ÔÚÕæÊµÏîÄ¿ÖÐÊDz»»á°ÑͼƬºÍÉùÒôÕæµÄÍùÊý¾Ý¿âÀï´æ·Å£¬Ò»°ã´æ·ÅͼƬ¡¢ÊÓÆµµÄ·¾¶£¬Èç¹û°²È«ÐèÒª±È½Ï¸ßµÄ»°£¬Ôò·ÅÈëÊý¾Ý¿â¡£ ½¨±í
--ѧÉú±í
create table student ( ---±íÃû
xh number(4), --ѧºÅ xm varchar2(20), --ÐÕÃû sex char(2), --ÐÔ±ð
birthday date, --³öÉúÈÕÆÚ sal number(7,2) --½±Ñ§½ð Ð޸ıí
Ìí¼ÓÒ»¸ö×Ö¶Î
SQL>ALTER TABLE student add (classId NUMBER(2)); ÐÞ¸ÄÒ»¸ö×ֶεij¤¶È
SQL>ALTER TABLE student MODIFY (xm VARCHAR2(30)); ÐÞ¸Ä×ֶεÄÀàÐÍ/»òÊÇÃû×Ö£¨²»ÄÜÓÐÊý¾Ý£© ²»½¨Òé×ö SQL>ALTER TABLE student modify (xm CHAR(30));
ɾ³ýÒ»¸ö×Ö¶Î ²»½¨Òé×ö(ɾÁËÖ®ºó£¬Ë³Ðò¾Í±äÁË¡£¼Ó¾ÍûÎÊÌ⣬ӦΪÊǼÓÔÚºóÃæ)
SQL>ALTER TABLE student DROP COLUMN sal; Ð޸ıíµÄÃû×Ö ºÜÉÙÓÐÕâÖÖÐèÇó SQL>RENAME student TO stu; ɾ³ý±í
SQL>DROP TABLE student;
µÚ7½² Ìí¼Óɾ³ý
Ìí¼ÓÊý¾Ý
ËùÓÐ×ֶζ¼²åÈëÊý¾Ý
INSERT INTO student VALUES ('A001', 'ÕÅÈý', 'ÄÐ', '01-5ÔÂ-05', 10); oracleÖÐĬÈϵÄÈÕÆÚ¸ñʽ¡®dd-mon-yy¡¯ ddÈÕ×Ó£¨Ì죩 mon ÔÂ·Ý yy 2λµÄÄê ¡®09-6ÔÂ-99¡¯ 1999Äê6ÔÂ9ÈÕ
´Ó×Ô¼º¸´ÖÆ£¬¼Ó´óÊý¾ÝÁ¿ ´ó¸Å¼¸ÍòÐоͿÉÒÔÁË ¿ÉÒÔÓÃÀ´²âÊÔsqlÓï¾äÖ´ÐÐЧÂÊ INSERT INTO users (userId,UNAME,UPASSW) SELECT * FROM users;
ÐÞ¸ÄÈÕÆÚµÄĬÈϸñʽ£¨ÁÙʱÐ޸ģ¬Êý¾Ý¿âÖØÆôºóÈÔΪĬÈÏ£»ÈçÒªÐÞ¸ÄÐèÒªÐÞ¸Ä×¢²á±í£©
ALTER SESSION SET NLS_DATE_FORMAT ='yyyy-mm-dd'; ²åÈ벿·Ö×Ö¶Î
INSERT INTO student(xh, xm, sex) VALUES ('A003', 'JOHN', 'Å®'); ²åÈë¿ÕÖµ
INSERT INTO student(xh, xm, sex, birthday) VALUES ('A004', 'MARTIN', 'ÄÐ', null);
²éѯstudent±íÀïbirthdayΪnullµÄ¼Ç¼
Õýȷд·¨£ºselect * from student where birthday is null; Èç¹ûÒª²éѯbirthday²»Îªnull,ÔòÓ¦¸ÃÕâÑùд£º
select * from student where birthday is not null;
ÐÞ¸ÄÊý¾Ý ÐÞ¸ÄÒ»¸ö×Ö¶Î
UPDATE student SET sex = 'Å®' WHERE xh = 'A001'; Ð޸Ķà¸ö×Ö¶Î
UPDATE student SET sex = 'ÄÐ', birthday = '1984-04-01' WHERE xh = 'A001';
update aaa set job=null where name='SCOTT' update aaa set job='CLERK' where job is null;
Ð޸ĺ¬ÓÐnullÖµµÄÊý¾Ý£¬²»ÒªÓà = null ¶øÊÇÓà is null£»µ«°ÑÖµÐ޸ijɿÕÖµ£¬»¹ÊÇÒª=null¡£
ɾ³ýÊý¾Ý
DELETE FROM student;
ɾ³ýËùÓмǼ£¬±í½á¹¹»¹ÔÚ£¬Ð´ÈÕÖ¾£¬¿ÉÒÔ»Ö¸´µÄ£¬ËÙ¶ÈÂý¡£ Delete µÄÊý¾Ý¿ÉÒÔ»Ö¸´¡£ savepoint a; --´´½¨±£´æµã DELETE FROM student;
rollback to a; --»Ö¸´µ½±£´æµã
Ò»¸öÓоÑéµÄDBA£¬ÔÚÈ·±£Íê³ÉÎÞÎóµÄÇé¿öÏÂÒª¶¨ÆÚ´´½¨»¹Ôµã¡£ DROP TABLE student; --ɾ³ý±íµÄ½á¹¹ºÍÊý¾Ý£»
delete from student WHERE xh = 'A001'; --ɾ³ýÒ»Ìõ¼Ç¼£»
truncate TABLE student; --ɾ³ý±íÖеÄËùÓмǼ£¬±í½á¹¹»¹ÔÚ£¬²»Ð´ÈÕÖ¾£¬ÎÞ·¨ÕÒ»ØÉ¾³ýµÄ¼Ç¼£¬ËÙ¶È¿ì
µÚ8½² ²éѯ
Î壺oracle±í²éѯ(1)
oracle±í»ù±¾²éѯ ¼òµ¥µÄ²éѯÓï¾ä ²é¿´±í½á¹¹ DESC emp; ²éѯËùÓÐÁÐ
SELECT * FROM dept; Çмɶ¯²»¶¯¾ÍÓÃselect *
SET TIMING ON; ´ò¿ªÏÔʾ²Ù×÷ʱ¼äµÄ¿ª¹Ø£¬ÔÚÏÂÃæÏÔʾ²éѯʱ¼ä¡£ SELECT COUNT (*) FROM users;ͳ¼ÆÐÐÊý
²éѯָ¶¨ÁÐ
SELECT ename, sal, job, deptno FROM emp; ÈçºÎÈ¡ÏûÖØ¸´ÐÐDISTINCT
SELECT DISTINCT deptno, job FROM emp; ²éѯSMITHËùÔÚ²¿ÃÅ£¬¹¤×÷£¬Ð½Ë®
SELECT deptno,job,sal FROM emp WHERE ename = 'SMITH';
×¢Ò⣺oracle¶ÔÄÚÈݵĴóСдÊÇÇø·ÖµÄ£¬ËùÒÔename='SMITH'ºÍename='smith'ÊDz»Í¬µÄ
ʹÓÃËãÊõ±í´ïʽ
ÎÊÌ⣺ÈçºÎÏÔʾÿ¸ö¹ÍÔ±µÄÄ깤×Ê£¿
SELECT sal*13+nvl(comm, 0)*13 \Äêн\ ʹÓÃÁеıðÃû \Äêн\
ʹÓÃnvlº¯ÊýÀ´´¦ÀínullÖµ ÈçºÎÁ¬½Ó×Ö·û´®£¨||£©
SELECT ename || ' is a ' || job FROM emp; ʹÓÃwhere×Ó¾ä
ÎÊÌ⣺ÈçºÎÏÔʾ¹¤×ʸßÓÚ3000µÄ Ô±¹¤£¿ SELECT * FROM emp WHERE sal > 3000; ÎÊÌ⣺ÈçºÎ²éÕÒ1982.1.1ºóÈëÖ°µÄÔ±¹¤£¿
SELECT ename,hiredate FROM emp WHERE hiredate >'1-1ÔÂ-1982'; ÎÊÌ⣺ÈçºÎÏÔʾ¹¤×ÊÔÚ2000µ½3000µÄÔ±¹¤£¿
SELECT ename,sal FROM emp WHERE sal >=2000 AND sal <= 3000;
ÈçºÎʹÓÃlike²Ù×÷·û
%£º±íʾ0µ½¶à¸ö×Ö·û _£º±íʾÈÎÒâµ¥¸ö×Ö·û
ÈçºÎÏÔʾµÚÈý¸ö×Ö·ûΪ´óдOµÄËùÓÐÔ±¹¤µÄÐÕÃûºÍ¹¤×Ê£¿ SELECT ename,sal FROM emp WHERE ename like '__O%';
ÔÚwhereÌõ¼þÖÐʹÓÃin
ÎÊÌ⣺ÈçºÎÏÔʾempnoΪ7844, 7839,123,456 µÄ¹ÍÔ±Çé¿ö£¿ SELECT * FROM emp WHERE empno in (7844, 7839,123,456); ʹÓÃis nullµÄ²Ù×÷·û
ÎÊÌ⣺ÈçºÎÏÔʾûÓÐÉϼ¶µÄ¹ÍÔ±µÄÇé¿ö£¿ SELECT * FROM emp WHERE mgr is null;
µÚ9½² ²éѯ2 Âß¼²Ù×÷·û¡¢·Ö×麯Êý ʹÓÃÂß¼²Ù×÷·ûºÅ
ÎÊÌ⣺²éѯ¹¤×ʸßÓÚ500»òÕßÊǸÚλΪMANAGERµÄ¹ÍÔ±£¬Í¬Ê±»¹ÒªÂú×ãËûÃǵÄÐÕÃûÊ××ÖĸΪ´óдµÄJ£¿
SELECT * FROM emp WHERE (sal >500 or job = 'MANAGER') and ename LIKE 'J%'; ʹÓÃorder by ×Ö¾ä ĬÈÏasc
ÎÊÌ⣺ÈçºÎ°´ÕÕ¹¤×ʵĴӵ͵½¸ßµÄ˳ÐòÏÔʾ¹ÍÔ±µÄÐÅÏ¢£¿ SELECT * FROM emp ORDER by sal;
ÎÊÌ⣺°´ÕÕ²¿ÃźÅÉýÐò¶ø¹ÍÔ±µÄ¹¤×ʽµÐòÅÅÁÐ SELECT * FROM emp ORDER by deptno, sal DESC;
ʹÓÃÁеıðÃûÅÅÐò ÎÊÌ⣺°´ÄêнÅÅÐò
select ename, (sal+nvl(comm,0))*12 \Äêн\ from emp order by \Äêн\ asc; ÖÐÎıðÃûÐèҪʹÓá°¡±ºÅ£¨Ë«ÒýºÅ£©È¦ÖÐ,Ó¢ÎIJ»ÐèÒª¡°¡±ºÅ
oracle±í¸´ÔÓ²éѯ
Êý¾Ý·Ö×é ¡ª¡ªmax£¨×î´ó£©£¬min£¨×îС£©£¬ avg£¨Æ½¾ù£©£¬ sum£¨×ܺͣ©£¬ count£¨¼ÇÊý£© ÎÊÌâ £º×î¸ß¹¤×ÊÄǸöÈËÊÇË£¿
´íÎóд·¨£ºselect ename, sal from emp where sal=max(sal);
Õýȷд·¨£ºselect ename, sal from emp where sal=(select max(sal) from emp);
×¢Ò⣺select ename, max(sal) from emp;ÕâÓï¾äÖ´ÐеÄʱºò»á±¨´í£¬ËµORA-00937£º·Çµ¥×é·Ö×麯Êý¡£ÒòΪmaxÊÇ·Ö×麯Êý£¬¶øename²»ÊÇ·Ö×麯Êý.......
µ«ÊÇselect min(sal), max(sal) from emp;Õâ¾äÊÇ¿ÉÒÔÖ´Ðеġ£ÒòΪminºÍmax¶¼ÊÇ·Ö×麯Êý£¬¾ÍÊÇ˵£ºÈç¹ûÁÐÀïÃæÓÐÒ»¸ö·Ö×麯Êý£¬ÆäËüµÄ¶¼±ØÐëÊÇ·Ö×麯Êý£¬·ñÔò¾Í³ö´í¡£ÕâÊÇÓï·¨¹æ¶¨µÄÎÊÌâ¡£
ÏÔʾ¹¤×ʸßÓÚÆ½¾ù¹¤×ʵÄÔ±¹¤ÐÅÏ¢
SELECT * FROM emp where sal > (SELECT AVG(sal) FROM emp);