데이터베이스란?
- 데이터를 저장하는 공간이며, 구조화된 데이터의 집합
데이터베이스의 기본 구조
- 스키마 (Schema)
- 데이터베이스의 구조를 정의
- 테이블, 열, 데이터 타입, 제약 조건 등을 포함
- 테이블 (Table) : 데이터베이스의 기본 구성 단위
- 열 (Column) : 데이터의 속성, 종류 정의
- 행 (Row) : 각 행은 개별 데이터를 나타내며, 한 줄에 대한 모든 정보를 포함
SQL 기본 문법
1. DDL (Data Definition Language)
- 데이터베이스 구조를 정의하고 수정하는 데 사용되는 SQL 명령어의 집합
- 테이블, 인덱스, 뷰 등을 생성하거나 삭제하는 작업을 수행
- CREATE: 새로운 데이터베이스 객체를 생성
- ALTER: 기존 데이터베이스 객체를 수정
- DROP: 데이터베이스 객체를 삭제
2. DML (Data Manipulation Language)
- 데이터베이스의 데이터를 조작하는 데 사용되는 SQL 명령어의 집합
- 데이터의 삽입, 수정, 삭제, 조회를 포함합니다.
문법
- INSERT : 데이터베이스의 테이블에 새로운 데이터를 추가할 때 사용합니다.
INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)
VALUES (값1, 값2, ...);
- SELECT : 테이블에서 데이터를 조회할 때 사용합니다
-- 특정 조건 조회
SELECT 컬럼1, 컬럼2, ...
FROM 테이블명
WHERE 컬럼명='값'; -- 조건
-- 전체 조회
SELECT *
FROM 테이블명;
- UPDATE : 기존 데이터의 값을 수정할 때 사용합니다.
UPDATE 테이블명
SET 컬럼1 = 수정할값1, 컬럼2 = 수정할값2, ...
WHERE 컬럼명='값'; -- 조건
- DELETE : 테이블에서 데이터를 삭제할 때 사용합니다.
DELETE FROM 테이블명
WHERE 컬럼명 = '값'; -- 해당 조건을 작성하지 않을 경우 테이블의 데이터 전체가 삭제됨
3. DCL (Data Control Language)
- 데이터베이스에 대한 접근 권한을 제어하는 데 사용되는 SQL 명령어의 집합
- 사용자 권한을 부여하거나 회수하는 작업을 수행
- GRANT: 사용자가 특정 권한을 부여
- REVOKE: 사용자가 특정 권한을 회수
PHP-MYSQL 연동 방법
<?php
// 데이터베이스 연결 정보 정의
define('DB_SERVER', 'localhost'); // 서버주소
define('DB_USERNAME', 'admin'); // ID
define('DB_PASSWORD', 'student1234'); // PW
define('DB_NAME', 'WEB_DB'); // DB 명
// 데이터베이스에 연결
$db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
$sql = "SELECT * FROM test_table";
// 정의한 SQL 쿼리를 연결한 데이터베이스에 실행
$result = mysqli_query($db_conn, $sql);
var_dump($result);
// 첫 번째 행을 가져옴
$row = mysqli_fetch_array($result);
var_dump($row);
// 두 번째 행을 가져옴
$row = mysqli_fetch_array($result);
var_dump($row);
?>
후기
PHP의 mysqli_query 함수를 이용하여 PHP와 연동한 데이터베이스의 쿼리를 실행할 수 있으며, mysqli_fetch_array 함수를 사용해서 데이터의 행을 추출하는 방법을 배웠다. 추후 반복문을 사용하여 데이터베이스의 전체 내용을 가져오거나, 배열을 사용하여 필요한 데이터를 추출하는 방법을 고려하면 좋을 것 같다.
728x90
반응형
'모의해킹 > 모의해킹 스터디' 카테고리의 다른 글
모의해킹 스터디 2주차 과제(2) - 로그인 (0) | 2024.10.28 |
---|---|
모의해킹 스터디 2주차 과제(1) - 회원가입 (0) | 2024.10.27 |
모의해킹 스터디 2주차 과제 - Mini Mission (0) | 2024.10.26 |
모의해킹 스터디 1주차 과제 (0) | 2024.10.21 |
모의해킹 스터디 1주차 정리 (0) | 2024.10.21 |