데이터베이스(DB)

SQL 기본 문법(1)

sck07013 2024. 11. 14. 14:01

drop database : 데이터베이스를 삭제

create database : 데이터베이스 새로 생성

 

회원 테이블 생성

use market_db;
create table member -- 회원 테이블(member)
(	mem_id 		char(8) not null primary key, -- 회원 아이디(pk)
	mem_name	varchar(10) not null, -- 이름
	mem_number	int not null, -- 인원수
	addr		char(2) not null, -- 주소(경기, 서울, 경남 식으로 2글자만 입력)
	phone1		char(3), -- 연락처의 국번(02, 031, 055 등)
	phone2		char(8), -- 연락처의 나머지 전화번호(하이픈 제외)
	height		smallint, -- 평균 키
	debut_date	date -- 데뷔 일자
);

 

use : 데이터 베이스 선택

 

구매 테이블 생성

create table buy -- 구매 테이블(buy)
(	num			int auto_increment not null primary key, -- 순번(pk)
	mem_id 		char(8) not null, -- 아이디(fk)
	prod_name	char(6) not null, -- 제품 이름
	group_name	char(4) , -- 분류
	price 		int not null, -- 수량
	foreign key (mem_id) references member(mem_id)
);

 

auto_increment : 자동으로 숫자 입력

 

데이터 입력하기

insert into member values('twc', '트와이스', 9, '서울', '02', '11111111', 167, '2015.10.19');
insert into buy values(null, 'blk', '지갑', null, 30, 2);

 

insert : 테이블에 값을 입력

 

데이터 조회하기

select * from member;
select * from buy;

 

기본적인 where 절

select 열_이름 from 테이블_이름 where 조건식;

또는

select 열_이름
	from 테이블 이름
	where 조건식;

 

인원수가 4명인 회원 찾기

select * from member where_number = 4;

 

관계 연산자, 논리 연산자 사용

 

평균 키(height)가 162 이하인 회원 검색

select mem_id, mem_name
	from member
	where height <= 162;

 

평균 키(height)가 165 이상이면서 인원(mem_number)도 6명 초과인 회원 검색(논리 연산자 and 사용)

select mem_name, height, mem_number
	from member
	where height >= 165 and mem_number > 6;

 

평균 키(height)가 165 이상이거나 인원(mem_number)이 6명 초과인 회원 검색(논리 연산자 or 사용)

select mem_name, height, mem_number
	from member
	where height >= 165 or mem_number > 6;

 

평균 키(height)가 163에서 165인 회원 조회 (between ~ and)

select mem_name, height
	from member
	where height >= 163 and height <= 165;

 

경기/전남/경남 중 한 곳에 사는 회원 검색

select men_name, addr
	from member
	where addr = '경기' or addr = '전남' or addr = '경남';

 

경기/전남/경남 중 한 곳에 사는 회원 검색(in() 사용)

select men_name, addr
	from member
	where addr in('경기', '전남', '경남');

 

이름(mem_namer) 첫 글자가 '우'로 시작하는 회원 검색

select *
	from member
	where mem_name like '우%'; -- %의 의미: '우' 뒤에는 무엇이든 허용

 

앞글자는 상관없고 뒤는 '핑크'인 회원 검색

select *
	from member
	where mem_name like '__핑크' -- 언더바 2개