본문 바로가기
DB/MySql

08.29 DML select, insert, update, delete문

by 개발자결정 2024. 9. 9.

-- SELECT 구문 실행 순서 : 1. FROM 2. WHERE 3. SELECT

SELECT
	HOST,
	user
FROM
	user
WHERE
	TRUE;
	-- user = 'ksmart53id';

 

-- key PK: primary key (기본키)
ALTER TABLE members ADD PRIMARY KEY (mbr_id);

INSERT IGNORE INTO members
	(mbr_id, mbr_name, mbr_addr, mbr_daddr, mbr_zip, mbr_telno, mbr_email, mbr_reg_date)
VALUES
	('ksmartid1', '홍1', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍1@ksmart.or.kr', CURDATE()),
	('ksmartid2', '홍2', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍2@ksmart.or.kr', CURDATE()),
	('ksmartid3', '홍3', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍3@ksmart.or.kr', CURDATE()),
	('ksmartid4', '홍4', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍4@ksmart.or.kr', CURDATE()),
	('ksmartid5', '홍5', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍5@ksmart.or.kr', CURDATE()),
	('ksmartid6', '홍6', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍6@ksmart.or.kr', CURDATE()),
	('ksmartid7', '홍7', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍7@ksmart.or.kr', CURDATE()),
	('ksmartid8', '홍8', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍8@ksmart.or.kr', CURDATE()),
	('ksmartid9', '홍9', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍9@ksmart.or.kr', CURDATE()),
	('ksmartid10', '홍10', '전주시 덕진구 기린대로 499', '3층 한국스마트정보교육원', '12345', '063-717-1008', '홍10@ksmart.or.kr', CURDATE());

 

delete : select(조회) -> delete(조회 대상)

DELETE
FROM
	members
WHERE
	mbr_id = 'ksmartid10';

 

-- update : select(수정대상, 수정할 열) -> update(수정대상)

UPDATE members
SET
	mbr_telno = '010-0005-0005',
	mbr_zip = '55555'
WHERE 
	mbr_id = 'ksmartid5';

 

-- 테이블 복제 create select 구문
-- 테이블 스키마(키는 제외), 내용 복제

CREATE TABLE members_backup(
	SELECT
		m.mbr_id,
		m.mbr_name,
		m.mbr_email,
		m.mbr_reg_date
	FROM
		members m
);

 

-- select 데이터의 정렬 (오름차순 ASC, 내림차순 DESC)
-- select 보여줄 행의 갯수 제한: limit 보여줄 행의 갯수
-- select 보여줄 행의 갯수 제한: limit 보여줄 행의 시작점, 보여줄 행의 갯수
-- select 순서 : from -> where -> select -> order by -> limit

SELECT
	mbr_id	AS memberId,
	mbr_name	AS memberName
FROM
	members
WHERE
	mbr_zip = '12345'
ORDER BY	memberId DESC
LIMIT 1, 3;

 

-- distinct : 중복행 제거

SELECT
	DISTINCT
	mbr_addr,
	mbr_daddr
FROM
	members;