MySQL 기본 문법

진경천·2024년 10월 8일

DDL

Data Defintion Language
데이터 정의어
데이터베이스나 테이블 등을 생성, 수정, 삭제 하거나 그 구조를 변경하기 위한 명령어

CREATE

데이터베이스나 테이블 등을 생성하는 명령어

데이터베이스 생성

CREATE DATABASE [데이터베이스 명];

테이블 생성

CREATE TABLE [테이블 명](
	[data1]	[type],
    [data2]	[type],
    ...
    [dataN]	[type],
	);

ALTER

데이터베이스나 테이블 등을 수정하는 명령어

데이터베이스 수정

ALTER DATABASE 데이터베이스이름 CHARACTER SET=문자집합이름;

ALTER DATABASE 데이터베이스이름 COLLATE=콜레이션이름;

새로운 속성 추가

ALTER TABLE 테이블이름 ADD 필드이름 필드타입

테이블 속성 삭제

ALTER TABLE 테이블이름 DROP 필드이름

속성 타입 변경

ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입

DROP

데이터베이스 삭제

DROP DATABASE 데이터베이스이름

테이블 삭제

DROP TABLE 테이블이름

DML

Data Manipulation Language
데이터 조작어
데이터베이스에 저장된 데이터를 생성, 조회, 삭제, 수정 등을 하기위한 명령어

데이터 조회

SELECT [검색할 컬럼(속성)] 
FROM [테이블명];

검색할 컬럼은 ,를 기준으로 여러개 가능

*은 모든 컬럼을 지칭

중복 제거

SELECT DISTINCT [검색할 컬럼(속성)] 
FROM [테이블명];

검색할 데이터 앞에 DISTINCT를 입력하여 사용함
이때 호출하려는 데이터 중 하나라도 다른게 있다면 호출이 된다

GROUP BY

SELECT DISTINCT [검색할 컬럼] 
FROM [테이블명]
GROUP BY [컬럼];

GROUP BY 뒤의 컬럼을 기준으로 중복없이 조회가 된다.

조건추가

SELECT DISTINCT [검색할 컬럼] 
FROM [테이블명]
WHERE [조건];

조건은 JAVA의 if문과 같이 설정한다.
비교 연산, 논리 연산을 모두 지원한다.

BETWEEN

[컬럼명] BETWEEN [val1] AND [val2]

[컬럼명]에서 va1val2 사이에 포함된 튜플 (이상/이하)

IN

[컬럼명] IN [val] 

[컬럼명]에서 val이 포함된 튜플

NOT IN

[컬럼명] NOT IN [val] 

[컬럼명]에서 val이 포함된 튜플

LIKE

[컬럼명] LIKE [val]

[컬럼명]val인 튜플을 검색한다.
와일드카드를 옵션으로 사용가능하다.

와일카드

기호 설명
% 0개 이상의 문자가 있음
_ 문자 한개를 의미

데이터 삽입

INSERT INTO [테이블명] ([컬럼들])
VALUES([추가할 데이터]);

VALUES의 데이터에 모든 컬럼의 데이터를 쓰면 테이블 명 옆에 [컬럼들]을 생략해도 된다.
VALUES ([추가할 데이터1]), ([추가할 데이터2]) 를 통해 여러개의 데이터를 한번에 넣을 수 있다.

데이터 수정

UPDATE [테이블명]
SET [컬럼명] = [val]
WHERE [조건];

where 조건을 안붙이면 모든 데이터의 컬럼이 [val]로 수정된다.

⚠️update 전에는 select * from table을 통해 맞는지 확인해보자.
⚠️조건을 붙이지 않으면 테이블의 모든 데이터를 삭제한다.

데이터 삭제

DELETE
FROM [테이블명]
WHERE 조건;

조건에 맞는 튜플을 삭제한다.

⚠️조건을 붙이지 않으면 테이블의 모든 데이터를 삭제한다.

데이터 일부 조회

SELECT [컬럼명]
FROM [테이블명];
LIMIT [제한할 수]

제한할 수에는 ,를 기준으로 n, m 처럼 n번째 부터 m개의 데이터를 검색 가능

SQL 함수

데이터 개수 조회

SELECT COUNT([검색할 컬럼]) 
FROM [테이블명];

WHERE 조건을 붙여 특정 조건에 맞는 데이터의 개수를 셀 수 있다.

데이터의 합산

SELECT SUM([합산할 컬럼])
FROM [테이블명];

데이터의 평균

SELECT AVG(평균을 구할 컬럼)
FROM [테이블명];

데이터 최대값

SELECT AVG(평균을 구할 컬럼)
FROM [테이블명];

데이터 최소값

SELECT AVG(평균을 구할 컬럼)
FROM [테이블명];

DCL

Data Control Language
데이터베이스에 저장된 데이터들의 보안성 및 무결성등을 제어해 관리하기 위한 명령어

권한 부여

GRANT [권한] ON [DB or TABLE] TO [유저ID]@[호스트]

권한 확인

SHOW GRANTS FOR [유저ID]@[호스트]

권한 회수

REVOKE [권한] ON [DB or TABLE] FROM [유저ID]@[호스트]
profile
어중이떠중이

0개의 댓글