Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SLASH22
- 딥러닝
- 유데미큐레이션
- 그래프
- 서비스기획부트캠프
- 임베딩
- 추천시스템
- 그로스해킹
- AWS builders
- 취업부트캠프
- 유데미부트캠프
- sql정리
- 사이드프로젝트
- SQL
- 알고리즘
- MatchSum
- 서비스기획
- 부트캠프후기
- 취업부트캠프 5기
- 데이터도서
- NLU
- 유데미코리아
- BERT
- 토스
- AARRR
- 스타터스부트캠프
- 스타터스
- pytorch
- 특성중요도
- NLP
Archives
- Today
- Total
다시 이음
SQL (1) - SQL 기초 본문
안녕하세요.
SQLD 자격증을 준비하면서 정리할 내용들을 정리하려고 합니다.
MySQL 도서를 읽으면서 정리할 내용을 주로 기록할 것입니다.
PART1
DBMS는 데이터 베이스를 관리하는 역할을 하는 소프트웨어를 지칭합니다.
(1)데이터베이스의 특징
- 데이터의 무결성 : 데이터에 오류가 있으면 안됩니다.
-데이터의 독립성 : 변화되는 내용이 있더라도 기존에 작성된 응용프로그램에는 영향을 끼치면 안됩니다.
-보안 : 접근이 허가된 사용자만 접근이 가능해야합니다.
-데이터 중복의 최소화
(2) 요구사항 분석과 시스템 설계 그리고 모델링
- 정보 시스템 구축 절차
분석,설계, 구현, 시험, 유지보수 5가지 단계를 거칩니다.
- 데이터베이스 모델링과 필수 용어
- 데이터 : 하나하나의 단편적인 정보
- 테이블 : 데이터를 표 형태로 표현한 것
- 데이터베이스 : 테이블이 저장되는 저장소
- 데이터 형식
- Primary Key(기본키) : 각 행을 구분하는 유일한 열(중복 x, 비어있어도 x)
- 외래키(Foreign Key) : 두 테이블의 관계를 맺어주는 키
- 데이터베이스 구축 절차
데이터베이스 생성 - 테이블 생성 - 데이터 입력 - 데이토 조회/활용
- 테이블 외의 데이터베이스 개체
- 인덱스 : 테이블의 열 단위에 해당
- 뷰 : 가상의 테이블. 진짜 테이블에 링크된 개념으로 조회만 가능한 테이블
- 스토어드 프로시저 : MySQL에서 제공해주는 프로그래밍 기능(함수와 같이 정의)
- 데이터베이스의 백업과 복원
- Data Export : 데이터 백업
- Data Import,Restore : 데이터 복원
Part 2 SQL 기본
- 데이터베이스 모델링
- 데이터 중복이 있는지
- 데이터가 없는 부분이 있는지
- 부모테이블, 자식 테이블
- SQL 기본
- SELECT 구문 : 테이블에서 정보 추출 [ SELECT 열 이름 FROM 테이블이름 WHERE 조건 ]
- USE 구문 : 데이터베이스 지정 [ USE 데이터베이스_이름]
- WHERE 구문 : 조건문 필드
-BETWEEN : WHERE height BETWEEN 180 AND 183
-관계연산자 : WHERE height >= 180 AND height <= 183
-OR : WHERE addr = '서울' OR addr = '경기'
-IN : WHERE addr IN ('서울','경기','충청')
-LIKE : WHERE name LIKE '김%' OR name LIKE '_종신' - 서브쿼리 : WHERE 구문에 조건을 쿼리로 입력하는 경우
-ANY(SOME) : 조건이 여러 개 나왔을 때 그중 하나만 달성해도 출력
-ALL : 여러가지 조건 모두 달성하는 값 출력 - ORDER BY : 순서 정렬
-DESC : 내림차순
-ASC : 오름차순 - DISTINCT : 중복값 제외
- LIMIT : 출력 개수를 제한
- 테이블 복사하기 : CREATE TABLE 새로운 테이블 (SELECT 복사할 열 FROM 기존 테이블)
- GROUP BY : 그룹화
- HAVING : WHERE과 같은 개념으로 조건을 제한하지만 집계함수에 대해서 제한하는것 (GROUP BY 다음에 나와야함)
- ROLL UP : 총합 또는 중간 합계가 필요할 때
-SQL의 분류
- DML(Data Manipulation Language) : 데이터를 조작(선택, 삽입, 수정, 삭제) 사용되는 언어
SQL문 중에 SELECT, INSERT, UPDATE, DELETE 해당(트랜잭션이 발생하는 SQL) - DDL(Data Definition Language) : 데이터 베이스, 테이블, 뷰, 인덱스 등의 데이터베이스 개체를 생성/삭제/변경하는 역할
SQL문 중에 CREATE, DROP, ALTER 등이 해당(트랜잭션이 발생하지 않음) - DCL(Data Control Language) : 사용자에게 권한을 부여하거나 빼앗을 때 주로 사용되는 언어
SQL문 중에 GRANT, REVOKE, DENY 등이 해당
- 데이터의 변경을 위한 SQL문
- INSERT문 : 데이터를 삽입하는 명령어
AUTO_INCREMENT : 1부터 자동으로 증가하는 고유번호를 입력할때 - UPDATE문 : 기존에 입력된 값 변경하는 명령어
[UPDATE 테이블이름 SET 열이름 = 값 WHERE 조건] - DELETE FROM 문 : 행단위로 삭제
- TRUNCATE 문 : 트랜잭션 로그를 기록하지 않고 DELETE
- WITH 문 : 객체지향문법과 같이 생성한 쿼리를 함수와 같이 정의하고 그뒤에 중첩되는 쿼리문에 있어 간결함을 유지
[WITH abc( userid, total )
AS
(SELECT userid, SUM(price*amout) FROM buytbl GROUP BY userid)
SELECT * FROM abc ORDER BY total DESC;]
'채우기 > SQLD 준비' 카테고리의 다른 글
SQL (3) - 인덱스와 스토어드 프로그램 (0) | 2022.05.10 |
---|---|
SQL (2) - 데이터 형식과 조인 (0) | 2022.05.03 |