ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (My)SQL 데이터 변경 구문을 알아보자
    SQL 2023. 3. 12. 02:34

    SQL에서 데이터 변경은 입력, 수정, 삭제 정도로 구분할 수 있다. 3가지를 알아보자. 테이블은 다음과 같다.

    테이블 명칭은 qwer, pk는 id라 하자

    INSERT구문은 데이터를 입력, 삽입하는 역할을 한다. 사용법은 다음과 같다.

    INSERT INTO qwer VALUES ('mnz','ddd','3465',30);

    전체 행에 데이터를 입력하였다. 순서를 따로 명시하지 않으면 앞에서부터 차례대로 입력된다. 만약 일부만 입력하고 싶으면 입력할 변수들의 열 이름을 명시해주어야 한다. 입력하지 않은 열은 NULL로 입력된다.

    INSERT INTO qwer (id, age)VALUES ('mnz',30);

    기존 테이블에 AUTO_INCREMENT가 설정되어 있다면 NULL을 입력해 주면 된다.

    다른 테이블에서 데이터를 가져오고 싶다면 현재 테이블의 열 개수와 형식이 맞는 경우에 INSERT INTO ~ SELECT구문으로 데이터를 가져올 수 있다. 가져올 테이블의 이름이 xyz라 하면 다음과 같이 쓸 수 있다. 가져올 테이블이 같은 데이터베이스에 없으면 다른 데이터베이스 경로까지 A.xyz 이렇게 명시해줘야 한다.

    INSERT INTO qwer SELECT id, name, phone, age FROM xyz;

    UPDATE구문은 데이터를 수정하는 역할을 한다.

    UPDATE qwer
        SET phone = '9999'
        WHERE phone = '1234';

    이러면 번호가 1234인 칸이 9999로 값이 바뀌게 된다. 만약 WHERE절을 생략하면 모든 번호가 9999로 바뀌니 반드시 WHERE구문이 있는지 확인해야 한다. 또는 모든 값의 단위를 바꾼다거나 할 때 전체를 1000으로 나누거나 하는 작업을 할 때 사용할 수도 있다.

    DELETE구문은 행을 삭제한다.

    DELETE FROM qwer WHERE id = 'abc';

    이러면 id가 abc인 행이 통째로 삭제된다. 테이블을 삭제할 때는 DELETE구문은 시간이 오래 걸린다. 이때 DROP을 사용하면 테이블 자체를 없애고 TRUNCATE구문은 테이블 전체를 빈 테이블로 만든다. 사용법은 다음과 같다.

    DELETE FROM qwer;
    DROP TABLE qwer;
    TRUNCATE TABLE qwer;

    단 TRUNCATE는 조건을 설정할 수 없어 전체 테이블을 삭제할 때만 사용이 가능하다.

Designed by Tistory.