º«Ë³Æ½oracle±Ê¼Ç£¨×Ô¼ºÐ޸ľ«»ª²¢Ìí¼Ó´¥·¢Æ÷ÄÚÈÝ£© ÏÂÔØ±¾ÎÄ

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);