SQL CRUD : create, read, update, delete

hg0710·2023년 3월 8일

Data < Table < DataBase

DB(Data Base)

# 전체 데이터베이스 리스팅
SHOW DATABASES;

#새 데이터베이스 생성
CREATE DATABASE `임의의 데이터베이스`;

#데이터베이스 삭제
DROP DATABASE `임의의 데이터베이스`;

  • DB를 생성 후 리스팅을 하면 이런 식으로 DB들이 리스팅 된다.
    👉 Create로 DB를 생성하고, Drop으로 삭제한다.

Table

#데이터베이스 선택
USE `임의의 데이터베이스`;

  • 이런 식으로 DB가 선택된다.

#테이블 생성

#생성할 칼럼과 형태를 지정해줄 것
# VARCHAR(100) => 문자 100개 저장가능
# text => 문자 많이 저장가능
CREATE TABLE 임의의_테이블(
	title VARCHAR(100),
    `body` TEXT
);

#테이블 리스팅
SHOW TABLES;

  • 테이블을 생성 후 리스팅
#테이블 구조 확인
Desc 임의의_테이블

  • 테이블의 데이터 구조 확인( title은 varchar(100)타입, body는 text타입을 가지고있다.)

Data

#데이터 추가
INSERT INTO 임의의_테이블
SET title = '제목',
`body` = '내용';

#데이터 추가
INSERT INTO 임의의_테이블
SET title = '제목',
`body` = '내용';

# 테이블 내 전체 데이터 조회
SELECT*
FROM 임의의_테이블;

  • 테이블 내 데이터 추가 후 조회
#칼럼 추가(id)
ALTER TABLE 임의의_테이블 ADD COLUMN id INT FIRST;

# 테이블 내 전체 데이터 조회
SELECT*
FROM 임의의_테이블;

  • column 하나가 추가된 것을 확인 할 수 있다.
# 기존 테이블 내의 데이터값 수정(NULL => 1)
UPDATE 임의의_테이블
SET id = 1
WHERE id IS NULL;

# 기존 테이블 내의 데이터값 수정(1 => 2, LIMIT로 제한을 줘서 하나만 수정)
UPDATE article
SET id = 2
LIMIT 1;


# 테이블 내 전체 데이터 조회
SELECT*
FROM 임의의_테이블;

👉 UPDATE 로 테이블내의 데이터를 수정할 수 있다.

# 2번 게시물, 데이터 삭제 => DELETE
DELETE FROM 임의의_테이블
WHERE id = 2;

👉 DELETE 로 테이블 내의 데이터를 삭제할 수 있다.

❓ DELETE와 DROP 명령어의 차이점은 무엇일까?
1.DELETE 명령어는 데이터를 하나하나 선택하여 제거하는 방식. 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있다.
2. DROP 명령어는 테이블 자체를 완전히 날려버리는 방식 .자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다.

0개의 댓글