본문 바로가기

SQL24

SQL - Injection SQL Injection 인젝션 방지SQL Injection(SQL 인젝션)은 우리의 DB를 망칠 수 있는 방법이다. 웹에서 SQL문을 사용해서 DB에 있는 정보를 빼오거나 지우거나 수정할 수 있다. 기본으로 SQL 인젝션이라고 하는데, 웹에서 DB를 검색하거나 작업할 때 SQL명령어를 함께 넣어주는 작업을 말한다. 사용자가 악성적인 SQL명령어를 웹페이지의 inputbox 같은 곳에 넣아주는 것이다. 삽입된 SQL명령어는 웹홈페이지를 손상시킬 수 있는 가능성이 있다. 예를 들어 txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId; 서버에서 위와 같은 코드가 있다고 하자.사용자의 .. 2016. 2. 25.
SQL - LIKE SQL LIKESQL LIKE 문은 컬럼에서 지정된 패턴을 찾는 것을 말한다.실제 예를 보면 더 이해가 쉽다. SQL LIKE SyntaxSELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;1. SELECT * FROM Customers WHERE City LIKE 's%'; Customers 테이블에 있는 City 컬럼에서 s로 시작하는 단어를 찾는다. 결과:CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry12Cactus Comidas para llevarPatricio SimpsonCerrito 333Buenos Aires1010Argentina18Du monde ent.. 2016. 2. 25.
SQL - IN SQL INSQL IN 은 WHERE 문 후에 특정한 value를 선택 할 수 있다. SQL IN SyntaxSELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...); 만약 City 컬럼에 Paris와 London을 선택한 정보를 보려면 SELECT * FROM Customers WHERE City IN ('Paris','London'); 결과: 19Eastern ConnectionAnn Devon35 King GeorgeLondonWX3 6FWUK53North/SouthSimon CrowtherSouth House 300 QueensbridgeLondonSW7 1RZUK57Paris sp�ialit�Marie Bertr.. 2016. 2. 25.
SQL - BETWEEN SQL BETWEENSQL BETWEEN문도 IN과 사용이 비슷하다. 단지 범위가 정해져 있을 뿐이다. SQL BETWEEN SyntaxSELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; 만약 Products 테이블에서 Price가 10~20 범위 내에 있는 값들을 보고 싶다면 SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; 결과:ProductIDProductNameSupplierIDCategoryIDUnitPrice1Chais1110 boxes x 20 bags182Chang1124 - 12 oz bottles193Aniseed Syrup1212 - 550 m.. 2016. 2. 25.
SQL - JOIN SQL Joins SQL joins는 다른 테이블로 부터 행을 가져와 합치는 것이다. 두 테이블 사이에 공통이 되는 필드를 기본으로 한다. 보통 join의 타입은 SQL INNER JOIN 으로 볼 수 있다. SQL INNER JOIN은 여러 테이블로부터 조건이 맞는 부분의 모든 행을 가져온다. SQL INNER JOIN Syntax SELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name=table2.column_name; or: SELECT column_name(s)FROM table1JOIN table2ON table1.column_name=table2.column_name; 보통 INNER JOIN은 JOIN을 나타낸다ㅏ. 예를.. 2016. 2. 25.
SQL - LEFT JOIN SQL LEFT JOIN 문SQL LEFT JOIN은 왼쪽에 있는 테이블(table A)과 table A와 일치하는 모든 행을 가져온다. 벤다이어 그램을 보고 이해하면 쉽다. SQL LEFT JOIN SyntaxSELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;or:SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name=table2.column_name;참고로 LEFT JOIN과 LEFT OUTER JOIN은 같다. 앞 포스트 JOIN에 예를 들었던 테이블을 가져와 보면 다음과 같다. SELECT * FRO.. 2016. 2. 25.