728x90
반응형
Database - MySQL 기초 2 (https://opentutorials.org/course/195/1467)
생성
데이터베이스와 테이블을 만드는 행위
CREATE DATABASE [database name];
CREATE DATABASE [database name] CHARACTER SET utf8 COLLATE utf8_general_ci;
데이터베이스 목록 보기
SHOW DATABASES;
데이터베이스 삭제
DROP DATABASE [database name];
데이터베이스 사용
USE [database name]
Table
- 데이터가 실질적으로 저장되는 저장소
File과 유사한 역할, DB는 File을 Grouping해주는 것
스키마 : Schema
- 테이블에 적재될 데이터의 구조와 형식을 정의하는 것
- 테이블에 어떤 형식의 데이터가 들어가고 저장될 것인지를 사전에 정의해야함. 정의된 내용에 따라 데이터를 정의
- 엑셀의 '셀 형식', 일종의 데이터 설계도
- 설계와 다른 데이터를 삽입하면 오류가 발생
테이블 생성 예시
- data_type에는 들어갈 데이터에 맞추어 설정해준다.
데이터타입 참고 : https://opentutorials.org/course/195/1537
CREATE TABLE table_name (column_name1 data_type,column_name2 data_type);CHAR
,VARCHAR
와NVARCHAR
의 차이문자형 데이터를 삽입하기 위해서는 위 세개 중 하나를 선택하여 데이터 타입을 지정하게 된다. 그렇다면 이 세 개의 차이는 무엇일까? 크게는 두개로 나눌 수 있다.
가변형/고정형
CHAR
은 고정형,VARCHAR
,NVARCHAR
는 가변형 데이터 타입이다.- 예시로
CHAR(10)
으로 지정하게 되면 해당 record는 10byte까지 데이터를 삽입할 수 있는데 만일 3byte 데이터를 입력했다고 해도 남은 7byte는 공백 데이터가 들어가 데이터 크기가 낭비되고 데이터를 가져올 때에 공백을 제거하기 위해trim()
메서드를 사용하는 작업이 추가된다. VARCHAR
와NVARCHAR
는 최대 10byte의 크기를 갖지만 가변형으로 3byte를 입력하게 되면 나머지 7byte는 조정이 되어 할당된 byte만 적용되게 된다.
유니코드 문자
- 일반 문자는 1byte가 하나의 문자를, 유니코드 문자은 2byte가 하나의 문자를 표현한다.
- 한국어, 중국어 등 유니코드 형식의 데이터는 일반 문자에 비해 2배의 공간을 사용한다.
VARCHAR
로 지정하고 유니코드 문자를 넣게되면 2배 공간을 사용해 데이터 공간이 부족하게 된다. 그래서NVARCHAR
로 데이터 타입을 지정한다.
테이블 스키마 보기
DESC [database name]
봐두어야 할 문법
LIMIT
- ex1)
SELECT * FROM student LIMIT 1;
- ex2)
SELECT * FROM student LIMIT 3,1;
- 3 : offset, 3번째 데이터를 offset이라 함 (DB에서는 row가 0부터 시작)
- 1 : row counter, 몇개의 행을 가져올 것인지
- ex2에서 3, 1이라고 한다면 3번째 데이터부터 1개 행을 가져온다. 라고 볼 수 있다.
- 이 문법을 쓰는 이유? 스터디할 때 10여개 정도의 데이터는 를 이용해 다 가져와도 시스템에 전혀 무리가 없다. 하지만 실제 업무에서 사용하는 Database에는 몇백만, 몇천만 그 이상의 데이터가 존재하게 되는데 로 모든 데이터를 가져오려고 하게 되면 시스템에 무리가 오게 된다.
- 이때
LIMIT
문구를 사용, 전체 데이터가 아닌 일부 데이터를 가져올 수 있게 처리하는 것이 좋다.
- ex1)
Group By
: 특정 칼럼을 기준으로 데이터를 그룹핑함- ex1)
SELECT sex FROM student GROUP BY sex;
- 데이터 중에 성이 어떠한 성이 있는지 보고싶을 때 위와 같은 구문으로 추출할 수 있다.
- ex2)
SELECT sex, SUM(distance), AVG(distance) FROM student GROUP BY sex;
- 여러 개의 데이터에서 sex로 그룹핑한 데이터의 sex와 distance의 합, 평균을 볼 수 있는 구문이다.
- ex1)
Order By
: 지정된 칼럼을 기준으로 데이터 정렬DESC
: 오름차순,ASC
: 내림차순
반응형
'Programming > DB' 카테고리의 다른 글
[DB/MySQL] Database - MySQL 기초 (index) (0) | 2018.08.10 |
---|---|
[DB/MySQL] Database - MySQL 기초 (0) | 2018.08.09 |
[DB/Docker/MSSQL] Docker + MSSQL 개발하기 (0) | 2018.08.09 |
[DB/MySQL] mysql charset 변경하기 (alter table character set) (0) | 2016.10.02 |
[DB tools/Toad] Toad database connection not available 오류 해결법 (서버 외부포트 여는 방법) (0) | 2016.09.26 |