728x90
반응형

DDL(Data Define Language, 데이터 정의어)

✔️ CREATE

    👉 SCHEMA, DOMAIN, TABLE, VIEW, INDEX

    👉 CREATE SCHEMA 스키마명 AUTHORIZATION 사용자ID;

    👉 Create domain juso(char(10) default=‘서울’;

    👉 Create view 서울고객(성명, 전화번호) as select 성명, 전화번호 from 고객 where 주소=‘서울시‘;

    👉 Create index 고객번호_idx on 고객(고객번호 desc);

✔️ ALTER

    👉 ALTER TABLE 테이블명 ADD 추가할 속성명 데이터타입;

    👉 ALTER TABLE 테이블명 ALTER 속성명[SET DEFAULT '기본값‘];

    👉 ALTER TABLE 테이블명 DROP 삭제할 속성명;

✔️ DROP

    👉 DROP TABLE 테이블명 [CASCADE | RESTRICT];

 

❓문제 (정답은 더보기 클릭)

<직원> 테이블에 대해 ‘이름’ 속성으로 ‘직원_name’이라는 인덱스를 정의하는 SQL문을 작성하시오.

더보기

CREATE INDEX 직원_name ON 직원(이름);

 


DCL(Data Control Language, 데이터 제어어)

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

✔️ 종류

    👉 GRANT - GRANT SELECT ON 학생 TO 이름;

    👉 REVOKE - REVOKE SELECT ON 학생 FROM 이름;

    👉 COMMIT

    👉 ROLLBACK

    👉 SAVEPOINT

 

❓문제 (정답은 더보기 클릭)

권정열에게 <학생> 테이블에 대한 접근 및 조작에 관한 모든 권한을 부여하는 SQL문을 작성하시오.

 

더보기

GRANT ALL ON '학생' TO '권정열';

 


DML(Data Manipulation Language, 데이터 조작어)

✔️ 저장된 데이터를 관리하는데 사용되는 언어

✔️ DML의 유형

    👉 SELECT

    👉 INSERT

    👉 DELETE

    👉 UPDATE

 

DML 예시

✔️ SELECT [DISTINCT] 속성명

     FROM 테이블명

     WHERE 조건

     ORDER BY 정렬할 속성명 [ASC] 또는 [DESC]

     GROUP BY 그룹화 속성명

     HAVING 그룹조건;

✔️ INSERT INTO 테이블명(속성1, 속성2...) VALUE(데이터1, 데이터2..);

     INSERT INTO 학생(번호, 이름, 학년, 학과) VALUES('010', '정수현‘, 2, ’사이버안보‘);

     INSERT INTO 학생 VALUES ('홍길동','컴퓨터','서울');

✔️ DELETE FROM 테이블명 WHERE 조건;

     DELETE FROM 학생 WHERE 과목='컴퓨터’;

✔️ UPDATE 테이블명 SET 속성명=데이터 WHERE 조건;

     UPDATE 학생 SET 수강과목='컴퓨터‘ WHERE 이름='홍길동’;

 

❓문제 (정답은 더보기 클릭)

다음 <처리 조건>에 부합하는 SQL문을 작성하시오.

1️⃣ 학생 테이블에서 이름이 Scott인 튜플을 삭제하시오.
2️⃣ 문자형은 싱글(작은) 따옴표로 입력하고 문장의 끝에는 세미콜론(;)을 반드시 표기하시오.

 

더보기

DELETE FROM '학생' WHERE 이름 = 'Scott';

 


❓문제 (정답은 더보기 클릭)

관계 데이터베이스의 테이블 수강(학번, 과목명, 중간성적, 기말성적)에서 과목명이 “DB”인 모든 튜플들을 성적에 의해 정렬된 형태로 검색하고자 한다. 정렬 기준은 기말성적의 내림차순이며, 기말성적이 같은 경우 중간성적의 오름차순으로 정렬하고자 한다. 다음 SQL문의 괄호에 적합한 명령을 넣어 완성하시오.

SELECT * FROM 수강 WHERE 과목명 = “DB” ORDER BY ( );

 

더보기

기말성적 DESC, 중간성적 ASC

 


❓문제 (정답은 더보기 클릭)

<결제> 테이블을 이용하여 결제 여부 별 학생 수를 검색하는 SQL문을 작성하시오. 검색 결과는 다음과 같다.

     <검색 결과>
결제 여부 | 학생 수
       미납 | 5
       완납 | 4

 

더보기

SELECT 결제 여부, COUNT(*) AS 학생 수 FROM 결제 GROUP BY 결제 여부;

반응형
복사했습니다!