4월 8일 내용정리
1.ddl(데이터정의어):create(생성), alter(변경), drop(삭제)
dml(데이터 조작어):select(검색),insert(삽입), update(수정), delete(삭제)
dcl(데이터 제어어):grant(권한설정), revoke(권한회수), commit(작업완료), rollback(작업취소)
2.create database 데이터베이스명;
create table 테이블명( 속성.... );
insert into 테이블명(열이름,...) values(값1,....);
select 열이름 as 별명,... from 테이블명 where 조건 order by 정렬;
select ~ from ~ where 조건 group by 열이름 having 조건 orderby
update 테이블명 set 열이름=값,열이름=값,...:전체업데이트
update 테이블명 set 열이름=값,..where조건; :조건에 해당되는것만 업데이트
3.테이블 복사
-create table 카피해서 만들 테이블명(select*from테이블명);
-create table 새로만들테이블명(
select 열이름,열이름,열이름,...
from 기존테이블명alter
where 조건);
4.많다: 정렬에서 내림차순, 위에서 3개를 뽑는다.
limit 숫자:위에서 숫자만큼
예)limit 3: 위에서부터시작 3개 뽑아내기
예)limit 3,4: 위에서부터 3부터 시작해서 4개 뽑아내기
5.delete from 테이블명 where 조건; 조건에 맞는 데이터를 삭제
delete from 테이블명 ; 구조만 남기고 내용은 지움
6.% : 모든문자, : 한문자만
가전으로 시작하는 like '가전%'
점으로 끝나는 like '%점'
서울을 포함하는 like '%서울%'
첫글자는 백으로 시작하고 두번째 글자는 어떤것이나 가능: like '백' 예)백성, 백지, 백전,...
7.서브쿼리(하위쿼리):쿼리문 안에 또 쿼리문이 들어 있는 것
any : 서브쿼리의 여러개의 결과중 한가지만이라도 만족하면 (or과 비슷)
all : 서브쿼리의 여러개의 결과를 모두 만족해야함(and 와 비슷)
=any :서브쿼리의 여러개의 결과와 같은 것들을 뽑아 냄
=in()
use market_db;
select * from buyTBL;
select * from memTBL;
-- 문1
update memTBL set mem_number=mem_number+3; -- 모든 멤버에 +3 됨
update memTBL set mem_number=mem_number-3; -- 모든 멤버에 -3 됨
-- 문2
update memTBL set mem_number=mem_number+3 where mem_id='apn' or mem_id='itz'; -- 특정 데이트만 업데이트하고싶을때
-- 문3
update memTBL set addr='seoul' where mem_id='서울'; -- 특정조건으로 내용을 바꾸고 싶을때
select * from buyTBL;
select * from memTBL;
-- 문4
create table buyCopy(select*from buyTBL); -- buyTBL 테이블 전체 복사하기
-- 문5
-- 일부분만 검색해서 원하는 자료만골라 테이블복사하기
create table digBook (select * from buyTBL where group_name in('디지털','서적') );
-- 문6
create table memCopy (select mem_id, mem_name, mem_number from memTBL);
-- 문7
create table top3(select * from buyCopy order by amount desc limit 3);
-- 문8
create table priceTop(select * from buyTBL order by price desc limit 2,3);
-- 문9
delete from buyCopy;
-- 문10
drop table digBook; -- 완전제거
-- 문11
delete from memCopy
where mem_id like 'a%' or mem_id like '%u';
-- 문12
select mem_id, height from memTBL where height >167; -- 숫자를 알수 있을때
select mem_id, height from memTBL where height > (select height from memTBL where mem_id ='itz');
-- 문13
select mem_id, height from memTBL where height > (select height from memTBL where mem_id ='apn');
-- 문14
select mem_id, height from memTBL where height > any(select height from memTBL where addr='경남');
select mem_id, height from memTBL where height > all(select height from memTBL where addr='경남');