SQL 기초

bitna's study note·2022년 4월 9일
0

SQL

목록 보기
6/12

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='경남'); 	
profile
좋은개발자가 되기위한 삽질기록 노트

0개의 댓글

관련 채용 정보