본문 바로가기
데이터베이스

23.01.27 (DDL/DML/DCL, where조건절)

by 2023코딩시작 2023. 1. 27.

 

- 컬럼에서 제약조건을 준다. ex)  학번 자료형(크기) (제약조건)

-  테이블에서 제약조건을 준다.

ex) 학번 자료형(크기) 

      (제약조건)

 

 

😀 문자열  '  '  로 표현

😀테이블은 전부 외우려고 하지말고 필요할 때 보고 쓰면 됨

😀연산이 필요한 건 데이터

 

😀 작성한 문장의    ;  <<< 있는 위치에서 명령문 실행(ctrl + enter)을 눌러주어야 함 (아니면 실행버튼 누르기 )

    --> 이후 명령문을 작성하고 컬럼이 추가됐는지 안됐는지 확인하기  

    --> 여러개를 할 때는 드래그 한 후에 ctrl+enter로 한 번에 하면 됨

 

sysdate : 시스템에 등록된 현재 날짜

1. 커밋

2. 롤백 (롤백은 커밋을 선언한 이후에는 되돌릴 수 없다.)

 

😀* ==> 모든거

select ==> 쿼리문 (질의문)

 

😀테이블 명령문 다 실행하고 테이블 -로 축소화 시키고 새로고침을 해야지 테이블이 형성 됨

 

 

 

/*
    학생 테이블을 만들어 보자.
    
    구성 요소(컬럼 - 속성)
    ==> 학번, 이름, 학과, 연락처, 주소, 등록일(입학일) 등등
    
    테이블을 만드는 형식
    
    create table 테이블이름(
        학번 자료형(크기) (제약조건),
        이름 자료형(크기) (제약조건),
        학과 자료형(크기) (제약조건),
        연락처 자료형(크기) (제약조건),
        주소 자료형(크기) (제약조건),
        등록일 자료형(크기) (제약조건)
    );
*/

ex) create table student (
       hakbun varchar2(10) primary key
);

 

-테이블에 컬럼을 추가하는 방법

-alter table 테이블이름 add(컬럼명 테이블타입(크기) (제약조건));

ex) alter table student add(age number(3));

 

- 테이블의 컬럼을 수정하는 방법

-alter talbe 테이블이름 modify(컬럼명 데이터타입(크기) (제약조건));

ex) alter table student modify(age varchar(3));

 

- 테이블 컬럼명을 수정하는 방법

alter table 테이블명 reaname column 기존컬럼명 to 변경할 컬럼명;

ex) alter table student rename column name to name1;

 

-테이블의 컬럼명을 삭제하는 방법

alter table 테이블이름 drop column 컬럼명;

ex) alter table student drop column age

 

/*
    1. DDL(Date Define Language : 데이터 정의 언어)
        - CREATE : 데이터베이스 또는 테이블을 생성하는 명령어 
        - ALTER : 테이블을 수정하는 명령어
        - DROP : 데이터베이스 또는 테이블을 삭제하는 명령어
        - TRUNCATE : 테이블을 초기화하는 명령어

    2. DML(Data Manipulation Language : 데이터 조작 언어)
       ==> 데이터베이스에서 가장 많이 사용하는 명령어
        - SELECT : 데이터를 검색하는 명령어
        - INSERT : 데이터를 추가하는 명령어
        - UPDATE : 데이터를 수정하는 명령어
        - DELETE : 데이터를 삭제하는 명령어
        
    3. DCL(Date Control Language : 데이터 제어 언어)
        - GRANT : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 부여하는 명령어
        - REVOKE : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 삭제하는 명령어
        - COMMIT : 트랜잭션 작업을 완료하는 명령어
        - ROLLBACK : 트랜잭션 작업을 취소하거나 이전 상태로 복구하는 명령어
*/

-- student 테이블 데이터(학생 정보)를 추가해 보자.

형식1) insert into 테이블이름 values(컬럼1 데이터... 마지막 데이터)

insert into student values('','','','', );

 

형식2) insert into 테이블이름 (제약조건 컬럼들 명시) values (제약조건 컬럼 수에 해당하는 데이터 기재) 

insert into student(  , ) values ('', '')

 

-- 데이터베이스에 완전하게 저장하고자 할 때 사용하는 명령어
commit;

-- student 테이블에 있는 모든 데이터를 삭제하는 방법
delete from student;

-- 이전 상태로 복원하는 명령어
rollback;

 

-- student 테이블에 있는 모든 데이터를 화면에 보여주세요
-- 형식) select * from 테이블이름 
select * from student;

 

-- 보고 싶은 컬럼만 보이게 하고 싶은 경우

-- 형식) select 컬럼명1, 컬럼명2, 컬럼명3... from 테이블이름

select hakbun, name form student; 

 

-- null 값을 가지는 컬럼은 다른 컬럼과 연산을 하게 되면 모두 null 값으로 처리가 되는 문제가 발생
-- nvl() 함수 : null 값을 특정한 값으로 변경시켜 주는 함수.
--             모든 자료형에 적용이 가능함.
--             nvl() 함수를 사용할 때에는 전환되는 값의 자료형을 일치시켜야 함.
-- 형식) nvl(null값이 들어가 있는 컬럼명, 변경할 값)

ex) select empno, name, sal, comm, sal + nvl(comm, 0) from emp;

 

-- nvl2() 함수 : 자바에서의 3항연산자와 비슷한 함수
-- 형식) nvl2(컬럼명, exprl, expr2)
--         ==> 컬럼명의 값이 null이 아닌 경우 exprl 값을 반환
--         ==> 컬럼명의 값이 null인 경우 expr2 값을 반환

ex) select empno, name, sal, comm, sal + nvl2(comm, comm, 0) from emp;

 

-- as 키워드 : 컬럼의 제목(title)의 이름을 변경하는 키워드
--            별칭 또는 별명이라고 함.
--            사용 시에는 컬럼명 바로 뒤에 사용을 함.
--            컬럼명과 별칭 사이에 as 라는 키워드를 넣어주면 됨
--            보통 별칭은 "" 안에 작성을 한다.
--            as라는 키워드를 생략해도 됨

ex) select empno, ename, sal, comm, sal+ nvl(comm, 0) "sal+comm" from emp;

 

/*
    distinct 키워드 : 중복을 제거해 주는 명령어(키워드)
    - 주로 하나의 컬럼에서 중복된 값을 제거하고 보여줄 때 사용함.
    - distinct 키워드는 항상 select 키워드 다음에 기술한다.
    - distinct 키워드 뒤에 나오는 컬럼들은 모두 distinct의 영향을 받는다.
    - distinct 키워드 뒤에 여러개의 컬럼이 기술이 되면 해당 컬럼들은 중복이 되지 않게 나타난다.
*/

ex) select distinct job from emp;

 

-- 예) KING 사원의 연봉은 60000입니다.
-- || : 연결연산자
select ename || '사원의 연봉은' || sal*12 || '입니다' "사원의 연봉" from emp;

 

-- 테이블을 삭제하는 방법
-- 형식) drop table 테이블이름 purge;

 

/*
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    where 조건절
    
    - 모든 데이터를 가져 오는 거시 아니라 사용자가 원하는 데이터만 조회할 경우에 사용된다.
    - where 조건절은 자료를 필터링 할 때 사용되는 키워드.
    - where 조건절은 from 테이블이름 뒤에 기술해야 함.
    형식) selet 컬럼명1, 컬럼명2,... 컬럼명n from 테이블이름 where 조건식;
    
    조건식에 들어가는 내용
    1. = : 조건이 같은지 여부 확인.
    2. < : 조건이 작은지 여부 확인
    3. <= : 조건이 작거나 같은지 여부 확인
    4. > : 조건이 큰지 여부 확인
    5. >= : 조건이 크거나 같은지 여부 확인
    6. != : 조건이 같지 않은지 여부 확인
    7. <> : 조건이 같지 않은지 여부 확인 ==> != 과 같은 의미
    8. between A and B : A와 B사이에 있는지 여부 확인
    9. in(list) : list 값 중에 어느 하나와 일치하는지 여부 확인
    10. not between A and B : A와 B 사이에 있지 않은지 여부 확인
        ==> A, B 값을 포함하지 않음.
    11. not in(list) : list 값과 일치하지 않는지 여부 확인
*/

😀데이터는 대/소문자 구분해야 함 

댓글