본문 바로가기
정리/sql

SQL) 강의 보고 정리 1

by 멘멘 2020. 11. 22.

구름 강의 보고 복습용으로 작성해보았다. 쓸데없는 사담이 군데군데 들어가긴 하지만 모르는 체 하는걸로(*^^*..)

 

SQL : Structed Query Langauge (구조적 질의 언어) 의 줄임말, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어

 

문법의 종류

-DDL(Data Definition Language, 데이터 정의 언어)

 각 릴레이션을 정의하기 위해 사용하는 언어(CREATE, ALTER, DROP)

-DML(Data Manipulation Langauge, 데이터 조작 언어)

 데이터를 추가/수정/삭제하기 위한 데이터 관리를 위한 언어(SELECT, INSERT, UPDATE)

-DCL(Data Control Langauge, 데이터 제어 언어)

 사용자 관리 및 사용자별 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어(GRANT, REVOKE)

 

DML은 연구팀에서 써봤다! 무슨 구문인지 이해가 안 갔었는데 데이터 관리하려고 사용한 거였구나...

 

 

언어적 특성

1. 대소문자를 가리지 않음 (서버환경이나 DBMS 종류에 따라 구분하기도 함)

2. ;으로 끝나야함

3. 고유값은 ' '으로 감싸기

 예) SELECT * FROM EMP WHERE NAME = 'James';

4. 객체를 나타낼 땐 백틱(` `)으로 감싸기

 예) SELECT  `COST`, `TYPE` FROM `INVOICE`;

5. 주석은 문장 앞 -- 작성

 예) -- SELECT * FROM EMP;

6. 여러 줄 주석은 /* */

 

;으로 끝나는 거나 여러 줄 주석 같이 몇 개는 C언어랑 비슷한 것 같기도..?

 

대충 쿼리 예제를 작성하기 위해 급조한 표. 

이름은 SCHOOL 테이블이라고 하자(이렇게 하는게 맞나?)

NAME CLASS JOB AGE TEACHER REGDATE
김뫄뫄 1반 학생 17 최와와 2020-11-19 12:34:56
박솨솨 2반 학생 17 이봐봐 2020-11-20
12:35:56
이봐봐 2반 선생님 30 (Null) 2020-11-20
14:20:20

이름이 '김뫄뫄'인 사람 찾기

-> SELECT * FROM SCHOOL WHERE NAME = '김뫄뫄';

 

'1반'인 친구 모두 찾기

-> SELECT * FROM SCHOOL WHERE CLASS = '1반';

 

이름이 '박'으로 시작하는 직원을 모두 찾기

-> SELECT * FROM SCHOOL WHERE NAME LIKE '박%';

 

나이가 17세 이상 19세 이하인 사람 찾기

-> SELECT * FROM STUDENT WHERE AGE BETWEEN 17 AND 19;

 

이름 가나다 순 정리

-> SELECT * FROM STUDENT ORDER BY NAME ASC;

(정렬은 ORDER BY 사용)

 

직업별 평균 나이 산출

-> SELECT `JOB`, AVG(AGE) AS `AVERAGE_AGE` FROM SCHOOL GROUP BY `JOB`;

 

김뫄뫄의 선생님 최와와씨의 정보가 없으므로, 최와와씨의 정보를 새로 추가해보자.

이름 최와와
1반
직업 선생님
나이 33
담임선생님 해당 없음
등록일시 2020년 11월 21일 03시 54분 00초

->INSERT INTO SCHOOL(NAME, CLASS, JOB, AGE, TEACHER, REGDATE) VALUES ('최와와','1반','선생님',33,NULL,'2020-11-21 03:54:00');

(새로운 값 추가는 INSERT)

 

박솨솨가 전학 갔다. 박솨솨 데이터를 삭제하자..

->DELETE FROM STUDENT WHERE NAME = '박솨솨';

'정리 > sql' 카테고리의 다른 글

[mySQL] mysql 총 정리  (0) 2023.10.08

댓글