본문 바로가기
Infra & Security Eng/Database Engineering

[SQL 인젝션] - SQL 테이블 출력 전체 명령어 리스트

by 엔지니어 E 2026. 4. 3.
반응형
테이블명 하나씩 출력하기

>SELECT tname FROM tab;


BOARD(예시) 컬럼명 하나씩 출력하기

>SELECT column_name FROM cols WHERE table_name='BOARD' ORDER BY column_name;


테이블 구조 확인하기 

>DESC BOARD;


테이블 실제 데이터 확인하기 

SELECT * FROM BOARD;

컬럼 수 확인하기 

SELECT COUNT(*) FROM cols WHERE table_name='BOARD';

BOARD 첫 번째 컬럼명 확인하기 

SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=1 ORDER BY column_name;

BOARD 두 번째 컬럼명 확인하기 

SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=2

MINUS
SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=1;

BOARD 두 번째 컬럼명 확인하기 

SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=3

MINUS
SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=2;

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

N번째 = ROWNUM<=N MINUS ROWNUM<=N-1
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
* 앞뒤 숫자가 항상 1 차이 나야 한다


BOARD 첫 번째 컬럼명 길이 확인하기 


SELECT LENGTH(column_name) FROM cols WHERE table_name='BOARD' AND ROWNUM<=1 ORDER BY column_name;

BOARD  번째 컬럼명 길이 확인하기 

SELECT LENGTH(column_name) FROM (

    SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=2
    MINUS
    SELECT column_name FROM cols WHERE table_name='BOARD' AND ROWNUM<=1
);

teacher 명령어

테이블 이름

SELECT tname FROM (SELECT rownum r, tname FROM tab ORDER BY tname) WHERE r=1;


테이블 길이 

SELECT LENGTH((SELECT tname FROM (SELECT rownum r, tname FROM tab ORDER BY tname) WHERE r=1)) FROM dual;

테이블 이름 첫 번째 글자

SELECT SUBSTR((SELECT tname FROM (SELECT rownum r, tname FROM tab ORDER BY tname) WHERE r=1),1,1) FROM dual;

ID 테이블의 컬럼 갯수

SELECT SUBSTR((SELECT COUNT(*) FROM cols WHERE table_name='ID'),1,1) FROM dual;

ID 테이블 첫 번째 컬럼명

SELECT column_name FROM (SELECT rownum r, column_name FROM cols WHERE table_name='ID' ORDER BY column_name) WHERE r=1;

ID 테이블 첫 번째 컬럼명의 첫 번째 글자

SELECT SUBSTR((SELECT column_name FROM (SELECT rownum r, column_name FROM cols WHERE table_name='ID' ORDER BY column_name) WHERE r=1),1,1) FROM dual;