훈훈훈
데이터베이스 : MySQL 명령어 정리 본문
# 데이터베이스(DataBase) 란?
통합 관리 되는 데이터의 집합
# MySQL 설치 (MAC OS)
$ brew insatll mysql
$ mysql.server start
$ mysql -uroot -p
$ show databases;
$ use ["DB_NAME"]
# 테이블과 칼럼
- TABLES : 데이터베이스에 존재하는 테이블 정보 제공
- COLUMNS : 데이터베이스에 존재하는 테이블 칼럼 정보 제공
# 주석
- " # " : 한 줄 주석
- " -- " : 한 줄 주석
- " /* */ " : 여러 줄 주석
# 스키마(Schema)
데이터베이스에서 자료의 구조, 표현 방법, 관계를 형식 언어로 정의한 구조
DBMS이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료 저장, 조회, 삭제, 변경할 떄
DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령 수행
===> 정리하자면 임의의 사용자가 생성한 모든 데이터베이스 객체들을 의미함
# MySQL 명령어
+ CREATE
새로운 데이터베이스(테이블) 생성, [CREATE DATABASE(TABLE) NAME]
데이터베이스는 1개 이상의 테이블로 구성되며, 테이블에 데이터를 저장 및 관리가 가능
테이블을 생성하기 위해서는 테이블 이름, 필드 목록, 각 필드의 타입을 명시해야함
+ INSERT
INSERT INTO & VALUES 문을 통해 테이블에 새로운 레코드를 입력 가능
** 생략 가능한 필드
1. NULL 저장이 가능한 필드
2. DEFAULT 제약 조건이 설정된 필드
3. AUTO_INCREMENT 키워드가 설정된 필드
+ SELECT
SELECT 문을 통해 테이블의 레코드를 선택 후 읽을 수 있다.
" * " 기호를 사용하면 테이블의 모든 필드를 불러올 수 있다. [SELECT *FROM TABLE_NAME]
+ ALTER
ALTER 문을 사용하여 데이터베이스(테이블) 내용 수정 할 수 있음
- ADD : 새로운 필드 추가
- DROP : 필드 삭제
- 필드 타입도 변경 가능
+ UPDATE
UPDATE 문을 사용해서 레코드의 내용 수정 가능, 해당 명령어는 WHERE 절의 조건을 만족하는 레코드 값만을 수정
+ DELETE
DELETE 문을 사용하여 테이블의 레코드 삭제 가능, 해당 명령어는 WHERE 절의 조건을 만족하는 레코드만 삭제 가능
# 서브쿼리(SubQuery)
서브쿼리란 다른 쿼리 내부에 포함되어 있는 SELECT 문을 나타나며, 조건식 내부에 SELECT 구문 사용이 가능하여 좀 더 명확한 데이터 추출이 가능하다.
* 정리
- 하나의 SELECT 문 내에 포함된 또 다른 SELECT 문이 있는 쿼리
- 쿼리문 전체를 메인 쿼리, 메인 쿼리 내에 있는 SELECT문은 서브 쿼리
- 비교 연산자의 오른쪽에 사용해야하며, 반드시 괄호 안에 구문을 작성해야함
- 메인 쿼리가 실행되기 이전에 1번만 실행
- 쿼리가 복잡해질 시, JOIN, UNION을 사용하는 것보다 서브쿼리를 사용하는 것이 가독성 측면에서 좋을 수 있음
> JOIN, UNION 문에 관해서는 관계형 데이터베이스 정리할떄 같이 작성할 예정
'데이터베이스' 카테고리의 다른 글
데이터베이스 : 관계형 데이터 베이스 정리 (0) | 2020.02.09 |
---|