ALTER USER "yyf" ACCOUNT UNLOCK前提:Oracle成功安裝1.創建表空間
CREATE TABLESPACE YYFTABLESPACE DATAFILE 'D:/DevRepository/oracle/YYFTABLESPACE' SIZE 5242880 REUSE AUTOEXTEND ON NEXT 134217728 MAXSIZE UNLIMITED NOLOGGING DEFAULT NOCOMPRESS ONLINE EXTENT MANAGEMENT LOCAL2.創建用戶并授權訪問-- USER SQLCREATE USER yyf IDENTIFIED BY yyf DEFAULT TABLESPACE "YYFTABLESPACE"TEMPORARY TABLESPACE "TEMP"ACCOUNT LOCK-- QUOTAS-- ROLESGRANT "RESOURCE" TO yyf ;GRANT "CONNECT" TO yyf ;ALTER USER yyf DEFAULT ROLE "RESOURCE","CONNECT";-- SYSTEM PRIVILEGESGRANT UNLIMITED TABLESPACE TO yyf ;3.鎖定用戶ALTER USER "yyf" ACCOUNT LOCK4.解鎖用戶ALTER USER "yyf" ACCOUNT UNLOCK5.修改用戶密碼ALTER USER "yyf" IDENTIFIED BY 123 6.一些sql查詢例子:--01.查找學號為"20130101001"的學生信息select * from user_info where user_id='20130101001';--02.查找學號為"20130101001"的學生信息包含(專業名稱,班級名稱,學號,姓名,手機號碼,家庭住址)select p.professional_name as 專業名稱,c.class_name as 班級名稱,u.user_id as 學號,u.user_name as 姓名,u.user_tel as 手機號碼,u.user_address as 家庭住址 from user_info u inner join class_info con u.user_id='20130101001' and u.class_id= c.class_idinner join professional_info pon c.professional_id = p. professional_id;--select class_id,class_name,professional_name from class_info c join professional_info p on c.professional_id = p.professional_id; --03.查找全校在讀學生在1990年以后出生,并且家庭住址在湖南省的學生信息SELECT u.user_id,u.user_name,u.class_id,u.user_address,c.CLASS_START_YEAR,c.CLASS_END_YEAR from user_info u inner join CLASS_INFO c on u.class_id = c.CLASS_IDand sysdate >= to_date(c.CLASS_START_YEAR,'yyyy') and sysdate <= to_date(c.CLASS_END_YEAR,'yyyy')where user_birthday >= to_date('1990-01-01','yyyy-MM-dd') and user_address like '湖南%';--04.查找本學期所有成績都在80分以上的優先學生的信息select * from(SELECT DISTINCT(r.user_id) FROM RESULT_INFO r inner join TERM_INFO t on r.TERM_ID = t.TERM_ID and t.TERM_YEAR = 2015 and t.TERM_FIRST = 1where r.user_id not in( SELECT r.USER_ID FROM RESULT_INFO r inner join TERM_INFO t on r.RESULT_VALUE < 80 and r.TERM_ID = t.TERM_ID and t.TERM_YEAR = 2015 and t.TERM_FIRST = 1 ) ) q inner join USER_INFO u on u.USER_ID = q.USER_ID order by u.user_id;SELECT * from user_info where user_id in( SELECT user_id from result_info where term_id in( select term_id from term_info where term_year = 2015 and term_first = 1 ) and user_id not in ( SELECT user_id from result_info where term_id in( SELECT term_id from term_info where term_year = 2015 and term_first = 1 )and result_value < 80 ) ) order by user_id;--05.查找本學期所有成績都在60分以下的需要補考的學生信息select * from(SELECT DISTINCT(r.user_id) FROM RESULT_INFO r inner join TERM_INFO t on r.TERM_ID = t.TERM_ID and t.TERM_YEAR = to_number(to_char(sysdate,'yyyy')) and t.TERM_FIRST = 1where r.user_id not in( SELECT r.USER_ID FROM RESULT_INFO r inner join TERM_INFO t on r.RESULT_VALUE >=70 and r.TERM_ID = t.TERM_ID and t.TERM_YEAR = to_number(to_char(sysdate,'yyyy')) and t.TERM_FIRST = 1 ) ) q inner join USER_INFO u on u.USER_ID = q.USER_ID;--06.查找"20130101"班在當前學期需要學習的課程信息select * from course_infowhere course_id in( select course_id from result_info where user_id in( select user_id from user_info where class_id = '20130101' )and term_id in (select term_id from term_info t where t.TERM_YEAR = '2015' and t.TERM_FIRST = 1 ));--07.統計2013級的各班級的人數(班級編號,班級名稱,專業名稱,班級人數)select t.class_id as 班級編號,c.class_name as 班級名稱,p.PROFESSIONAL_NAME as 專業名稱,t.班級人數 from class_info c inner join (select count(u.CLASS_ID) as 班級人數,u.CLASS_ID from USER_INFO u group by u.CLASS_ID) t on c.CLASS_START_YEAR = '2013' and c.CLASS_ID = t.CLASS_ID inner join PROFESSIONAL_INFO p on p.PROFESSIONAL_ID = c.PROFESSIONAL_IDorder by t.CLASS_ID;--08.編寫"20130101"班"大學英語"的成績表的SQL語句--select max(成績) from(SELECT u.user_id as 學號,u.USER_NAME as 姓名,r.RESULT_VALUE as 成績 FROM RESULT_INFO rinner join USER_INFO u on u.CLASS_ID = '20130101' and r.USER_ID = u.USER_IDwhere r.COURSE_ID = -1 and r.TERM_ID = 8 order by r.RESULT_VALUE desc ;--);存儲過程create or replace procedure yyf isbegin insert into role_info(role_id,role_info) values(3,'老師1'); dbms_output.putline('執行成功!'); commit;end yyf;曾經課后一些代碼例子。(好像已經很久沒碰Oracle了)
新聞熱點
疑難解答