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 |