본문 바로가기

WEB/SQL

[SQL INJECTION] SQL 기본 문법 정리 Ⅴ (예제)

이 포스트는 인프런의 성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법 강의를 보고 작성하였습니다!

 

 

1. member 테이블의 name이 'guest'인 레코드를 출력하라.

select * from member where name='guest';

2. member 테이블의 name이 'guest'인 레코드의 email을 출력하라.

select email from member where name='guest';

3. member 테이블의 name이 'guest'가 아닌 레코드의 name 과 email를 출력하라.

select name, email from member where name!='guest';

4. member 테이블의 name이 'kimsb'또는 'mypage'인 레코드를 출력하라.

select * from member where name='kimsb' OR name='mypage';
select * from member where name in('kimsb','mypage');

5. member 테이블의 name이 'kimsb', 'mypage'이 아닌 레코드를 출력하라.

select * from member where name!='kimsb' AND name!='mypage'
select * from member where name not in('kimsb','mypage');

6. member 테이블의 seq 가 2이상, 5미만인 레코드를 출력하라.

select * from member where seq>=2 AND seq<5;

7. member 테이블의 seq가 1 또는 3 또는 5인 레코드를 출력하라. 

select * from member where seq in(1,3,5);

8. member 테이블의 name 이 'my로 시작하는 레코드를 출력하라. 

select * from member where name like 'my%';

9. member 테이블의 email이 'crehacktive.co.kr'을 주소로 사용하는 레코드를 출력하라 

select * from member where email like '%@crehacktive.co.kr';

 

10. member 테이블의 name 을 레코드를 출력하라. 단, 'name: 사용자명' 형식으로 출력하라. 

select concat('name:',name) from member; 

 

11. member 테이블의 name값의 앞 3문자만 출력 후 뒤에는 '###'가 붙도록 출력하라.

select concat(substring(name,1,3),'###') 0from member;

 

12. member 테이블의 레코드를 seq 칼럼 기준으로 내림차순 정렬 후 2개의 레코드를 출력하라. 

select * from member order by seq desc limit 2;