본문 바로가기
개발자 양성과정 필기노트/DB | ORACLE

데이터정의어(DDL), 데이터조작어 (DML)

by jono 2021. 7. 26.

DB  ||  DAY2  ||  데이터정의어(DDL), 데이터조작어 (DML)


 0. DB 

1. virtural box install
2. 이미지 파일 설치하기
3. 터미널창
4. lsnrctl start
5. sqlplus /nolog
6. db꺼져있으므로, 접속가능한 유일한 계정인 sys에 접근해야함 => connect sys/oracle as sysdba
7. startup


<OS user>
-root(pw : oracle01) -> 관리자 권한
-oracle(pw : oracle) 
 -> /home/oracle 디렉토리 권한
 -> /u01/app/oracle 디렉토리 권한 


<DB user>
-sys(pw : _____) -> sysdba 권한
     (dba + DB시작/종료 + DB생성)
 SQL> conn sys/_____ as sysdba

-system(pw : _____) -> dba 권한
 SQL> conn system/_____

-hr(pw : _____) -> Object(table, view 등) 관리 권한
 SQL> conn hr/_____


 # 데이터 정의어(DDL) 


1) 테이블 생성 ( CREATE TABLE )

- 테이블 생성 시 테이블명, 컬럼명, 데이터타입, 컬럼 사이즈 지정해야함.
- 옵션: Defalut값, 제약조건 추가 가능
- 대소문자 구별하지않는다.
- 날짜 형식 => 'DD-MON-RR' ex) '31-JAN-21'

CREATE TABLE dept
      (deptno     NUMBER (2),
      dname    VARCHAR2(14),
      loc         VARCHAR2(13),
     create_date DATE DEFAULT SYSDATE) ;

- 만든 테이블 확인하기 => describe dept  // desc로 줄여써도 ok

2) 제약조건

- Primary key, Foreign key, Unique, Not Null, Check

3) 테이블 수정 ( ALTER TABLE )

ALTER TABLE table_name
   add ( 추가할_컬럼이름 varchar2(사이즈) ) ;
   modify ( 수정할_컬럼이름 varchar2(변경할사이즈) ) ;
   drop column 삭제할_컬럼이름 ;

 

4) 테이블 삭제 ( TRUNCATE TABLE )

truncate table table_name ;

 # 데이터 조작어(DML) 

1) SELECT : 데이터 조회(검색)

SELECT col1, col2, col3, ...  ( 컬럼이름이 기억안날때는 * )
FROM table_name ;

# WHERE절을 사용하여 데이터 검색하기

SELECT
FROM
WHERE 좌변 = 우변 ;
        (컬럼명)    (값)

2) INSERT INTO : 새로운 행 추가

- 테이블에 새로운 행 추가하기

INSERT INTO 삽입될테이블이름 (컬럼1, 컬럼2, 컬럼3, 컬럼4) 생략가능
VALUES (컬럼1해당값, 컬럼2해당값, 컬럼3해당값, 컬럼4해당값) ;

INSERT INTO departments
VALUES (280,'Oracle', 200, 1700) ;

3) UPDATE SET : 기존 행 수정

UPDATE   대상테이블이름
SET   변경대상컬럼이름 = 변경값
WHERE   출력하고싶은컬럼이름 = 출력컬럼의 상세값 ;

4) DELETE : 기존 행 삭제

 


*** 내가 가지고 있는 테이블을 보고싶다면,

SELECT table_name
FROM user_tables

 

*** 출력되는 테이블의 가독성이 별로일때,

SQL> col 줄이고싶은_컬럼이름 format a바이트숫자 
*** 제목이 문자로 되어있는 컬럼만 수정가능하다.
-> 날짜, 숫자제목의 컬럼은 수정 불가능!!!

 

*** 오타수정하는 방법

SQL> ed //엔터  => 버퍼에서 직전의 작업내용을 볼 수 있음 (읽기전용임)
i //엔터 => 편집모드로 변경, 방향키로 조작해서 오타수정하기.
*** 버퍼에는 세미콜론 절대입력 NO!!!
esc키 눌러서 편집모드 나가기
: wq//창 맨 밑에 입력 ( *** : wq는 저장하고 나가기   *** : q!는 저장X+나가기)
버퍼에서 나가서 => / 입력까지 해야함!

*** l + 엔터 => 버퍼에 들어가지 않고 직전 쿼리문 보기
    /  + 엔터 => 직전 작업내용을 업데이트시키기

 

 

 

'개발자 양성과정 필기노트 > DB | ORACLE' 카테고리의 다른 글

리눅스 터미널명령어  (0) 2021.08.11
리눅스 명령키  (0) 2021.08.09
제약조건, 계정생성  (0) 2021.08.02
ORDER BY , JOIN , 서브쿼리  (0) 2021.07.29
Linux개발환경구축, DB접속  (0) 2021.07.21

댓글