programming/sql

order by

asc, desc 데이터를 오름차순(asc), 내림차순(desc)으로 정렬시킬 때 사용한다. default 값은 오름차순으로 생략이 가능하다. 오름차순 : 작은 값부터 큰 값 내림차순 : 큰 값부터 작은 값 예제 : select [컬럼] from [테이블] order by [컬럼] [asc | desc] 정수 컬럼의 수를 확인할 수 있다. 각 컬럼의 오름차순 기준으로 정렬한다. 예제 : select [컬럼] from [테이블] order by [숫자]

programming/sql 2023.01.25

extractvalue()

설명 XML에서 XPath 표현식에 일치하는 데이터를 추출하여 반환 extractvalue(xml_frag, xpath_expr) 두번째 인수에 유효하지 않은 XPath 표현식이 사용된다면 오류 발생 ERROR 1105 (HY000): XPATH syntax error: '[xpath_expr 인수값]') 인수 xml_frag : XML 마크업 xpath_expr : XPath 식으로 지정 error based injection 두번째 인수에 임의의 SQL 쿼리를 지정했을 때 이 쿼리의 실행결과가 오류 메시지에 포함되어 출력된다. 이 점을 이용해 error based injection 수행이 가능하다. 두번째 인수가 항상 유효하지 않은 XPath 표현식이 되도록 하기 위해 concat 함수를 이용해 콜론..

programming/sql 2023.01.24

SELECT @local_variable

- 의미 지역변수 설정 변수 할당에는 SELECT @local_variable 대신 SET @local_variable을 사용하는 것이 좋다. - 구문 SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n] [ ; ] - 인수 @local_variable 값을 할당할 선언된 변수 오른쪽 값을 왼쪽의 변수에 할당 복합 할당 연산자 사용 가능 expression 유효한 식 - 취약점 union 구문이 필터링 되어있지 않을 때 이를 이용해서 정보를 얻을 수 있다. id가 admin인 pw를 @test 변수에 할당한다. SELECT @test:=pw WHERE id='admin' 쿼리문 자체는 변수에 ..

programming/sql 2023.01.23

[MySQL] 명령어

데이터베이스 접속 mysql -uroot -p 데이터베이스 조회 show databases; 데이터베이스 생성 create database [데이터베이스명]; 데이터베이스 삭제 drop database [데이터베이스명]; 데이터베이스 접속 use [데이터베이스명]; 테이블 생성 create table [테이블명] ( [필드명] [타입], [필드명] [타입], ... primary key([필드명]) ); 테이블 수정 - 새로운 필드 추가 alter table [테이블명] add [필드명] [타입]; - 필드 삭제 alter table [테이블명] drop [삭제할_필드명]; 테이블 삭제 drop table [테이블명]; 테이블 확인 desc [테이블명]; 레코드 삽입 insert into [테이블명] ..

programming/sql 2023.01.09

[programmers] 3월에 태어난 여성 회원 목록 출력하기

문제설명 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. MEMBER_ID VARCHAR(100) FALSE MEMBER_NAME VARCHAR(50) FALSE TLNO VARCHAR(50) TRUE GENDER VARCHAR(1) TRUE DATE_OF_BIRTH DATE TRUE MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에..

programming/sql 2023.01.07

[programmers] 조건에 맞는 회원수 구하기

문제설명 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 문제풀이 SELECT count(*) as users fro..

programming/sql 2023.01.07

[programmers] 상위 n개 레코드

문제설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE 동물 보호소에 가장 먼저..

programming/sql 2023.01.07