[DBMS_02] TABLE 문법 정리
1. CREATE table - 테이블 생성하기
person table 생성
CREATE table Person(
id NUMBER(3) primary key, --기본키
name varchar2(50)
);
member_t 테이블 생성
create table member_t(
id varchar2(50),
pwd varchar2(20) not null, -- null값을 허용하지 않겠다
name varchar2(50),
email varchar2(50),
phone varchar2(20)
);
teacher 테이블 생성
create table teacher(
idx number(3) primary key, --기본키
name varchar2(30) not null, --이름 꼭넣어
gender varchar2(10) not null
);
2. SELECT - 테이블 조회
--employees테이블의 직종 조회
SELECT job_id FROM employees;
[DBMS_02] SELECT문 테이블 조회
2. SELECT - 테이블 조회 --현재 계정이 사용하고 있는 테이블의 목록(목록조회는 홈페이지에서 하는게 편함) --사원테이블의 전체 목록 조회 (특정테이블의 모~~든 컬럼을 보여줘) select * from EMPLOYEES
korany0410.tistory.com
3. ALTER table - 테이블에 컬럼 추가**
중복된 컬럼명은 허용하지 않음
table Person 에 date타입의 birth컬럼명 추가
alter table Person add birth date;
가입한 날짜를 저장할 regetate 컬럼 추가
alter table member_t add regedate date;
테이블의 컬럼명 수정
alter table Person rename column birth to birthday
테이블의 컬럼 자료형에 대한 속성 수정
alter table Person modify name varchar2(30);
--이메일을 저장하는 컬럼의 크기를 100으로 수정
alter table member_t modify email varchar2(100);
-- 테이블의 컬럼 삭제 ** alter drop
alter table person drop column birthday;
phone컬럼 삭제
alter table member_t drop column phone;
4. DROP table - 테이블 삭제
drop table person;
drop table member_t;
5. INSERT into - 테이블에 데이터 추가하기
commit; 필수
teacher table에 데이터 추가
데이터 추가시 (insert, delete,update)쿼리문에 대해서는 해당 데이터가 물리적으로 DB에 저장 될 수있도록
마지막에 반드시 commit코드를 작성해야한다.
insert into Teacher values(1,'홍길동','남');
commit;
6. DELETE from - 특정 행(row) 삭제
commit; 필수
마지막에 반드시 commit코드를 작성해야한다.
특정 행(row) 삭제
예제1) 부서명이 S로 시작하는 부서를 삭제
DELETE FROM DEPT
WHERE department_name LIKE 'S%';
COMMIT;
예제2) 부서이름이 15글자 이하인 부서를 삭제
DELETE FROM DEPT
WHERE length(dapartment_name) <=15;
COMMIT;
예제3)
employees테이블을 empl로 복사 후 이름이 s로 시작하는 사원들 삭제
create table empl as select * from employees;
DELETE FROM empl
WHERE first_name LIKE 'S%';
COMMIT;
7. UPDATE table SET - 수정하기
commit; 필수
마지막에 반드시 commit코드를 작성해야한다.
조건이 없는 상태에서 수정
예제)
사원들의 월급을 10000으로 수정
UPDATE empl SET salary = 10000;
commit;
조건이 있을 때의 수정
예제1)
근속년수가 10년 이상인 사원들의 월급을 10000인상
UPDATE empl SET salary = salary + 10000
WHERE months_between(sysdate,hire_date) >= 12 * 10;
commit;
예제2)
commission_pct가 null인 직원의 보너스를 0.1로 수정하시오
UPDATE empl SET commission_pct = 0.1
WHERE commission_pct is NULL;
commit;
예제3)
전화번호의 길이가 12글자를 초과하는 직원들을 찾아서 급여를 10000달러 인하하시오
UPDATE empl SET salary = salary - 10000
WHERE length(phone_number) > 12;
commit;
예제4)
근속년수가 15년 미만인 사원들의 급여를 10000낮추시오
UPDATE empl SET salary = salary - 10000 WHERE months_between(sysdate, hire_date) < 15*12 ;
commit;
[DBMS_09] 함수 (그룹 숫자 문자 날짜)
1. 그룹함수 여러개의 행 또는 테이블 전체에 대하여 하나의 결과만을 가져오는 함수 그룹함수만 일반컬럼과 함께 사용될 수 없다 1) AVG() : 평균 구하는 함수 2) COUNT() : 행의 개수를 반환하는 함
korany0410.tistory.com
Start DataBase 열기
시작화면에서 start DataBase 열면 cmd창 열림


dba 권한 추가 및 잠금 해제
dba 권한 추가 : sqlplus system/1111
grant connect, dba to hr; (hr: 권한을 줄 계정)
잠금해제 : sqlplus system/1111
alter user hr identified by 1111 account unlock;
해제 후 sqlplus hr/1111