본문 바로가기

SQL10

[MySQL] 문자열 타입 숫자 타입에 이어서 MySQL의 문자열 타입에 대해 알아보겠습니다. MySQL의 문자열 타입은 단순히 문자열만을 저장하는 역할 외에도 이미지나 동영상 등의 바이너리 파일도 저장이 가능한 타입입니다. 1. CHAR, VARCHAR CHAR, VARCHAR는 가장 기본적인 문자열 타입입니다. 두 타입은 텍스트 문자열을 저장하고, 컬럼의 크기가 제한되어있습니다. 그렇다면 두 타입의 차이는 무엇일까요. CHAR는 고정 길이를, VARCHAR는 가변 길이 문자열을 저장합니다. CHAR의 문자열이 지정한 크기보다 작으면 나머지 공간을 자동으로 채워주고 VARCHAR는 그렇지 않습니다. 무엇이 더 뛰어나다고는 할 수 없으므로 상황에 맞게 두 타입을 이용해야합니다. 예를 들어 학생부 데이터베이스에서 학번은 보통 8자리.. 2022. 1. 25.
[MySQL] 숫자 타입 데이터들엔 타입이 존재합니다. 학번 데이터라면 정수를, 이름 데이터라면 문자열을 저장하듯이 SQL에서도 타입이 존재합니다. 오늘 포스트에서는 여러 타입 중 숫자와 관련한 타입들을 알아보도록 하겠습니다. 모든 숫자 타입은 UNSIGNED 옵션을 사용할 수 있습니다. UNSIGNED 옵션을 사용하면 0과 양수만을 표현하게 됩니다. 타입(크기) 1. 정수 우선 가장 기본적인 숫자라고 할 수 있는 정수 타입에 대해 알아보겠습니다. 타입명 크기 값의 범위 값의 범위 (unsigned) TINYINT 1 byte -(2^7) ~ 2^7 - 1 0 ~ 2^8 - 1 SMALLINT 2 byte -(2^15) ~ 2^15 0 ~ 2^16 - 1 MEDIUMINT 3 byte -(2^23) ~ 2^23 0 ~ 2^24 .. 2022. 1. 24.
[MySQL] 데이터 제어문 DCL MySQL의 세 명령 구분 중 마지막인 데이터 제어문입니다. 데이터 제어문은 주로 데이터베이스에 대한 권한을 다루는 명령입니다. 1. CREATE USER 우리는 처음 MySQL을 설치할 때 설치과정에서 관리자 계정(root)을 만들고 사용했습니다. 우리가 혼자서 사용할 땐 문제되지 않지만, 실제 상황에선 관리자 용 하나를 쓰기보단 여러 계정을 들고 각자 관리하게 됩니다. 새로운 데이터베이스 계정을 생성하기 위해서는 CREATE USER 명령을 사용합니다. 이 명령은 모든 계정에서 가능한 것은 아니고 권한이 필요한데 보통 유저 생성은 root계정으로 생성합니다. CREATE USER 명령은 다음과 같이 사용합니다. 이 명령의 주의점은 MySQL에서는 사용자 계정이 mysql이라는 데이터베이스의 user .. 2022. 1. 23.
[MySQL] 주석 1. MySQL 주석 다른 프로그래밍 언어, 혹은 명령어들 처럼 MySQL에도 주석이 존재합니다. MySQL에서 주석을 작성하는 방법은 총 3가지가 있습니다. 첫 번째 방법은 #입니다. #으로는 한 줄 짜리 주석을 작성하는데 사용할 수 있습니다. #한 줄 주석 두 번째 방법은 하이픈 두 개(--) 입니다. 역시 마찬가지로 한 줄 주석을 작성하는데 사용합니다. 이 방법의 주의점은 하이픈 두 개를 쓰고 반드시 한 칸을 띄워야 주석으로 해석된다는 점 입니다. -- 한 줄 주석 마지막 세 번째 방법은 /* */입니다. 이 방법은 여러줄의 주석을 작성하는데 사용됩니다. /* 여러 줄 주석 */ 2022. 1. 23.
[MySQL] 데이터 조작문 DML - UNION, SUB QUERY 데이터 조작문의 마지막 포스트입니다. 마지막으로 다룰 데이터 조작문 명령은 UNION과 SUB QUERY입니다. 테이블은 지난번 포스트와 동일한 두 개의 테이블을 이용하겠습니다. 1. UNION UNION 명령은 여러 테이블의 SELECT 명령 결과를 하나의 테이블로 표현할 때 이용합니다. 유니온을 사용할 땐 몇 가지 규칙이 있는데 다음과 같습니다. SELECT 구문의 순서는 상관하지 않는다. 각 SELECT 구문은 표현식이 같아야한다.(컬럼 수 등이 일치) 중복된 결과는 하나만 표시한다. ORDER BY 구문은 한 번만 사용한다. 컬럼타입은 반환 가능한 타입만 이용한다. UNION 구문은 다음과 같이 사용합니다. SELECT 구문 UNION SELECT 구문; (계속해서 가능) 본 예제와 같이 UNIO.. 2022. 1. 23.
[MySQL] 데이터 조작문 DML - JOIN 1. JOIN 소개 JOIN은 여러 테이블 내에서 조건에 맞는 레코드들을 모아 테이블의 형태처럼 만들어 보여주는 것입니다. 보통 JOIN 구문은 SELECT명령과 함께 조합되어서 이용됩니다. 또한 JOIN을 위해서 테이블에 외래키가 존재해야합니다. 실습을 위해서 다음과 같은 (교수-학생)테이블을 만들었습니다. 두 테이블의 Primary Key는 모두 id로 이 id 컬럼이 외래키가 됩니다. JOIN 구문은 여러 종류가 있는데 크게 4가지를 알아보겠습니다. 2. INNER JOIN INNER JOIN은 가장 기본적인 JOIN의 형태입니다. 그래서 MySQL에서는 INNER JOIN을 JOIN으로 축약해서 사용하도록 만들어져 있습니다. INNER JOIN의 동작은 조건에 만족하는 데이터만을 가져오는 동작을 .. 2022. 1. 21.
300x250