-
(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는 조건을 설정할 수 없어 전체 테이블을 삭제할 때만 사용이 가능하다.
'SQL' 카테고리의 다른 글
(My)SQL SELECT 구문을 알아보자 2 (0) 2023.02.19 (My)SQL SELECT 구문을 알아보자 1 (1) 2023.02.17 데이터베이스, SQL공부를 위한 기본 지식 알아보기 (0) 2023.02.12