일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Boot
- laravel
- jsp
- devops
- elasticsearch
- JVM
- 요리
- Web Server
- redis
- Spring Batch
- linux
- AWS
- IntelliJ
- javascript
- java
- ReactJS
- db
- Spring
- MySQL
- tool
- ubuntu
- it
- jenkins
- 맛집
- springboot
- Oracle
- Gradle
- Design Patterns
- Git
- php
- Today
- Total
목록SQL (5)
아무거나
스칼라 서브쿼리 SQL에서 단일 값을 스칼라(=Scala)값 이라고 표현한다. 즉, 스칼라 서브쿼리(=Scala Subquery)는 SELECT절에 오는 서브쿼리로 결과값으로 1행만 반환하는것을 말한다. -- SELECT문 안에 SELECT문으로 스칼라 서브쿼리 사용 SELECT board_title, ( SELECT board_contents FROM tb_board AS a WHERE a.board_no = b.board_no ) AS board_contents, board_no FROM tb_board AS b WHERE board_contents like '%contents%';
서로 연관이 있는 테이블의 row를 삭제하는 경우가 있는데, 아래의 예제 코드를 사용하면 단지 하나의 쿼리만으로 수행이 가능 예제 ) DELETE u, up, upc, ut, utp FROM users AS u LEFT JOIN users_photos AS up ON up.user_id = u.id LEFT JOIN users_photos_comments AS upc ON upc.photo_id = up.id LEFT JOIN users_topics AS ut ON ut.user_id = u.id LEFT JOIN users_topic_posts AS utp ON utp.topic_id = ut.id WHERE u.id = 12
mysql_real_escape_string - SQL 명령문에 사용되는 문자열에서 특수 문자를 회피한다.(sql인젝션 방어) 즉, 문자앞에 백슬래쉬(\)를 추가하는 mysql의 라이브러리 함수(%, _는 회피하지 않음)
Mysql에서 DB에 Multi Values를 통하여 여러 row를 한 번에 insert 하는 방식을 사용하였다. (Mysql에서는 Bulk Insert라고도 불린다) * Bulk Insert : 3개의 row가 기본적으로 하나의 transaction에서 처리가 된다. 즉, 3개 중 하나라도 필수값을 지키지 않는다거나 하는 경우 모두 rollback이 됨을 의미한다. 그러나 애플리케이션에서 다량의 Values를 생성하여 DB로 질의를 전달할때 DB측에서 받아들일 수 있는 Packet 제한이 있어에러가 발생한다. [error example]### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (30321018 > 167..
SQL Injection 이란 웹 해킹 기법 중 하나이다. 프로그램의 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL문을 실행되게 하여 데이터베이스를 조작하는 코드 인젝션 공격 방법이다 해당 포스트에서는 SQL Injection 종류중 Union SQL Injection을 활용할 것이다. Union SQL Injection은 2개 이상의 쿼리를 요청하여 결과를 얻는 UNION이라는 SQL 연산자를 이용한 SQL Injection 공격을 말한다. 즉, 원래의 요청에 한 개의 추가 쿼리를 삽입하여 정보를 얻는다. 1. UNION 연산자 * 우선 UNION 연산자의 개념부터 파악하자. (1) 예제 테이블(bkTbl1, bkTbl2 2개 테이블) (2) UNION 연산자를 이용한 결과값 [sql]SELEC..