SQL 8일차

김강산·2022년 6월 13일

orcle SQL

목록 보기
5/25
post-thumbnail

SQL(Structed Query Language) : 구조화된 질의 언어

  • ISO(Inernational Standard Organization)에서 지정한
    비절차적(<->절차적 ex) PL/SQL)인 관계형 데이터베이스(RDB)의 표준 언어
  • 세미콜론 (;)으로 끝남
  • 여러 줄로 입력 가능
  • 가장 최근에 실행한 SQL 버퍼에 남아 있음
  1. DDL(Data definition Language)
    : 데이터 정의어 (DB 구조 또는 스키마 정의)
    1) CREATE (개체-테이블/뷰.. 생성), ALTER (개체 변경), DROP (개체 삭제)
    2) RENAME (개체명 병경)
    3
    ) TRUNCATE (개체내의 데이터 삭제)
    4_) COMMENT (데이터 사전에 주석 추가)
  2. DML(Data Manipulation Language)
    :데이터 조작어
    1) INSERT (데이터 입력-C)
    2) UPDATE (데이터 수정-U) 1), 2), 3), 4) 4개를 줄여서 CRUD라고 한다
    3) DELETE (데이터 삭제-D) 게시판
    4) SELECT (데이터 검색-R)
    5) EXPLAIN PLAN (실행 계획문)
    6
    ) LOCK TABLE (테이블, 뷰에 대한 접근의 일시적 잠금)
  3. DCL(Data Control Language)
    :데이터 제어어
    1)GRANT (권한부여)
    2)REVOKE (권한회수)
  4. TCL(Transaction Control Language)
    : 트랜잭션 제어어
    1)COMMIT (트랜잭션 적용)
    2)ROLLBACK (마지막 COMMIT시점으로 회귀)
    3)SAVEPOINT (트랜잭션 임시저장)

트랜잭션 (Transacrion) : 환영대기

게획 => 분석/설계 => 개발 => 디버깅 => 배포 => 유지보수

분석/설계 : 요구사항 개체/관계/속성(ERD, 스키마) (단어, 용어, 자료)사전 ERD
시퀀스 클래스다이어그램 뮤스케이스
개발 : 분석/설계 에서 나온 산출불로
뷰(JSP) 컨트롤러(JAVA) 서비스 DB(ORACLE)
CRUD(게시판) : 오류수정 게시판-페이징-SPRING

<SQL문의 입력 및 실행에 관한 일반적인 사항>
1. 모든SQL문은 세미콜론(;)으로 끝난다.
2. SQL의 명령문은 대소문자를 구분하지 않는다. 데이터는 대소문자를 구분함
3. 하나의 SQL문은 명료하도록 한 줄 또는 여러 줄로 나누어 입력할 수 있음
ex)
SELECT * FROM ALL_USER;

SELECT *
FROM ALL_USER
;
책 P144
테이블 생성(creat)
DDL(Data Definition Language)

테이블명 정의 규칙
1. 하나의 계정 내에서 테이블명은 유일해야 함
2. 영문자로 시작해야 함
3. 영문자, 숫자, 특수문자 중 #_$ 를 사용할 수 있음
4. 30BYTES를 넘을 수 없음
5. 예약어 사용 못함(NOT, NULL, INSERT...)

테이블명(개체), 컬럼명(속성)

영문 대소문자 바꾸기 : ALT + '
실행 : CTRL + ENTER, 플레이버튼 클릭

ex)
CREATE TABLE LPROD
(
LPROD_ID NUMBER(5) NOT NULL, --순번
LPROD_GU CHAR(4) NOT NULL, --상품분류코드
LPROD_NM VARCHAR2(40) NOT NULL, --상품분류명
CONSTRAINT PK_LPROD PRIMARY KEY (LPROD_GU)
);
--테이블에 설명글 달기
COMMENT ON TABLE LPROD IS '상품분류';
--컬럼에 설명글 달기
COMMENT ON TABLE LPROD.LPROD_ID IS '순번';
COMMENT ON TABLE LPROD.LPROD_GU IS '상품분류코드';
COMMENT ON TABLE LPROD.LPROD_NM IS '상품분류명';

ALTER TABLE : 테이블의 구조만 변경, 데이터 내용은 변경안됌

ALTER TABLE <테이블 명>
ADD (새로운컬럼명 TYPE [DEFAULT VALUE], ...) => 컬럼 추가
MODIFY (필드명 TYPE [NOT NULL][DEFAULT VALUE], ...)
=> 컬럼 자료형/크기 변경, NULL을 NOT NULL로, NOT NULL을 NULL로 제약조건 변경
=> 컬럼명을 변경X => RENAME을 써야 함
DROP COLUMN 필드명 => 기존 컬럼, 제약조건 제거

--ADD(추가) CONSTRAINT(제약사항) CHECK_PHONE(이름)
--CHECK : BUYER_NELEXT 컬럼에 데이터가 입력될 때 범위 설정
--REGEXP_LIKE : 정규식
--[0-9] : 0~9사이의 정수
--[0-9][0-9] : 두 자리의 정수
ALTER TABLE BUYER
ADD CONSTRAINT CHECK_PHONE
CHECK(REGEXP_LIKE(BUYER_TELEXT,'[0-9][0-9]'));

ERWIN: file -> new -> logical/physical 로 새로만들고
physical에서 tools -> reverse engineering 클릭해서 logical/physical 상태로 바꾸고
->


상태를 만들고 next

0개의 댓글