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