본문 바로가기
728x90

SQL13

[SQL] SQL Cookbook - 01.레코드 검색 1. 테이블의 모든 행과 열 검색하기 별표(*) 문자는 SQL문에서 특별한 의미를 가진다. *를 사용하면 지정된 테이블의 모든 행이 반환된다. select * from 테이블명 대화형으로 즉석에서 실행하는 쿼리는 *를 사용하면 좋지만 프로그램 코드를 작성할 때는 각 열을 개별 지정하는게 좋다. 성능은 같지만 쿼리에서 어떤 열을 반환하는지 명확하게 알 수 있으며, 다른 사용자가 이해하기 쉽다. 2. 테이블에서 행의 하위 집합 검색하기 테이블에서 특정 조건을 충족하는 행만 보기 위해서는 WHERE절로 가져올 행을 지정(필터링) 할 수 있다. select * from emp where deptno = 10 3. 여러 조건을 충족하는 행 찾기 여러 조건을 충족하는 행을 반환하기 위해서는 OR 및 AND절과 함께.. 2023. 8. 31.
[Security] SQL Injection 💡 SQL Injection SQL인젝션(SQL 삽입, SQL 주입으로도 불린다)은 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격 방식이다. String SQL Injection id를 입력하고 pwd에 ⇒ 'OR''=’ 이라고 입력하면 True로 인식해버려서 로그인이 성공해버리게 된다. SQL query> sql = SELECT * FROM user_info WHERE id=’aaaa’ and pwd=' 'OR''=''; // 'OR''=' Numeric SQL Injection String으로 입력이 불가능한 경우 (selectBox) Burp Suit 프로그램을 이용해 Proxy로 값이 서버로 전송될 때 intercept하여 값을 원하는대로 수정.. 2023. 8. 30.
[SQL] Join의 종류와 사용법 💡Join이란? 2개 이상의 테이블을 연결하여 하나의 테이블처럼 데이터를 검색 할 때 사용한다. Ex. SELECT 테이블.컬럼, 테이블.컬럼 FROM 테이블1,테이블2 WHERE 조건 Join의 종류 Inner Join 내부조인은 가장 많이 사용되는 조인 구문 중에 하나다. 내부 조인은 조인 Condition에 따라 2 개의 테이블(A, B)의 컬럼을 합쳐 새로운 테이블을 생성한다. 즉 교차 조인을 한 결과에 조인 조건문을 충족시키는 레코드를 반환한다고 생각할 수 있다. 1) SELECT 조회할 컬럼 FROM 테이블1, 테이블2 [WHERE 조건문] 2) SELECT 조회할 컬럼 FROM 테이블1 (INNER) JOIN 테이블2 ON 테이블1.컬럼 = 테이블2.컬럼 [WHERE 추가조건] Natural.. 2023. 8. 29.
[MySQL] Query 문법 Database 데이터베이스 목록 표시 SHOW databases; 데이터베이스 생성 CREATE DATABASE [DB명]; 데이터베이스 삭제 DROP DATABASE [삭제할 DB명]; 데이터베이스에 접근(선택) USE [선택할 DB명]; Table 테이블 목록 표시 SHOW TABLES; 테이블 설계 정보 확인 DESC [테이블명]; sample DESC categories; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | .. 2023. 8. 25.
728x90