다음달에 있을 SQLD 시험 준비 겸 MySQL 책을 본격적으로 시작했다.
데이터형 | 데이터 |
---|---|
INT | 정수(4바이트) |
BIGINT | 정수(8바이트) |
TINYINT | 정수(-128~127,1바이트) |
CHAR(문자 수) | 고정형문자열(~255) |
VARCHAR(문자 수) | 가변형문자열(1~65535) |
TEXT | 가변형문자열 |
DOUBLE | 실수 |
FLOAT | 실수 |
DECIMAL(전체 자릿수, 소수점 이하 자릿수) | 수치 |
DATE | 날짜 |
TIME | 시각 |
DATETIME | 일시 |
TIMESTAMP | 일시 |
BOOLEAN | 논리값 |
CHAR는 고정형. CHAR(16)일시 어떤 데이터가 들어가든 16바이트의 공간을 고정적으로 차지한다.
VARCHAR는 가변형. 255이하면 1바이트, 255초과시 2바이트의 추가 공간을 사용하고, 정해진 크기 이하의 문자열 데이터를 저장할 수 있다. 인덱싱과 검색에 효과적이다.
TEXT는 일반적으로 최대 길이 제한이 없어 긴 텍스트를 저장할 때 사용한다.
알파벳은 한 글자당 1바이트. 한글은 UTF-8의 경우 3바이트, UTF-16은 2바이트로 인코딩 방식에 따라 다르다.
DECIMAL은 고정 소수점 유형으로 (정밀도,스케일)로 표현된다. 최대 65자리까지 표현한다.
DATE는 3바이트로 1000-01-01 ~ 9999-12-31로 날짜를 표현한다.
TIME은 3바이트로 -838:59:59 ~ 838:59:59까지의 시간을 표현한다.
DATETIME은 8바이트로 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59까지의 날짜와 시간을 나타낸다.
TIMESTAMP는 4바이트로 1970-01-01 00:00:00 ~ 2037-01-19 03:14:07까지 날짜와 시간을 표현한다. INSERT와 UPDATE연산에 유리하다.
DB - DataBase
구조화된 방식으로 데이터를 저장, 관리, 및 검색하기 위한 컴퓨터 기반의 시스템 또는 소프트웨어.
효율적인 데이터 저장과 접근을 제공하며, 데이터의 일관성, 무결성 및 보안을 유지할 수 있도록 한다.
DBMS - DataBase Management System
데이터베이스를 만들고 관리하는 소프트웨어.
DBMS는 데이터의 추가, 수정, 삭제 및 검색을 지원하며 데이터베이스의 구조, 무결성 규칙, 보안 등을 관리한다.
이를 통해 사용자는 데이터에 쉽게 액세스하고 조작할 수 있으며, 여러 사용자가 동시에 데이터를 공유하고 작업할 수 있도록한다.
RDB - Relational DataBase
관계형 데이터베이스. 행(레코드)과 열(컬럼)으로 구성된 테이블을 데이터로 다룬다.
테이블 안의 1개의 요소를 필드라 부른다.
RDB를 관리하는 DBMS를 RDBMS라 한다.
SQL - Structured Query Language
DB 조작이나 정의를 시행하기 위한 언어.
데이터를 가져오는 구문. '무엇'을 '어디'에서 가져올지 지정한다.
SELECT 컬럼명 FROM 테이블명;
SELECT product_id, product_name FROM product;
SELECT 무엇 FROM 어디; 의 형태로 사용한다.
컬럼명은 중복해서 작성하면 중복해서 가져오며, 적은 순서대로 정렬해 보여준다.
ex) SELECT *, product_id FROM product; 를 사용하면 모든 컬럼과 마지막에 product_id를 또 가져온다.
*
: 애스터리스크
라 한다. 컬럼명 대신 사용하면 모든 컬럼을 가져온다.
한 개의 SQL문 마지막에는 반드시 ;를 붙인다. 툴을 사용할 경우 자동으로 붙여주기도 한다.
예약어
: SELECT나 FROM, AS와 같은 정해진 역할을 하는 특별한 기능을 가진 단어. 테이블 명이나 컬럼 명으로 사용할 수 없다. 가독성 및 구분을 위해 대문자로 적는 것이 보통이지만 소문자로 적어도 인식은 된다.
예약어의 앞뒤는 공백이 반드시 필요하나 컬럼명끼리의 쉼표 사이는 공백이 있어도 없어도 상관없다.
그리고 공백은 줄바꿈으로 대체가 가능해 가독성 좋은대로 작성하면 된다.
AS
(에일리어스)
테이블 명이나 컬럼명 뒤에 붙여 해당 테이블 or 컬럼의 별명을 부여할 수 있다.
SELECT
product_id AS 상품ID,
product_name AS 상품명
FROM
product;