728x90
Oracle에서의 관리자 계정
관리자 계정 | 설명 | 비고 |
SYS | 데이터베이스 관리 작업을 수행하는 일반적인 관리자 | Windows의 Administrator나 Linuxl root 권한과 유사 |
SYSDBA | 데이터베이스의 구조, 설계 등을 관리하는 관리자 | |
SYSTEM | 데이터베이스를 위한 순수 데이터베이스 관리자 | Oracle에서는 SYSTEM 계정으로 작업하는 것보다 개별 데이터베이스 관리자 계정을 생성해서 데이터 작업을 수행하는 것을 권장 |
Oracle에서의 일반 사용자
일반 관리자 |
Scott, BI(Business Intelligence), HR(Human Resources), OE(Order Entry), PM(Product Media), IX(Information Exchange), SH(Sales), |
SQL 규칙
1. 키워드와 구문에서 대소문자를 구분하지 않는다.
SELECT * FROM Employees;
select * from Employees;
SeLeCt * FrOm Employees;
하지만 테이블 명과 필드의 이름은 대소문자를 구분하므로
주의해서 사용해야 한다.
2. 주석처리
# 한 줄 주석
-- 한 줄 주석 (두개 이상의 하이픈(-) 뒤에는 반드시 한 칸의 공백이 존재해야만 주석으로 정상 인식)
/* 두줄
이상의
주석*/
3. 문장의 끝에는 ; 을 찍는다(C로 생성한 모든 프로그램은 그렇다).
4. 정규표현식에서 *는 any(여러 개)의 의미이고, ?는 한 문자를 의미하지만
Oracle에서는 any 대신 %를 사용하고 ? 대신 _를 사용한다.
ex) H%, _ong, H_n_, ....
5. 년도와 이름은 ' '로 묶어준다.
6. SELECT 문을 사용하여 테이블의 레코드를 선택
SSELECT 필드이름
FROM 테이블이름
[WHERE 조건]
SQL* PLUS CMD 관리자 권한으로 실행
/* SYSDBA 권한으로 접속 */
C:\> SQLPLUS / AS SYSDBA
/* scott유저의 계정을 잠금
계정 잠금을 해제 할 때까지 scott유저로 접속 불가. */
SQL> ALTER USER scott ACCOUNT LOCK;
/* scott유저에 접속 불가 */
SQL> CONN scott/tiger
ERROR: ORA-28000: 계정이 잠금
/* SYSDBA 권한으로 접속*/
C:\> SQLPLUS / AS SYSDBA
/* scott유저의 계정 잠금 해제 */
SQL> ALTER USER scott ACCOUNT UNLOCK;
/* SCOTT유저에 다시 접속 가능 */
SQL> CONN scott/tiger
/* SYSDBA 권한으로 접속 */
C:\> SQLPLUS / AS SYSDBA
/* scott유저의 암호를 만료 */
SQL> ALTER USER scott PASSWORD EXPIRE;
/* scott유저는 더이상 접속 불가 */
SQL> CONN scott/tiger
scott에 대한 암호를 변경합니다
새로운 암호: *****
새로운 암호를 다시입력합니다: *****
ERROR:
ORA-00988: 암호가 틀립니다
/* SYS USER가 암호를 재 설정 */
SQL> CONN / AS SYSDBA
/* 암호 생성 */
SQL> ALTER USER scott IDENTIFIED BY tiger;
/* 접속 가능 */
SQL> CONN scott/tiger;
SQL> shutdown immediate -> 데이터 베이스 정지
SQL> startup -> 다시 데이터베이스가 실행
/* set sqlprompt "_USER>" */
set sqlprompt "hr>"
set time on ;
set time off ;
set timing on ;
SQL 기본 문법
/* SELECT 열_명1, 열_명2, .. FROM 테이블_명
WHERE 조건;' 형태로 해주는데 대부분 SELECT ~ FROM ~ */
SELECT * from tabs; -> 특정 사용자가 소유한 테이블들을 보고
SELECT * FROM employees; -> employees 테이블의 데이터들을 보고
DESC employees; -> 항목(컬럼)_명을 확인한 뒤 =>항목_명을 알아야 select ~(항목)~ 에 나열할 수 있다.
SELECT employee_id, last_name FROM employees; -> 특정 employee_id, last_name 열만 쿼리한다.
WHERE 조건 사용
Q. last_name이 King 으로 시작되는 사람을 보이시오.
SELECT employee_id, hire_date FROM employees
WHERE last_name = 'King'; -> K를 소문자 k로 해서 'king' 쿼리실행 하면 오류,
저장된 데이터는 대소문자를 구분
Q. 전체 사원 중 급여가 $1,000 이상인 사원의 사원번호, 이름, 월급을 보이시오.
select employee_id, last_name, salary from employees
where salary >= 10000; 전체 사원 중 급여가 $1,000 이상인 사원의 사원번호, 이름, 월급을 보인다.
'일단 해보는 코딩 > Oracle SQL' 카테고리의 다른 글
[오라클/SQL] 테이블 생성,변경,삭제하기 (0) | 2022.06.03 |
---|---|
[오라클/SQL] 정규 표현식 (0) | 2022.06.03 |
[오라클/SQL] 함수 활용해보기(2) (0) | 2022.06.03 |
[오라클/SQL] 함수 활용해보기(1) (0) | 2022.06.02 |
[오라클/SQL] 데이터베이스 배우기 (1) | 2022.06.01 |