티스토리 뷰

코딩/SQL

SQL 용어 정리 (1)

ehzim 2024. 1. 7. 21:17

 

 

1장

 

데이터베이스 (Database, DB)

데이터의 집합, 데이터의 저장소

 

 

데이터베이스 관리 시스템(Database Management System, DBMS)

대량의 데이터베이스를 효율적으로 관리하고 운영하기 위한 시스템 또는 소프트웨어

대표적으로 MySQL, 오라클(Oracle), SQL 서버(Server), MariaDB 등이 있다.

 

 

관계형 데이터베이스 관리 시스템 (Relational DtaBase Management System, RDBMS)

테이블이라는 최소 단위로 이루어진 관계형 DBMS

 

 

구조화 질의어 (Structured Query Language, SQL)

RDBMS에서 데이터를 구축, 관리하고 활용하기 위해 사용되는 언어, 대부분의 DBMS 회사에서는 국제 표준화기구에서 지정한 표준 SQL을 준수한다.

 

 

MySQL

오라클  사에서 제공하는 데이터베이스 관리 소프트웨어, 대용량의 데이터를 관리하고 운영하는 기능을 제공한다.

 

 

root

MySQL의 모든 궈한이 있는 관리자 이름, MySQL을 설치할 떄 기본적으로 생성된다.

 

 

MySQL Workbench

MySQL 서버에 접속해 SQL 문을 입력/실행할 수 있도록 돕는 클라이언트 도구

 

 

 

 

 

 

2장

 

 

프로젝트

현실 세계의 업무를 컴퓨터 시스템으로 옮겨 놓는 일련의 과정

 

 

데이터베이스 모델링 (database modeling)

데이터베이스 구축 전 테이블의 구조를 미리 설계하는 과정, 폭포수 모델의 업무 분석과 시스템 설계 단계에 해당한다.

 

 

 

폭포수 모델 (waterfall model)

소프트웨어 개발 절차 중 하나로, 위에서 아래로 폭포가 떨어지듯 개발 단계가 진행되기 때문에 붙여진 이름이다.

프로젝트 계획 → 업무 분석  → 시스템 설계  → 프로그램 구현  → 테스트  → 유지보수

 

 

데이터 형식 (data type)

테이블의 열에 저장될 데이터의 형식, 문자형(char), 정수형(int), 날짜형(date) 등이 있다.

 

 

열 (column)

테이블의 세로, 테이블은 여러 개의 열로 구성되며, 각 열을 구분하기 위해 열 이름을 사용한다.

 

 

행 (row)

테이블의 가로, 실질적인 데이터(행 데이터)를 의미한다.

 

 

스키마 (schema)

MySQL 안에 들어 있는 데이터베이스

 

 

예약어

기존에 약속된 SQL, select, from, where 등이 있다. 쿼리 창에서 입력하면 자동으로 파란색으로 표시된다.

 

 

널 (null)

비어 있는 값, 공백과는 다르므로 유의해야한다.

 

 

널 허용 안함 (not null, nn)

빈 값을 허용하지 않는다는 뜻으로 반드시 입력해야 하는 값

 

 

 

 

 

3장

 

 

 

use

사용할 데이터베이스를 선택하는 구문이다.

한번 지정하면 계속 유지된다.

MySQL 워크벤치를 재시작하거나 쿼리 창을 새로 열면 다시 use를 실행해야한다.

 

 

 

select ~ from ~ where

가장 기본적인 SQL문이다.

select 다음에는 컬럼명, from 다음에는 테이블명, where 다음에는 다양한 조건식이 작성된다.

 

 

 

관계 연산자 (relation operator)

where 절에서 숫자로 표현된 데이터 범위의 크다/작다/같다 등을 지정하는 기호로 >, <, =, <=,>= 등이 있다.

 

 

 

논리 연산자 (logical operation)

where 절에서 2가지 이상의 조건을 지정할 떄 사용한다.

and, or 등으로 참/거짓을 판별한다.

 

 

 

like

문자열의 일부 글자를 검색할 떄 사용한다.

자릿수 모두를 허용할 때는 %를, 하나로 지정할 때는 _(언더 바)를 사용한다.

 

 

 

order by

결과가 출력되는 순서를 조절한다.

오름차순인 asc와 내림차순인 desc 중 선택하여 사용할 수 있다.

 

 

 

limit

출력하는 개수를 제한하며 주로 order by와 함께 사용한다.

 

 

 

distinct

조회된 결과에서 중복된 데이터를 1개만 남긴다.

distinct는 컬럼 이름 앞에 붙여 사용된다.

 

 

 

group by

데이터를 그룹으로 묶어주는 기능을 한다. 주로 집계 함수와 함께 사용되며 where과 함께 사용할 수 없다.

 

 

 

별칭 (alias)

select문에서 실제 컬럼명 대신 출력되도록 설정하는 문자

 

 

 

집계 함수 (aggregate function)

데이터를 그룹화(grouping)해주는 기능을 한다.

주로 group by와 함꼐 사용한다.

함수명 설명
sum() 합계를 구한다.
avg() 평균을 구한다.
min() 최소값을 구한다.
max() 최대값을 구한다.
count() 행의 개수를 센다.
count(distinct) 행의 개수를 센다 (중복은 제거 (1개만 인정))

 

 

 

 

having

집계 함수와 관련된 조건을 제한한다. (where과 group by는 함께 못쓰니까 그 역할을 해줌)

반드시 group by 절 다음에 나와야 한다.

 

 

 

insert

테이블에 데이터를 입력(삽입)하는 기본적인 SQL 문

 

 

 

auto_increment

열(컬럼)을 정의할 떄 1부터 증가하는 값을 자동으로 입력해준다.(insert 시 null값으로 삽입되어야함)

해당 열은 반드시 primary key로 지정되어야 한다.

 

 

 

insert into ~ select

다른 테이블의 데이터를 가져와 한번에 입력한다.

단, select 문의 열 개수는 insert를 할 테이블의 열 개수와 같아야 한다.

 

 

 

 

update

기존에 입력되어 있는 값을 수정하는 명령어이다.

주로 where 절과 함께 사용한다. (where절 없으면 전부 값을 바꿔버림)

where 절을 생략하면 테이블의 모든 행의 값이 변경되므로 주의해야한다.

 

 

 

 

delete

행 단위로 데이터를 삭제한다.

where 절을 생략하면 전체 행 데이터가 삭제되므로 주의해야 한다.

테이블 삭제
delete : 행 단위로 삭제하고 테이블의 형태는 유지한다. 데이터 양이 많을 경우 시간이 오래 걸릴 수 있다.
drop : 테이블 자체를 삭제한다.
truncate : where 문을 사용할 수 없어 조건 없이 전체 행을 삭제하고 빈 테이블은 남긴다. (delete와 비슷함)
대량의 행 데이터를 모두 삭제할 때는 truncate가 빠르므로 delete보다 효율적이다.

'코딩 > SQL' 카테고리의 다른 글

[SQL - SELECT] 2  (0) 2024.04.29
date_format  (0) 2024.04.04
[13주 5일차] 스토어드 프로시저  (1) 2024.01.05
[13주 5일차] 인덱스  (0) 2024.01.05
[13주 4일차] 테이블과 뷰  (2) 2024.01.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday