English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 PHP를 사용하여 MySQL 데이터베이스에서 테이블을 생성하는 방법을 배웁니다.
이전 장에서 MySQL 서버에서 데이터베이스를 생성하는 방법을 배웠습니다. 이제 데이터베이스 내에서 몇 가지 테이블을 생성하는 시간이 되었습니다. 이 테이블들은 실제 데이터를 저장할 것입니다. 테이블은 정보를 행과 열로 조직합니다.
SQL CREATE TABLE문장은 데이터베이스에서 테이블을 생성하는 데 사용됩니다.
이 CREATE TABLE 문을 사용하여 SQL 쿼리를 수행해 보겠습니다. 이후, 이 SQL 쿼리를 PHP mysqli_query() 함수에 전달하여 테이블을 최종적으로 생성하도록 합니다.
<?php /* MySQL 서버 연결을 시도합니다. MySQL을 실행하고 있는 경우를 가정합니다. 기본 설정의 서버(비밀번호 없는 사용자 "root") */ $link = mysqli_connect("localhost", "root", ""); // 연결 확인 if($link === false){ die("에러: 연결할 수 없음. " . mysqli_connect_error()); } //CREATE TABLE 쿼리 실행을 시도합니다 $sql = "CREATE TABLE persons("; id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, email VARCHAR(70) NOT NULL UNIQUE ); if(mysqli_query($link, $sql)){ echo "테이블이 성공적으로 생성되었습니다."; } else{}} echo "에러: $sql 실행할 수 없음. " . mysqli_error($link); } //연결을 닫습니다 mysqli_close($link); ?>
<?php /* MySQL 서버 연결을 시도합니다. MySQL을 실행하고 있는 경우를 가정합니다. 기본 설정의 서버(비밀번호 없는 사용자 "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); // 연결 확인 if($mysqli === false){ die("에러: 연결할 수 없음. " . $mysqli->connect_error); } //CREATE TABLE 쿼리 실행을 시도합니다 $sql = "CREATE TABLE persons("; id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, email VARCHAR(70) NOT NULL UNIQUE ); if($mysqli->query($sql) === true){ echo "테이블 생성 성공."; } else{}} echo "에러: 실행할 수 없음 $sql. ". $mysqli->error; } // 연결을 닫습니다 $mysqli->close(); ?>
<?php /* MySQL 서버 연결을 시도합니다. MySQL을 실행하고 있는 경우를 가정합니다. 기본 설정의 서버(비밀번호 없는 사용자 "root") */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //PDO 오류 모드를 예외로 설정합니다 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }); catch(PDOException $e){ die("에러: 연결할 수 없음 ". $e->getMessage()); } //CREATE TABLE 쿼리 실행을 시도합니다 try{ $sql = "CREATE TABLE persons("; id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, email VARCHAR(70) NOT NULL UNIQUE ); $pdo->exec($sql); echo "테이블이 성공적으로 생성되었습니다."; }); catch(PDOException $e){ die("에러: 실행할 수 없음 $sql. ". $e->getMessage()); } //연결을 닫습니다 unset($pdo); ?>
이 예제의 PHP 코드는 데이터베이스에서 person이라는 테이블을 생성하며, 이 테이블은 id, first_name, last_name, email이라는 네 열을 가지고 있습니다.
주의하십시오. 각 필드 이름 뒤에는 데이터 타입 선언이 있습니다. 이 선언은 열에서 저장할 수 있는 데이터 타입(정수, 문자열, 날짜 등)을 지정합니다.
이전 SQL 문장에서는 열 이름 뒤에 추가 제약 조건(또는 접미사)을 지정했습니다. 예를 들어 NOT NULL, PRIMARY KEY, AUTO_INCREMENT 등이 있습니다. 제약 조건은 열에서 허용할 수 있는 값에 대한 규칙을 정의합니다.
관련 내용을 확인하십시오SQL CREATE TABLE 문장을(를) 참조하여 문법 및 MySQL 데이터베이스 시스템에서 사용할 수 있는 데이터 타입 및 제약 조건에 대한 자세한 정보를 얻을 수 있습니다.
주의: SQL 문장에서는 키워드, 값, 표현식 등을 중단하지 않는 한 언제든지 개행 문자가 나타날 수 있습니다.