Создание базы данных и таблиц PDO
Для выполнения запросов к серверу базы данных у объекта PDO
вызывается метод exec()
, в который
передается выполняемое выражение SQL
.
$conn = new PDO("mysql:host=localhost", "root", "mypassword");
$conn->exec(команда_sql);
Создание базы данных
Для создания базы данных применяется SQL-команда
CREATE DATABASE
, после которой указывается имя
создаваемой базы данных. Создадим базу данных через PHP:
<?php
try {
// подключаемся к серверу
$conn = new PDO("mysql:host=localhost", "root", "mypassword");
// SQL-выражение для создания базы данных
$sql = "CREATE DATABASE testdb1";
// выполняем SQL-выражение
$conn->exec($sql);
echo "Database has been created";
}
catch (PDOException $e) {
echo "Database error: " . $e->getMessage();
}
?>
В данном случае после подключения к серверу определяется переменная $sql
, которая хранит команду на
создание бд с именем textdb1
:
$sql = "CREATE DATABASE testdb1";
Далее для выполнения этой команды передаем ее в метод exec()
:
$conn->exec($sql);
В итоге при успешном создании базы данных мы увидим в браузере сообщение об создании БД:
Database has been created
Создание таблицы
Подобным образом можно выполнять запросы на создание таблиц в базе данных. Для создания таблиц применяется
SQL-команда CREATE TABLE
, после которой указывается имя создаваемой таблицы и в скобках определения столбцов.
Так, возьмем выше созданную базу данных textdb1
. И создадим в ней таблицу, которая описывается следующим кодом
CREATE TABLE Users (id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30), age INTEGER);
Здесь создается таблица под названием users
. Она будет хранить условных пользователей.
В ней будет три столбца: id
, name
и age
. Столбец id
представляет числовой уникальный идентификатор строки - или
идентификатор пользователя. Столбец name
представляет строку - имя пользователя. А столбец age
представляет число - возраст пользователя.
Для создания таблицы определим следующий скрипт php:
<?php
try {
// подключаемся к серверу
$conn = new PDO("mysql:host=localhost;dbname=testdb1", "root", "mypassword");
// SQL-выражение для создания таблицы
$sql = "create table users (id integer auto_increment primary key, name varchar(30), age integer);";
// выполняем SQL-выражение
$conn->exec($sql);
echo "Table Users has been created";
}
catch (PDOException $e) {
echo "Database error: " . $e->getMessage();
}
?>
Обратите внимание, что по сравнению с предыдущим примером здесь в строке подключения указана база данных, в которой
создается таблица: "mysql:host=localhost;dbname=testdb1"
И после успешного выполнения запрос мы увидим в браузере сообщение об создании таблицы:
Table Users has been created