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; ?>