DBMS

[DBMS_02] TABLE 문법 정리

korany 2023. 3. 3. 11:55

 

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