PHP MySQL 데이터베이스 생성
- 이전 페이지 MySQL Connect
- 다음 페이지 MySQL Insert
데이터베이스는 하나 이상의 테이블을 포함합니다.
데이터베이스 생성
CREATE DATABASE 문은 MySQL에서 데이터베이스를 생성하는 데 사용됩니다.
문법
CREATE DATABASE database_name
위의 문장을 PHP가 실행하려면 mysql_query() 함수를 사용해야 합니다. 이 함수는 MySQL 연결에 쿼리나 명령어를 보내는 데 사용됩니다.
예제
아래의 예제에서는 "my_db"라는 데이터베이스를 생성했습니다:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('연결할 수 없습니다: ' . mysql_error()); } if (mysql_query("CREATE DATABASE my_db",$con)) { echo "데이터베이스 생성됨"; } else { echo "데이터베이스 생성 오류: " . mysql_error(); } mysql_close($con); ?>
테이블 생성
CREATE TABLE은 MySQL에서 데이터베이스 테이블을 생성하는 데 사용됩니다.
문법
CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
이 명령어를 실행하려면 mysql_query() 함수에 CREATE TABLE 문을 추가해야 합니다.
예제
아래의 예제는 "Persons"라는 테이블을 생성하는 방법을 보여줍니다. 이 테이블은 "FirstName", "LastName" 및 "Age" 세 열을 가집니다:
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('연결할 수 없습니다: ' . mysql_error()); } // 데이터베이스 생성 if (mysql_query("CREATE DATABASE my_db",$con)) { echo "데이터베이스 생성됨"; } else { echo "데이터베이스 생성 오류: " . mysql_error(); } // my_db 데이터베이스에서 테이블 생성 mysql_select_db("my_db", $con); $sql = "CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con); mysql_close($con); ?>
중요 사항:테이블을 생성하기 전에 먼저 데이터베이스를 선택해야 합니다. mysql_select_db() 함수를 사용하여 데이터베이스를 선택합니다.
주의사항:varchar 타입의 데이터베이스 필드를 생성할 때, 필드의 최대 길이를 지정해야 합니다. 예를 들어: varchar(15).
MySQL 데이터 타입
사용할 수 있는 다양한 MySQL 데이터 타입:
数值 타입 | 설명 |
---|---|
|
정수만 지원합니다. size 매개변수에서 숫자의 최대 값을 지정합니다。 |
|
소수점을 포함한 숫자를 지원합니다。 size 매개변수에서 숫자의 최대 값을 지정합니다. d 매개변수에서 소수점 오른쪽의 숫자의 최대 값을 지정합니다。 |
텍스트 데이터 타입 | 설명 |
---|---|
char(size) |
고정 길이의 문자열을 지원합니다. (알파벳, 숫자 및 특수 기호를 포함할 수 있습니다). size 매개변수에서 고정 길이를 지정합니다。 |
varchar(size) |
가변 길이의 문자열을 지원합니다. (알파벳, 숫자 및 특수 기호를 포함할 수 있습니다). size 매개변수에서 최대 길이를 지정합니다。 |
tinytext | 가변 길이의 문자열을 지원합니다. 최대 길이는 255 문자입니다。 |
|
가변 길이의 문자열을 지원합니다. 최대 길이는 65535 문자입니다。 |
|
가변 길이의 문자열을 지원합니다. 최대 길이는 16777215 문자입니다。 |
|
가변 길이의 문자열을 지원합니다. 최대 길이는 4294967295 문자입니다。 |
날짜 데이터 타입 | 설명 |
---|---|
|
날짜 또는 시간을 지원합니다 |
기타 데이터 유형 | 설명 |
---|---|
enum(value1,value2,ect) | ENUM은 ENUMERATED 목록의 약자입니다. 괄호 안에 최대 65535개의 값을 넣을 수 있습니다. |
set | SET과 ENUM은 유사하지만, SET은 최대 64개의 목록 항목을 가질 수 있으며, 여러 선택을 저장할 수 있습니다. |
주키와 자동 증가 필드
모든 테이블은 주키 필드를 가져야 합니다.
주키는 테이블의 행을 고유하게 식별하는 데 사용됩니다. 테이블에서 주키 값은 유일해야 합니다. 또한, 주키 필드는 비어 있을 수 없습니다. 이는 데이터베이스 엔진이 기록을 위치하기 위해 값을 필요로 하기 때문입니다.
주키 필드는 항상 인덱스에 포함되어야 합니다. 이 규칙에는 예외가 없습니다. 주키 필드에 인덱스를 설정해야 합니다. 이렇게 하면 데이터베이스 엔진이 주키 값에 따라 행을 빠르게 위치할 수 있습니다.
아래의 예제는 personID 필드를 주키 필드로 설정합니다. 주키 필드는 일반적으로 ID 번호로 사용되며, AUTO_INCREMENT 설정이 일반적입니다. AUTO_INCREMENT는 새 레코드가 추가될 때마다 필드 값이 순차적으로 증가합니다. 주키 필드가 비어 있지 않도록 보장하기 위해 NOT NULL 설정을 필드에 추가해야 합니다.
예제
$sql = "CREATE TABLE Persons ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con);
- 이전 페이지 MySQL Connect
- 다음 페이지 MySQL Insert