SQL
"Structured Query Language"의 약자입니다.
SQL은 데이터베이스의 정보에 액세스하고 수정하는 데 사용되는 쿼리 언어입니다. 웹 개발자는 SQL을 사용해 웹사이트와 웹 애플리케이션을 데이터베이스에 연결하고, 로드할 때마다 최신 정보를 표시할 수 있는 동적 웹 페이지를 만듭니다. SQL은 데이터베이스 쿼리를 위한 표준 언어이며, Oracle Database와 MySQL 같은 다양한 데이터베이스 관리 시스템에서 사용됩니다.
웹사이트와 웹 앱은 SQL 문을 사용해 관계형 데이터베이스를 쿼리합니다. 관계형 데이터베이스는 데이터를 테이블, 행(데이터베이스 항목을 나타냄), 열(해당 항목의 속성을 나타냄)에 저장합니다. 예를 들어, 데이터베이스에서 재고를 관리하는 전자 상거래 웹사이트는 제품을 테이블에 저장할 수 있습니다. 각 제품은 하나의 행으로 저장되고, 가격, 크기, 색상과 같은 각 제품의 정보는 열로 저장됩니다. 상품의 웹 페이지를 볼 때 웹 서버는 PHP 같은 스크립팅 언어를 사용해 하나 이상의 SQL 쿼리를 실행하여 해당 제품의 정보를 가져온 다음, 그 결과를 HTML 페이지에 포함합니다. 데이터베이스에서 해당 제품의 가격이 변경되면 다음에 웹 페이지를 로드할 때 새로운 정보가 표시됩니다.
가장 일반적인 SQL 명령은 테이블에서 정보를 가져오는 SELECT입니다. 테이블의 모든 정보를 가져오거나 특정 조건을 충족하는 레코드만 가져올 수 있습니다. 예를 들어, 다음 쿼리는 지정된 우편번호에 해당하는 모든 고객 레코드를 가져옵니다.
SELECT * FROM Customers WHERE Zip='55400';
다음 쿼리는 특정 제품의 가격을 가져옵니다.
SELECT Price FROM Products WHERE ProductID=47988;
UPDATE 명령은 지정된 테이블, 행, 열에 저장된 정보를 변경합니다. INSERT INTO는 새 레코드를 만들고, DELETE FROM은 레코드를 삭제합니다.
NOTE: 웹사이트 개발자가 사용자 입력을 제대로 검증하고 데이터베이스에 대한 액세스를 제어하지 않으면 SQL 인젝션 공격에 취약할 수 있습니다. SQL 인젝션을 사용하면 공격자가 일반적으로 허용되지 않는 악성 SQL 문을 데이터베이스에 보낼 수 있습니다. 예를 들어 고객의 이름, 주소, 신용카드 번호 전체 목록을 가져올 수 있습니다.
지식 테스트하기