Syeonny의 블로그

SQL if문, case문, 테이블 다루기 본문

SQL

SQL if문, case문, 테이블 다루기

syeonny 2024. 12. 3. 17:30

241203

 

 

mysql 기반 

 

IF 문 

 

조건문 처리: 조건이 참이면 1 거짓이면 2 선택 

 

SELECT  IF(조건, 참, 거짓)

FROM 

 

student 테이블에서 age가 10보다 크면 high 작으면 low 를 age level 열로 이름과 함께 반환 

SELECT name,
    IF(age > 10, 'High', 'Low') AS age_level
FROM student;

 

 

조건이 많다면 case 문 사용 가능 

 

CASE 문 

 

특정 조건에 따라 각기 다른 반환값 존재

 

SELECT 

CASE 
        WHEN 조건1 THEN 값1
        WHEN 조건2 THEN 값2
        ELSE 기본값

END AS 열 
FROM 

 

 

student 테이블에서 score열이 90 이상이면 A, 80 이상이면 B, 70 이상이면 C, 모든 조건에 충족되지 않는 그 아래 점수는 F로 grade 열로 반환  

SELECT 
    name, score
    CASE 
        WHEN score >= 90 THEN 'A'
        WHEN score >= 80 THEN 'B'
        WHEN score >= 70 THEN 'C'
        ELSE 'F'
    END AS grade
FROM student;

 

 

테이블 생성

 

CREATE TABLE 테이블명 (열과 속성)

 

  • CHAR 
  • VARCHAR 
  • DATE 
  • INT 
  • PRIMARY KEY 
  • FOREIGN KEY REFERENCES 
  • UNIQUE 고유 제약조건 
CREATE TABLE 고객정보 (
    고객ID INT PRIMARY KEY, 
    이름 VARCHAR(50) NOT NULL,
    생년월일 DATE,
    이메일 VARCHAR(100) UNIQUE, 
    전화번호 CHAR(11) 
);

 

 

테이블 제거 

 

DROP TABLE IF EXISTS 테이블명;

 

DROP TABLE IF EXISTS 고객정보;

 

데이터 추가 

 

INSERT INTO 테이블명 (열1, 열2, 열3) VALUES (값1, 값2, 값3); 
INSERT INTO 테이블명 VALUES (값1, 값2, 값3); 

 

INSERT INTO 고객정보 VALUES (1, '홍길동', '1990-01-01', 'hong@example.com', '01012345678');
INSERT INTO 고객정보 (고객ID, 이름, 생년월일) VALUES (2, '김철수', '1985-06-15');

 

 

데이터 형식 변경 

 

ALTER TABLE 테이블명 MODIFY 열이름 새로운형식; 

 

열 이름 변경 

 

ALTER TABLE 테이블명 RENAME COLUMN 기존열이름 TO 새로운 열이름; 

 

열 추가

 

ALTER TABLE 테이블명 ADD 열이름 데이터형식 제약조건;

 

열 삭제 

 

ALTER TABLE 테이블명 DROP COLUMN 열이름; 

 

데이터 수정

 

UPDATE 테이블명
SET 열이름 = 값
WHERE 조건; 

 

-- 고객 ID가 1인 사람의 이메일을 수정

-- 모든 고객의 전화번호를 특정 값으로 변경

UPDATE 고객정보
SET 이메일 = 'newemail@example.com'
WHERE 고객ID = 1;

UPDATE 고객정보
SET 전화번호 = '00000000000';

 

 

데이터 삭제

 

DELETE FROM 테이블명 WHERE 조건; 
DELETE FROM 테이블명; 

 

이름이 '김'으로 시작하는 모든 행 삭제

DELETE FROM 고객정보
WHERE 이름 LIKE '김%';

 

 

테이블 이름 변경 

 

RENAME TABLE 기존테이블명 TO 새테이블명; -- 테이블 이름 변경

 

제약조건 추가 

 

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 제약조건 (열이름); 

'SQL' 카테고리의 다른 글

[SQL] 고급 함수  (0) 2025.04.05
SQL 내장 함수  (0) 2024.12.05
SQL 데이터 집계, 순위, 조인, 뷰  (0) 2024.12.05
SQL 데이터 베이스 모델링  (0) 2024.12.03
SQL 조회, 조건  (0) 2024.12.03