공삼
article thumbnail

1. 8장 SQL(DB문제)

 

1.1. DDL(Data Define Language)

→ DB를 구축하거나 수정할 목적으로 사용하는 언어

<code />
CREATE TABLE 테이블명 ... [,PRIMARY KEY(기본키_속성명)] [,UNIQUE(대체키_속성명)] [,FOREIGN KEY(외래키)속성명 REFERENCES 참조테이블] [ON DELETE, ON UPDATE] [,CONSTRAINT 제약조건명 ][**CHECK (조건식)IN**]

CHECK .. IN. …

<code />
CREATE SCHEMA AUTHORIZATION CREATE DOMAIN SEX CHAR(1) DEFAULT ‘남’ CONSTRAINT VALID-SEX CHECK(VALUE IN (’남’, ‘여’)); CREATE TABLE //테이블의 속성을 참고하여 인덱스 만들기 CREATE INDEX 'idx_name' ON STUDENT (name); //

1.2. DML(Data ManipulationLanguage)

→ 저장된 데이터를 실질적으로 관리하는데 사용하는 언어.

  • INSERT .. INTO .. VALUES
  • DELETE FROM … [WHERE …]
  • UPDATE .. SET .. [WHERE …]
<code />
Select * From Table Where 조건 And , Or , Between A and B Group by 컬럼 AVG, SUM, MIN, MAX, COUNT (그룹 바이에 조건을 주려면 해빙) Having Order by 컬럼 ASC, DESC

UNION - 중복된 행은 한번만 출력함.

UNION ALL - 중복된 행 모두 출력


1.3. DCL (Data Control Language)

→ 데이터의 보안, 무결성, 회복, 병행제어 등을 정의하는데 사용하는 언어

<code />
GRANT ALL ON 사용자 TO 이정민 WITH GRANT OPTION ------------- REVOKE GRANT OPTION FOR UPDATE ON 사용자 FROM 이정민

1.3.1. 프로시저

→ 일련의 작업을 저장해두고 호출해가면서 사용하는 절차형 SQL

<code />
DECLARE (필수) BEGIN (필수) -CONTROL -SQL -EXCEPTION -TRANSACTION END (필수)

1.3.2. 트리거

→ 삽입, 삭제, 갱신등 이벤트가 발생할때 관련 작업이 자동으로 실행되게하는 절차형 SQL

<code />
DECLARE (필수) EVENT (필수) BEGIN (필수) -CONTROL -SQL -EXCEPTION END (필수)

1.3.3. 커서(Cursor)

→ 쿼리문의 처리 결과가 저장되어 있는 메모리 공간을 가리키는 포인터

  • 묵시적 커서
  • 명시적 커서
    • 선언 형식
    • 열기 형식
    • 패치 형식
    • 닫기 형식

1.4. DBMS 접속

JDBC  JAVA언어로 접속하는 API
ODBC 개발언어 관계없이 데이터베이스에 접근하기 위한 표준 개방형 API
MyBatis JDBC 코드를 단순화 하여 사용. 오픈 소스 접속 프레임워크.

 

profile

공삼

@g_three

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!