///////
Search
2️⃣

데이터의 삽입·수정·삭제·검색

삽입

INSERT INTO 테이블_이름 (컬럼1, 컬럼2, ...) VALUES(칼럼1에 삽입하는 값, 칼럼 2에 삽입하는 값);
SQL
복사
칼럼 이름과 값의 순서동일해야한다
VALUES() 안의 문자열‘작은 띠옴표’로 감싸 주어야 한다
컬럼 이름과 그에 저장될 값을 포함하지 않으면 디폴트 값이 자동으로 저장된다
예를 들어 아래의 테이블에
이렇게 4개 중 2개의 칼럼 값만 입력한다면
auto-increment가 되는 M_ID 를 제외하고, 값이 입력되지 않은 M_GENDER에는 NULL값이 저장된다.
!! 만약 NOT NULL의 제약조건을 가진 칼럼의 값을 입력하지 않았다면 에러가 발생한다.

수정

지정한 행의 컬럼들 값을 바꿀 수 있다
UPDATE 테이블 이름 SET 칼럼_이름 =WHERE 변경할 행을 찾는 조건;
SQL
복사

조건을 명시하지 않으면 모든 줄을 수정한다

UPDATE 테이블 이름 SET 컬럼 = "value";
SQL
복사
위의 쿼리처럼 WHERE가 없으면 해당 컬럼의 모든 데이터를 수정

무결성 제약조건

INSERT와 UPDATE를 할 때는 무결성 제약조건들을 지켜주셔야 에러가 발생하지 않습니다.
1.
키 무결성 제약조건: Primary Key 나 UNIQUE 로 설정한 칼럼의 값을 이미 존재하는 키로 추가/ 수정 X
2.
NOT NULL이 선언된 칼럼은 NULL값으로 추가/수정 X
3.
참조 무결성 제약조건: 참조하는 칼럼에 존재하지 않는 값으로 추가/수정 X
예시
member4라는 값을 가진 행을 이미 존재하는 member2라는 값으로 수정하면 키 무결성 제약조건에 위배되므로 에러가 발생한다.

참조되는 칼럼의 값 수정

컬럼의 ON UPDATE 제약조건을 어떻게 설정하느냐에 따라 수정 여부가 달라진다
ON UPDATE RESTRICT
ON UPDATE SET NULL
ON UPDATE CASCADE

삭제

DELETE FROM 테이블이름 WHERE 삭제할 행을 찾는 조건
SQL
복사

조건을 명시하지 않으면 테이블의 모든 행들을 삭제한다

DELETE FROM 테이블이름
SQL
복사

참조되는 키 삭제

ON DELETE 설정에 따라 달라진다
ON DELETE RESTRICT
ON DELETE SET NULL
ON DELETE CASCADE

검색

SELECT 칼럼이름 FROM 테이블이름 WHERE 조건문
SQL
복사

테이블안의 모든 칼럼의 값 검색

SELECT * FROM 테이블이름
SQL
복사

ORDER BY

행들을 정렬된 순서로 가져올 수 있다
SELECT 칼럼이름 FROM 테이블이름 WHERE 조건 ORDER BY 칼럼이름 [ASC/DESC]
SQL
복사
어느 한 컬럼을 기준으로 정렬할 수 있고 오름차순 ASC, 내림차순 DESC 을 설정할 수 있다
다중정렬
한 가지 이상의 속성으로 정렬해야 할 때는 우선순위가 높은 컬럼부터
ORDER BY 컬럼이름 [ASC/DESC], 컬럼2이름
SQL
복사

별칭

검색한 결과물의 컬럼이나 테이블의 이름을 변경하여 나타낼 수 있다
여러개의 테이블을 가져오거나 연산할때 사용된다
SELECT 테이블이름 AS 별칭
SQL
복사
예시
SELECT M_ID AS ID, M_NAME AS NAME FROM MEMBER AS M;
SQL
복사