랄라

SQL (MYSQL 기준) 본문

내일배움캠프/공부정리

SQL (MYSQL 기준)

devdaeun 2025. 2. 4. 09:49

*Database

여러가지 데이터를 모아둔 저장소

SQL

정의어(DDL)

- CREATE : 데이터베이스와 테이블 생성

CREATE DATABASE 데이터베이스이름; //데이터베이스 우선적으로 생성되어있어야 테이블 생성가능
CREATE TABLE 테이블이름(
	...
	필드생성 및 조건 작성;
)

 

- ALTHER : 데이터베이스와 테이블의 내용 수정

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

 

- DROP : 데이터베이스 및 테이블 삭제 (구조와 데이터 전부삭제)

DROP DATABASE 데이터베이스이름;
DROP TABLE 테이블이름;

 

- TRUNCATE : 테이블의 데이터를 삭제 (테이블의 구조는 남김)

TRUNCATE DATABASE 데이터베이스이름;
TRUNCATE TABLE 테이블이름;

 

 

- RENAME : 데이터베이스 및 테이블 이름 변경

RENAME DATABASE 기존데이터베이스이름 TO 변경데이터베이스이름;
RENAME TABLE 기존테이블이름 TO 변경테이블이름;

조작어(DML)

- INSERT : 테이블 내부에 값 추가

INSERT INTO 테이블명(필드명, ...) VALUES(필드 내부에 입력할 값 ... );

 

- SELECT : 테이블 내부값 조회

SELECT [DISTINCT] [* 또는 조회할 필드명] FROM 테이블명 [WHERE 조건];

*DISTINCT(중복제외)

 

- DELETE : 테이블 내부값 삭제

DELETE FROM 테이블명 WHERE 조건;

*CASCADE : 참조 여부 상관없이 삭제.

*REDIRECT : 해당 테이블이 참조되는곳이 있을경우 삭제불가능.

 


제어어(DCL)

- GRANT : 권한 부여

GRANT 권한 ON 객체 TO 유저;

 

- REVOKE : 권한 철회, 회수

REVOKE 권한 ON 객체 FROM 유저명;

 

*from 과 to 를 보면 어떤것이 권한을 부여하고 회수하는지 확인이가능하다.


CONSTRAINT(제약사항) 

 

- 테이블에 제약사항 추가

ADD CONSTRAINT 제약사항 이름 CHECK 제약사항 내용(컬럼조건)

ALTER TABLE student ADD CONSTAINT st_rule CHECK (registraion_number <30000000)

*foreign key도 제약사항중 하나이다

 

- 제약사항 삭제

DROP CONSTAINT 제약사항이름

ALTER TABLE student DROP CONSTAINT st_rule 

 

DEFAULT 속성

컬럼에 설정하는 기본값, 로우를 설정할때 해당컬럼에 값을주지않아도 자동으로 입력

ALTER TABLE 테이블 이름 MODIFY 열이름 데이터타입 [DEFAULT 값];

ALTER TABLE sutdent MODIFY major INT not null DEFAULT 101;

 

 

'내일배움캠프 > 공부정리' 카테고리의 다른 글

Entity 와 Persistence Context (영속성 컨텍스트)  (1) 2025.02.04
JDBC (+JdbcTemplate)  (0) 2025.02.04
3 Layer Architecture  (0) 2025.02.04
Servlet 과 Dispacher Servlet  (0) 2025.02.04
MVC 구조  (0) 2025.02.04