MY SQL 문법 정리

hee·2025년 3월 31일

Web hacking

목록 보기
1/11

1. SQL 이란?

SQL은 데이터베이스에서 데이터를 조작하고 관리하기 위해 사용하는 표준화된 언어임.
SQL을 사용해 데이터베이스에 쿼리를 전송하고 결과를 받아올 수 있음.

2. SQL 종류

- DML(조작언어), DDL(정의 언어), DCL(제어 언어)로 나뉨

3. 명령어

- SELECT (검색)
- WHERE (필터링)
- INSERT (삽입)
- UPDATE (갱신)
- DELETE (삭제)
- ORDER BY (정렬)

4. 명령어 예시

예제 1. 데이터 조회 (SELECT)

SELECT * FROM 테이블명

예제 2. 데이터 필터링 (WHERE)

SELECT * FROM 테이블명 WHERE 조건칼럼 = "값1"

예제 3. 데이터 삽입 (INSERT)

INSERT INTO 테이블명 (칼럼1, 칼럼2) VALUES ("값1", "값2")

예제 4. 데이터 갱신 (UPDATE)

UPDATE 테이블명 SET 변경할칼럼2 = "값2" WHERE 조건칼럼1 = "값"

예제 5. 데이터 삭제 (DELETE)

DELETE FROM 테이블명 WHERE 조건칼럼 = "값1"

예제 6. 데이터 정렬 (ORDER BY)

SELECT * FROM 테이블명 ORDER BY 정렬칼럼 ASC

5. MYSQL

- 오픈 소스 관계형 데이터 베이스 관리 시스템 중 가장 널리 사용됨
- 데이터를 테이블의 형태로 저장함
- column과 row로 구성되어 있음

6. PHP와 MY SQL 연결

1) MY SQLi 확장

예제 1. 연결 설정:

$servername = "localhost";
$username = "사용자이름";
$password = "비밀번호";
$database = "데이터베이스이름";

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
   die("연결 실패: " . $conn->connect_error);
}

예제 2. 연결 종료:

$conn->close();

예제 3. 쿼리 실행:

$sql = "SELECT * FROM 테이블명";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
   while($row = $result->fetch_assoc()) {
         echo "필드1: " . $row["필드1"] . ", 필드2: " . $row["필드2"] . "<br>";
   }
} else {
   echo "결과 없음";
}

7. 데이터베이스 트랜잭션

- 데이터 베이스 트랜잭션은 데이터 베이스 작업을 논리적으로 그룹화함
- 트랜잭션은 데이터 베이스 작업의 실행 단위로 여러 개의 쿼리를 하나의 논리적인 작업으로 그룹화 가능

8. 트랜잭션 특징

- 원자성
- 일관성
- 격리성
- 지속성

9. 트랜잭션 PHP에서 사용하기

1) 트랜잭션 시작

  MySQLi 확장을 사용하는 경우: 
  php $conn->begin_transaction();
  PDO 확장을 사용하는 경우: php $conn->beginTransaction();

2) 작업 수행

	트랜잭션 내에서 데이터베이스 작업을 수행합니다. SELECT, INSERT, UPDATE, DELETE 등의 쿼리를 실행할 수 있습니다.

3) 트랜잭션 커밋

  모든 작업이 성공적으로 완료되면 트랜잭션을 커밋하여 변경 사항을 영구적으로 저장합니다.
  MySQLi 확장을 사용하는 경우: php $conn->commit();
  PDO 확장을 사용하는 경우: php $conn->commit();
  

4) 트랜잭션 롤백

  작업 중 하나라도 실패하면 트랜잭션을 롤백하여 이전 상태로 복구합니다.
  MySQLi 확장을 사용하는 경우: php $conn->rollback();
  PDO 확장을 사용하는 경우: php $conn->rollBack();

0개의 댓글