여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - MySQL 테이블 생성
PHP – MySQL 테이블 생성
2년전 작성
9개월전 수정

MySQL 테이블 생성

데이터베이스 테이블은 고유한 이름을 가지며 열과 행으로 구성된다.

CREATE TABLE 문은 MySQL에서 테이블을 작성하는 데 사용된다.

“MyGuest”라는 테이블을 만들고 “id”, “name”, “name”, “lastname”, “email”및 “reg_date”의 다섯 개의 열을 만든다.

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

데이터 형식은 열이 보유할 수 있는 데이터 유형을 지정한다.

데이터 형식 다음에 각 열에 대해 다른 선택적 속성을 지정할 수 있다.

  • NOT NULL – 각 행에는 해당 열의 값이 포함되어야 하며 null 값은 허용되지 않는다.
  • DEFAULT – 다른 값이 전달되지 않을 때 추가되는 기본값을 설정한다.
  • UNSIGNED – 숫자 유형에 사용되며 저장된 데이터를 양수로 제한하고 0으로 제한한다.
  • 자동 증가 – MySQL은 새 레코드가 추가 될 때마다 필드의 값을 자동으로 1만큼 증가시킨다.
  • 기본 키 – 테이블의 행을 고유하게 식별하는 데 사용된다. PRIMARY KEY 설정이 있는 AUTO_INCREMENT 컬럼은 종종 ID 번호이며 자주 ID 번호와 함께 사용된다.

각 테이블에는 기본 키 열(이 경우 “id” 열)이 있어야한다.
해당 값은 테이블의 각 레코드에 대해 고유해야 한다.

MySQLi 객체 지향

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
  echo "Table MyGuests created successfully";
} else {
  echo "Error creating table: " . $conn->error;
}

$conn->close();
?>

MySQLi 절차

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if (mysqli_query($conn, $sql)) {
  echo "Table MyGuests created successfully";
} else {
  echo "Error creating table: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

PDO

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $sql = "CREATE TABLE MyGuests (
  id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  firstname VARCHAR(30) NOT NULL,
  lastname VARCHAR(30) NOT NULL,
  email VARCHAR(50),
  reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  )";

  $conn->exec($sql);
  echo "Table MyGuests created successfully";
} catch(PDOException $e) {
  echo $sql . "
" . $e->getMessage(); } $conn = null; ?>

Mingg`s Diary
밍구
공부 목적 블로그