MySQL의 다양한 명령어들을 기억하기 위해 글을 쓴다.
SQL의 명령어는 크게 3가지로 나눌 수 있다.
각각
DDL (Data Definition Language) : 데이터 정의 언어
DML (Data Manipulation Language) : 데이터 조작 언어
DCL (Data Control Language) : 데이터 제어 언어
DDL 에서 가장 중요한 명령어는 CREATE 와 DROP 이라고 할 수 있다. 각각 테이블을 생성하고, 삭제하는 기능을 맡고 있다.
CREATE 명령어를 먼저 살펴 보자면,
CREATE TABLE 테이블명 (
필드명 자료형 조건,
필드명 자료형 조건,
필드명 자료형 조건,
....
);
의 형태로 사용된다.
EX)
CREATE TABLE mytable (
id int auto_increment primary key,
pw varchar(20) not null,
name varchar(10) not null
);
여기서 조건은 constraints 옵션에 해당하는데 내가 당장 기억해둘것은 이것들이다.
NOT NULL -> 비워 둘 수 없다
PRIMARY KEY -> 고유의 값을 가져야 한다 + 비워 둘 수 없다
AUTO_INCREMENT -> 레코드의 값이 중복되지 않고 자동으로 1씩 증가한다
DROP 은 간단하다.
DROP TABLE 테이블명;
그 다음 DML이 가장 많이 사용되는 명령어일 것이다.
DML에는 INSERT,UPDATE,DELETE,SELECT 가 있는데,
그중 INSERT는 테이블에 행(row)를 추가한다.
INESRT INTO 테이블명(필드,필드,...) VALUES('값','값',...);
상당히 직관적이고 외우기 쉬운 코드같다. 다음은 그 예시이다.
INSERT INTO mytable(pw,name) VALUES('1234','JDW');
INSERT INTO mytable(pw,name) VALUES('1111','PKJ');
INSERT INTO mytable(pw,name) VALUES('2222','JWQ');
INSERT INTO mytable(pw,name) VALUES('3333','OGJ');
UPDATE의 경우 이미 있는 행의 요소를 수정한다.
UPDATE 테이블명 SET 필드명='값',필드명='값',필드명='값' WHERE 필드명 LIKE '조건';
UPDATE는 보통 WHERE와 함께 쓰게 된다. WHERE문의 조건과 맞는 행을 수정하기 위해서이다.
EX)
UPDATE mytable SET name='EOQ' WHERE name LIKE 'JDW';
UPDATE mytable SET name='KEK',pw='0001' WHERE id LIKE 2;
가장 많이 쓰이는 것은 아마 SELECT 일 것이다 SELECT는 주어진 조건에 맞는 행을 불러와 출력한다.
근데 SELECT 문은 엄청 다양하게 사용할 수 있다. 다음은 MySQL Documentation에 나와있는 SELECT문의 사용법이다.
그래서 자주 쓰는 형식으로만 예시를 만들어 보았다.
SELECT * FROM mytable;
SELECT name FROM mytable;
SELECT name,pw FROM mytable;
SELECT name,pw FROM mytable WHERE id = 1;
좀 많이 줄인 것 같지만, 상관없다. 모르면 검색하면 되니까!
DELETE문은 DROP문과 다르게 테이블에 있는 행을 삭제하는데 쓰인다.
DELETE FROM 테이블명 WHERE 필드명='조건';
DCL은 제어문인데, 아마 초보상태에서는 알지 못해도 상관없는 명령어들인 것 같다.
이렇게 기본적인 SQL의 명령어들을 알아보았다. 이제 Java코드 에서 이것들을 사용할 것이다.
'Study > DATABASE & ORM' 카테고리의 다른 글
[TypeORM] 트랜잭션(Transaction) 사용하기 (0) | 2021.12.21 |
---|---|
[TypeORM] N+1 문제와 Eager and Lazy Relations (0) | 2021.12.19 |
[MySQL]페이징 기능 구현하기+Console UI에 적용 (0) | 2020.11.28 |
[SQL developer]SQL developer 설치와 MySQL 연동 (0) | 2020.11.25 |
댓글