본문 바로가기

TIL

231031_TIL

오늘한일

  •  sql 공부
  • spring 입문

 

 

SQL은 ‘Structured Query Language’ 의 약자로 RDBMS에서 사용되는 언어입니다. 수 많은 정보를 Database에서 조작하고 관리하기 위해서는 SQL 언어를 사용해야합니다.

  • 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있습니다. 
  • DBMS를 만드는 회사가 여러 곳이기 때문에 DBMS 마다 표준 SQL을 준수하되, 각 제품의 특성을 반영하기 위한 약간의 차이가 존재합니다.

DDL- Data Definition Language’ 의 약자로 테이블이나 관계의 구조를 생성하는데 사용합니다

 

CREATE : 새로운 데이터베이스 및 테이블을 생성해 줍니다.

CREATE DATABASE 데이터베이스이름;
CREATE TABLE 테이블이름
(
		필드이름1 필드타입1,
    필드이름2 필드타입2,
    ...
);

ALTER : 데이터베이스와 테이블의 내용을 수정할 수 있습니다.

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

DROP : 데이터베이스와 테이블을 삭제할 수 있습니다. 데이터 및 테이블 전체를 삭제합니다.

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

TRUNCATE : 데이터베이스와 테이블을 삭제할 수 있습니다. 최초 테이블이 만들어졌던 상태 즉, 컬럼값만 남깁니다.

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

 

 

 

DCL- ‘Data Control Language의 약자로 데이터의 사용 권한을 관리하는데 사용합니다.

 

GRANT : 사용자 또는 ROLE에 대해 권한을 부여할 수 있습니다.

GRANT [객체권한명] (컬럼)
ON [객체명]
TO { 유저명 | 롤명 | PUBLC} [WITH GRANT OPTION];

//ex
GRANT SELECT ,INSERT 
ON mp
TO scott WITH GRANT OPTION;

REVOKE : 사용자 또는 ROLE에 부여한 권한을 회수할 수 있습니다.

REVOKE { 권한명 [, 권한명...] ALL}
ON 객체명
FROM {유저명 [, 유저명...] | 롤명(ROLE) | PUBLIC} 
[CASCADE CONSTRAINTS];

//ex
REVOKE SELECT , INSERT
ON emp
FROM scott
[CASCADE CONSTRAINTS];

 

 

 

 

DML- ‘Data Manipulation Language의 약자로 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용합니다.

 

INSERT : 테이블에 새로운 row를 추가할 수 있습니다.

INSERT INTO 테이블이름(필드이름1, 필드이름2, 필드이름3, ...) VALUES(데이터값1, 데이터값2, 데이터값3, ...);
INSERT INTO 테이블이름 VALUES(데이터값1, 데이터값2, 데이터값3, ...);

 

SELECT : 테이블의 row를 선택할 수 있습니다.

SELECT 필드이름 FROM 테이블이름 [WHERE 조건];

 

UPDATE : 테이블의 row의 내용을 수정할 수 있습니다.

UPDATE 테이블이름 SET 필드이름1=데이터값1, 필드이름2=데이터값2, ... WHERE 필드이름=데이터값;

 

DELETE : 테이블의 row를 삭제할 수 있습니다.

DELETE FROM 테이블이름 WHERE 필드이름=데이터값;

 

 

 

 

느낀점

  • 이제 spring 시작인데 열심히 해야겠다.

 

 

 

'TIL' 카테고리의 다른 글

231102_TIL  (1) 2023.11.02
231101_TIL  (1) 2023.11.01
231030_TIL  (0) 2023.10.30
231026_TIL  (0) 2023.10.27
231025_TIL  (0) 2023.10.26