MySQL Syntax
ㅡ MySQL에선 작업 명령을 SQL구문을 사용하여 처리한다.
ㅡ QUIT와 같은 몇 몇의 경우를 제외하곤 자바처럼 뒤에 세미콜론이(;) 붙는다.
ㅡ MySQL에선 키워드 입력 시 대소문자 구분을 하지 않는다. → SELECT * FROM, select * from 같은 결과를 도출
* 키워드만 대소문자를 구분하지 않을 뿐 테이블 명, 필드 명은 구분한다.
주석
# → 한 줄 주석
-- → 한줄 주석 * 하이픈 주석은 뒤에 한 칸의 공백이 필요하다.
/* */ → 여러 줄 주석
MySQL 주요 구문
▶데이터베이스 생성
CREATE DATABASE 데이터베이스 명;
CREATE DATABASE BLOG;
* 데이터베이스 목록은 SHOW DATABASES로 확인할 수 있다.
▶ 데이터베이스 선택
생성된 데이터베이스를 사용하기 위해선 먼저 어떤 데이터베이스를 쓸건 지 정해줘야한다. USE를 통해 선택 가능
USE 데이터베이스 이름;
USE BLOG;
* MySQL 킬 때 마다, 쓰려는 DB를 항상 USE로 실행시키자
* 데이터베이스 = DB
▶ 테이블 생성
DB는 하나 이상의 테이블이 있으며, 테이블에서 데이터를 관리한다. / 자바에서 클래스 같은 느낌
테이블 생성 시엔 테이블 내에 필드도 명시해야한다. / 필드는 자바의 멤버 변수
CREATE TABLE 테이블 이름 (
필드 명, 필드 타입, 제약 조건,
필드 명, 필드 타입, 제약 조건 # 마지막 필드는 쉼표(,) 빼야한다.
)
CREATE TABLE BlogData(
boardNum INT Auto_INCREMENT PRIMARY KEY
);
*쿼리 : DB 등에서 원하는 정보를 검색하기 위해 요청하는 것
▶ 제약 조건(constraint)
데이터의 무결성을 위해 데이터 입력 시 실행되는 검사 규칙
테이블 생성이나 ALTER로 필드 추가할 때도 설정 가능
1. NOT NULL : 해당 필드는 NULL값을 저장할 수 없다.
2. UNIQUE : 해당 필드는 서로 다른 값을 가진다.
3. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가진다.
4. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 한다.
5. DEFAULT : 해당 필드의 기본 값 설정
* AUTO_INCREMENT 키워드는 해당 필드의 값을 1부터 시작해 새로운 레코드(행)가 추가될 때 마다 1씩 값을 증가시켜준다. / 키워드 뒤에 =를 사용하면 시작값을 1이 아니라 다른 값으로 시작할 수 도 있다.
▶ 데이터베이스 / 테이블 수정(필드 추가, 삭제, 타입 변경)
MySQL에선 ALTER를 사용하여 DB와 테이블 내용 수정 가능
ALTER DATABASE / ALTER TABLE
DB 수정
ALTER DATABASE 데이터베이스 이름 CHARACTER SET=문자집합 이름
ALTER DATABASE 데이터베이스 이름 COLLATE=콜레이션 이름
*콜레이션(collation) : DB에서 검색, 정렬과 같은 작업할 때 비교를 위한 규칙의 집합
테이블 수정
1. ADD : 필드 추가
2. DROP : 필드 삭제
3. MODIFY COLUMN 필드 타입 변경
추가
ALTER TABLE 테이블이름 ADD 필드이름 필드타입 제약조건;
ALTER TABLE BlogData ADD boardCategory VARCHAR(30) NOT NULL;
BlogData 테이블에 길이가 30인 문자열 boardCategory를 추가
삭제
ALTER TABLE 테이블이름 DROP 필드이름;
ALTER TABLE BlogData DROP boardCategory;
타입 변경
ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입;
ALTER TABLE BlogData MODIFY COLUMN boardCategory INT;
▶ 데이터베이스 / 테이블 삭제
MySQL에선 DROP문으로 DB와 테이블을 삭제할 수 있다.
DB 삭제
DROP DATABASE 데이터베이스 명;
DROP DATABASE BLOG;
* DB를 삭제하면 DB내에 있던 테이블과 모든 데이터가 사라진다.
★테이블 삭제 → 3가지 방법이 존재
1. DROP : 테이블의 존재 자체를 삭제
2. TRUNCATE : 테이블만 존재하고 그 외 인덱스나 데이터 다 삭제 / 테이블 생성 초기의 상태
3. DELETE FROM : 테이블 내에 있는 레코드만 삭제 / 해당 테이블의 인덱스 경우엔 남아있음
DROP TABLE 테이블 명;
TRUNCATE TABLE 테이블 명;
DELETE FROM 테이블 명;
* DELETE FROM을 사용할 땐 Edit -> preference -> sql editor에서 맨 밑에 체크 풀어주고 다시 껐다 켜야됨
'MySQL' 카테고리의 다른 글
Primary Key,(기본 키) Foreign Key(참조 키, 외래 키) (0) | 2023.01.24 |
---|---|
MySQL 연산 (0) | 2023.01.20 |
MySQL 데이터 타입 (1) | 2023.01.20 |
MySQL 구문 [삽입, 수정, 선택, 중복 제거, 정렬, 별칭] (0) | 2023.01.19 |
DataBase, SQL, RDB + MySQL (0) | 2023.01.18 |
댓글