Для выполнения запросов к серверу базы данных у объекта 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);
В итоге при успешном создании базы данных мы увидим в браузере сообщение об создании БД:
Подобным образом можно выполнять запросы на создание таблиц в базе данных. Для создания таблиц применяется SQL-команда CREATE TABLE
, после которой указывается имя создаваемой таблицы и в скобках определения столбцов.
Так, возьмем выше созданную базу данных "testdb1". И создадим в ней таблицу, которая описывается следующим кодом
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"
И после успешного выполнения запрос мы увидим в браузере сообщение об создании таблицы: