- MySQL 은 관계형 데이터 베이스, 관계형 데이터 베이스를 이용하면 데이터를 표 형태로 정리 정돈할 수 있고 정렬, 검색과 같은 작업을 빠르고 편리하고 안전하게 할 수 있음
- MySQL 은 무료, 오픈소스 데이터 베이스 시스템
- MySQL은 web과 함께 폭발적으로 성장
1. 데이터 베이스의 목적
- MySQL과 같은 관계형 데이터베이스의 중요한 특징은 데이터를 표의 형태로 표현해 주고 스프레드 시트와 기능이 거의 비슷함
- 데이터 베이스와 스프레드 시트의 큰 차이점은 스프레드 시트는 클릭을 통해 데이터를 조작하고 데이터베이스는 코딩, SQL 이라고 하는 컴퓨터 언어를 통해 제어할 수 있다는 점
- 데이터 베이스를 구축하면 데이터베이스에 저장된 데이터를 web, 앱을 통해 사람들에게 공유하거나 인공지능을 통해 데이터 분석을 할 수 있음
- web과 데이터 베이스의 기술을 결합하면 데이터베이스에 있는 정보를 누구나 웹 사이트에 접속하여 볼 수 있음
- 누구나 웹 사이트에 글을 쓰면 직접 데이터 베이스를 제어하지 않아도 그 결과물이 데이터 베이스에 저장되고 있는 것
2. MySQL 구조
- 데이터를 기록하는 최종적인 곳은 표(table), 모든 정보는 표에 저장됨
- schema(=database) : 서로 연관된 표들을 grouping 한 일종의 폴더
- database server : 여러 개의 schema들이 저장되는 곳
- MySQL은 database server 프로그램 중 하나
3. MySQL 서버 접속
- 데이터 베이스는 자체적인 보안 체제를 가지고 있기 때문에 안전하게 데이터를 보관할 수 있다는 장점이 있음
- 또한 권한 기능이 있어 데이터 베이스에 여러 사람을 등록할 수 있음
- mysql -uroot : root(기본유저)라는 사용자로 접속
- root는 관리자이기 때문에 모든 권한이 열려있음
- root의 권한으로 데이터베이스를 직접 다루는 것은 위험하기 때문에 보통 별도의 사용자를 만들어 작업을 하는 것을 권장
4. 스키마의 사용
- 데이터 베이스 생성
CREATE DATABASE database_name;
- 데이터 베이스 삭제
DROP DATABASE [IF EXISTS] database_name;
- 데이터 베이스 설치 확인
SHOW DATABASES;
- 데이터 베이스 사용 명령
- database_name, schema에 있는 표를 대상으로 명령을 실행
USE database_name;
5. SQL과 테이블의 구조
- "Structured Query Language"
- Structured : 정보를 표로 정리정돈, 구조화
- Query : 데이터 베이스에게 질의, 요청
- Language : 데이터 베이스와 사용자가 이해할 수 있는 언어
- SQL 언어의 특징
- 쉽지만 RDBMS들이 공통적으로 데이터 베이스를 제어할 때 쓰는 언어이므로 중요
- Table, 표
- row, record, 행 : 데이터 자체
- column, 열 : 데이터 구조
- Table 구조 확인
DESC topic;
6. 테이블의 생성
- 데이터 베이스는 표의 칼럼에 데이터 타입 설정하여 데이터의 타입 규제 가능
- Table 생성 parameter
- length: 데이터를 얼마나 노출시킬 것인가, 보통 11 사용
- NOT NULL : 결손값을 허용하지 않음
- AUTO_INCREMENT : 중복되지 않은 식별자 (id값을 1씩 증가시킴)
- PRIMARY KEY(column_name) : 메인(key) 칼럼을 지정, 식별자(고윳값) 칼럼 지정 -> 성능, 중복 방지의 기능
CREATE TABLE table_name(
column_name datatype(length) NOT NULL AUTO_INCREMNET,--하나의 칼럼 지정
...,
PRIMARY KEY(column_name));
'데이터 > 데이터베이스' 카테고리의 다른 글
MySQL - 관계형데이터베이스 제어 (1) | 2023.02.21 |
---|---|
MySQL - CRUD (0) | 2023.02.11 |
Database와 SQL (0) | 2023.01.21 |