[MySQL] CRUD 명령

김태하·2023년 2월 24일
1
post-thumbnail

CRUD의 기본사항

데이터에서 실행하는 4가지 주요 연산

  • C (Create) : 생성
  • R (Read) : 읽기
  • C (Update) : 업데이트
  • D (Delete) : 삭제

Create

CREATE TABLE cats (
cat_id INT AUTO_INCREMENT,
name VARCHAR(100),
breed VARCHAR(100),
age INT,
PRIMARY KEY (cat_id)
);

- INSERT

INSERT INTO cats(name, age) VALUES('Taco', 14);

1. NOT NULL 옵션

  • Column에서의 NULL이 허용되는 경우에는 값을 지정하지 않아도 됨.

name VARCHAR(20) NOT NULL

2. DEFAULT 옵션

  • 기본 값을 설정해주는 옵션

name VARCHAR(20) DEFAULT 'unnamed'

3. AUTO_INCREMENT 옵션

  • 데이터가 삽입 될 경우 숫자가 자동으로 1씩 증가

4. PRIMARY KEY 옵션

  • 우리가 할당하는 필드 모두를, 즉 우리가 기본키로 만드는 모든 것

CREATE TABLE name(cat_id INT NOT NULL AUTO_INCREMENT,
... ,
PRIMARY KEY(필드 이름));

READ

데이터 베이스에서 데이터를 찾고 검색하는 역할

- SELECT

모든 Column 가져오기

SELECT * FROM cats;

위 명령어에서 * 기호는 cats 테이블에 있는 모든 열을 달라는 의미

원하는 열 지정

SELECT <column name> FROM cats;

두개 이상인 경우

SELECT name, age FROM cats;

입력한 순서대로 결과가 나옴.

1. WHERE 옵션

  • 특정한 무언가를 검색할때 사용
  • 업데이트나 삭제를 하는 경우에도 사용

SELECT * FROM cats WHERE age=4;

기본적으로 대소문자를 구분하지 않아서 VARCHAR형식의 데이터를 검색할 때 대소문자 구분할 필요 X

2. Aliases (AS)

  • 데이터가 다시 표시되는 방법 지정
  • 데이터 자체를 변경하지 않음
  • 나에게 표시되는 방법만 바꿈

SELECT cat_id AS id, name FROM cats;

cat_id 대신 id를 사용
여러 테이블이 주어지는 경우 활용할 수 있음
-> 테이블을 합치는 경우

UPDATE

기존 데이터를 업데이트하거나 변경하는 역할

UPDATE cats SET breed='Shorthair' WHERE breed='Tabby';

breed가 'Tabby'인 대상들의 breed를 Shorthair'로 변경
즉, 조건에 만족하는 대상이 여러개인 경우 모두 변경

DELETE

기존에 있는 데이터를 삭제하는 역할

DELETE FROM cats WHERE name='Egg';

  • 'Egg'라는 이름을 가진 데이터들을 모두 삭제

  • 위 명령어 실행 후 cat_id는 변동되지 않음
    id가 변경되면 다른 테이블에 연결되어 있는 id까지 변경해야하기 때문에 변동되지 않음.

  • UPDATE나 DELETE를 하기전 올바른 대상을 선택했는지 확인

데이터 전체 삭제

DELETE FROM cats;

테이블의 엔트리만 삭제할 뿐 쉘은 여전히 남아있음.


Udemy : MySQL섹션5

0개의 댓글