MySQL 구문
MySQL에서 데이터베이스에 대한 작업 명령은 SQL 구문을 이용하여 처리 된다.
SELECT * FROM Employees;
서버와의 연결을 끊는 구문인 QUIT와 같은 경우를 제외한 일반적인 구문 뒤에는 세미콜론(;)을 붙인다.
이러한 세미콜론은 SQL 구문을 구분하는 기준이 된다.
또한, MySQL은 키워드와 구문에서 대소문자를 구분하지 않는다.
SELECT * FROM Employees;
select * from Employees;
SeLeCt * FrOm Employees;
위의 예제는 모두 같은 결과를 보여주겠지만, 되도록이면 1번이나 2번처럼 대소문자를 일관되게 사용하는 것이 좋다.
MySQL에서 키워드와 구문, 문자열은 대소문자를 구문하지 않는다.
하지만 일부 설정에서 테이블 명과 필드(열)의 이름은 대소문자를 구분하므로, 주의해서 사용해야 한다.
MySQL 주석
주석이란 코드에 대한 이해를 돕는 설명을 적거나 디버깅을 위해 작성하는 일종의 메모다.
MySQL 서버는 주석을 무시하므로, 실제 실행 결과에는 아무런 영향을 주지 않는다.
-- 한 줄 주석
/* 두 줄
이상의
주석 */
위에 첫 번째 방법에서 두 개 이상의 하이픈(-)뒤에는 반드시 한 칸의 공백이 존재해야만 주석으로 정상 인식된다.
MySQL 주요 구문
MySQL에서 자주 사용하는 주요 구문
- CREATE DATABASE
- ALTER DATABASE
- CREATE TABLE
- ALTER TABLE
- DROP TABLE
- INSERT INTO
- UPDATE
- DELETE
- SELECT
- CREATE INDEX
- DROP INDEX
CREATE
MySQL에서는 다음과 같은 CREATE 문을 사용하여 데이터베이스와 테이블을 만들 수 있다.
- CREATE DATABASE
- CREATE TABLE
데이터베이스 생성
CREATE DATABASE 문은 새로운 데이터베이스를 생성해 준다.
CREATE DATABASE 데이터베이스이름
다음 예제는 Hotel이라는 새로운 데이터베이스를 생성하는 예제다.
CREATE DATABASE Hotel;
생성된 데이터베이스 목록은 SHOW DATABASES 구문을 통해 확인할 수 있다.
데이터 베이스의 선택
데이터베이스를 생성한 후에, 해당 데이터베이스를 사용하기 위해서는 우선 데이터베이스를 선택해야 한다.
MySQL에서는USE 문을 사용하여 데이터베이스를 선택할 수 있다.
USE 데이터베이스이름
다음 예제는 Hotel 데이터베이스를 선택하는 예제다.
USE Hotel;
유닉스 환경의 MySQL에서는 데이터베이스 이름의 대소문자를 구분한다.
그러나 윈도우 환경의 MySQL에서는 데이터베이스의 이름에 대소문자를 구분하지 않는다.
하지만 될 수 있으면 언제나 데이터베이스의 이름은 대소문자를 구분하여 사용하는 것이 가독성 측면에서도 좋다.
테이블 생성
데이터베이스는 하나 이상의 테이블로 구성되며, 이러한 테이블에 데이터를 저장하여 관리할 수 있다.
CREATE TABLE 문은 새로운 테이블을 생성해 준다.
CREATE TABLE 테이블이름
(
필드이름1 필드타입1,
필드이름2 필드타입2,
...
)
테이블을 생성하기 위해서는 테이블 이름, 필드(field)목록과 각 필드의 타입을 명시해야 한다.
필드의 타입이란 해당 필드에 저장될 데이터가 가질 수 있는 타입을 의미한다.
MySQL에서는 위의 문법처럼 하나의 쿼리를 여러 줄에 걸쳐 입력할 수 있다.
다음 예제는 4개의 필드를 갖는 Test 테이블을 생성하는 예제다.
CREATE TABLE Test
(
ID INT,
Name VARCHAR(30),
ReserveDate DATE,
RoomNum INT
);
생성된 테이블 목록은 SHOW TABLES 구문을 통해 확인할 수 있다.
또한, 해당 테이블의 상세 정보는 DESCRIBE 구문이나 DESC 구문을 통해 확인할 수 있다.
제약 조건(constraint)
제약 조건(constraint)이란 데이터의 무결성을 지키기 위해 데이터를 입력 받을 때 실행되는 검사 규칙을 의미한다.
이러한 제약 조건은 CREATE 문으로 테이블을 생성할 때나, ALTER 문으로 필드를 추가할 때 설정할 수도 있다.
CREATE TABLE 문에서 사용할 수 있는 제약 조건은 다음과 같다.
- NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 된다.
- UNIQUE : 해당 필드는 서로 다른 값을 가져야만 한다.
- PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 된다.
- FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만든다.
- DEFAULT : 해당 필드의 기본값을 설정한다.
또한, AUTO_INCREMENT 키워드를 사용하면 해당 필드의 값을 1부터 시작하여 새로운 레코드가 추가될 때마다 1씩 증가된 값을 저장한다. 이때 AUTO_INCREMENT 키워드 다음에 대입 연산자(=)를 사용하여 시작 값을 변경할 수 있다.
'Programming > MySQL' 카테고리의 다른 글
[MySQL] DROP (2) | 2022.09.07 |
---|---|
[MySQL] ALTER (0) | 2022.09.07 |
[MySQL] MySQL (0) | 2022.09.06 |
[MySQL] 관계형 데이터베이스 (relational database) (0) | 2022.09.06 |
[MySQL] MySQL, 데이터 베이스 (DataBase) (0) | 2022.09.05 |