일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 이산확률질량함수
- 통계학개론
- 행사다리꼴
- 균일분포
- 표본공간
- 연속확률변수
- 사조사
- 이산형
- 표본평균
- 수학적확률
- 피어슨상관계수
- 절삭평균
- 첨가행렬
- 기본행연산
- jupyter notebook
- 기댓값과 분산
- 수치형자료
- 포아송분포
- pmf
- 이변량자료
- 조건부확률
- 통계학입문
- 범주형자료
- 누적분포함수
- Anaconda
- 모수
- 확률밀도함수
- 이항분포
- 베르누이분포
- 모평균
- Today
- Total
Syeonny의 블로그
SQL if문, case문, 테이블 다루기 본문
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 |