기본 문법과 데이터 무결성
MySQL 기본 문법
- 키워드, 구문, 문자열의 대소문자를 구분하지 않습니다.
(window의 경우 테이블명, 데이터베이스명도 대소문자를 구분하지 않습니다.) - 데이터베이스 == 스키마 (Database == schema)
Object 다루기
- SHOW, DESC, USE
- CREATE, DROP, ALTER (DDL 데이터 정의어)
조회 SHOW, DESC
-- 데이터베이스 목록 조회
SHOW DATABASES;
-- 현재 접속한 스키마의 테이블 목록 조회
SHOW TABLES;
-- 테이블 컬럼 조회
DESC 테이블;
선택 USE
-- 사용할 데이터베이스 선택, 접속
USE 데이터베이스;
생성 CREATE
-- 데이터베이스 생성
CREATE DATABASE 데이터베이스;
CREATE SCHEMA 스키마;
-- 테이블 생성
CREATE TABLE 테이블(컬럼1 타입1 제약조건, 컬럼2 타입2 제약조건);
-- 테이블 복제
CREATE TABLE 테이블 LIKE 테이블;
-- 테이블 복사(컬럼 선택)
CREATE TABLE 테이블 AS SELECT 컬럼 FROM 테이블;
삭제 DROP
DROP DATABASE 데이터베이스;
DROP TABLE 테이블;
수정 ALTER
1. 테이블, 컬럼 이름 변경 RENAME
-- 테이블 이름 변경
ALTER TABLE 기존테이블명 RENAME TO 변경테이블명;
-- 컬럼 이름 변경
ALTER TABLE 테이블 RENAME COLUMN 기존컬럼명 TO 변경컬럼명;
2. 컬럼, 키 추가 ADD
-- 컬럼 추가
ALTER TABLE 테이블 ADD 컬럼 타입 [제약조건] [AFTER 앞에 위치할 컬럼];
-- 키 추가
ALTER TABLE 테이블 ADD PRIMARY KEY(컬럼);
3. 컬럼 타입 변경 MODIFY, CHANGE
-- 컬럼 타입 변경
ALTER TABLE 테이블 MODIFY 컬럼 타입;
-- 컬럼 이름과 타입 변경
ALTER TABLE 테이블 CHANGE 기존컬럼명 변경컬럼명 타입;
4. 컬럼, 키 삭제 DROP
-- 컬럼 삭제
ALTER TABLE 테이블명 DROP 컬럼;
-- 키 삭제
ALTER TABLE 테이블명 DROP PRIMARY KEY;
Data 다루기 (DML 데이터 조작어)
- INSERT, DELETE, SELECT, UPDATE
삽입 INSERT
-- 레코드 삽입
INSERT INTO 테이블(컬럼1, 컬럼2) values(값1, 값2);
삭제 DELETE
-- 조건에 해당하는 데이터 삭제
DELETE FROM 테이블 WHERE 컬럼 = 값
수정 UPDATE
-- 조건에 해당하는 데이터 수정
UPDATE 테이블
SET 컬럼 = 변경값
WHERE 컬럼 = 기존값
조회 SELECT
-
SELECT 컬럼 FROM 테이블
1. 조건절 WHERE
SELECT 컬럼
FROM 테이블
WHERE 검색조건;
2. 그룹화 GROUP BY + 그룹화 조건 HAVING
SELECT 컬럼
FROM 테이블
WHERE 검색조건
GROUP BY 컬럼
HAVING 그룹화조건;
3. 정렬 ORDER BY + 오름차순(ASC 생략가능) or 내림차순(DESC)
SELECT 컬럼
FROM 테이블
WHERE 조건
ORDER BY 컬럼 [ASC 또는 DESC];
4. 레코드 중복 제거 DISTINCT
SELECT DISTINCT 컬럼
FROM 테이블
WHERE 검색조건;
5. 조건문 CASE
SELECT
CASE 컬럼
WHEN 비교값 THEN 반환값
WHEN 비교값 THEN 반환값
ELSE (WHEN 조건에 전부 부합하지 않으면) 반환값
END AS 가명
FROM 테이블;
데이터 무결성 Data Integrity
- 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질
- 데이터 무결성을 위해 컬럼에 다음과 같은 제약 조건을 걸 수 있습니다.
1. 제약 조건 Constraints
키워드 | NULL허용 | 중복 허용 | 특징 |
primary key (기본키) | x | x | 테이블의 대표 컬럼 (하나만 설정 가능) |
unique key (고유키) | o | x | 테이블에 유일한 값으로 존재하도록 설정 |
foriegn key (외래키) | o | o | 참조 테이블과 연결 목적으로, 참조 테이블에서는 기본키이며, 참조 테이블에 존재하는 값만 사용 가능 |
not null | x | o | 필수 입력 사항 |
check | o | o | 주어진 조건에 해당하는 값들만 사용 가능 |
'Database > MySQL' 카테고리의 다른 글
[Database / MySQL] - MySQL 내장 함수 & 연산자 정리 (1) | 2024.06.13 |
---|---|
[Database / MySQL] - MySQL 제어문 (case / if) 문법 정리 (1) | 2024.06.11 |
[Database / MySQL] - MySQL 비밀번호 변경 (0) | 2024.05.20 |
[MySQL] - MySQL 날짜 계산 관련 함수 정리 (0) | 2024.02.01 |
[MySQL] - DateType / window function (1) | 2024.01.06 |