데이터베이스(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개