Создание и удаление таблиц
CREATE TABLE name_table(
id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL ,
title VARCHAR(255) ,
message TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
age INT(11) DEFAULT 0 ,
price DOUBLE
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
PRIMARY KEY — первичный ключ, ограничение, позволяющее однозначно идентифицировать каждую запись в таблице SQL.
Первичные ключи должны содержать уникальные значения.
Первичный ключ не может иметь значения NULL.
NOT NULL — означает, что каждая строка должна содержать значение для этого столбца, нулевые значения допускаться не будут.
AUTO_INCREMENT — автоматический инкремент.
CHARACTER SET utf8 COLLATE utf8_general_ci — кодировка для конкретного поля, ставится сразу после типа.
). — здесь кодировка задана для всех полей
DEFAULT — значение по умолчанию.
ENGINE=InnoDB — тип таблицы(используемый движок) — InnoDB
Пример запроса на удаление таблицы name_table :
$sql = «DROP TABLE name_table» ;
Удалить все данные из таблицы
— данная команда очистит полностью таблицу и приведет ее к первоначальному состоянию,
когда она только создалась ( CREATE TABLE ) и в ней не было никаких записей.
— данная команда не производит сброс счётчика AUTO_INCREMENT , который используется, как известно, для автоматической генерации значения поля без необходимости его ручной установки. Чтобы этого избежать, можно использовать вместо команды выше данный вариант:
TRUNCATE TABLE name_table RESTART IDENTITY ;
— данный вариант вызова команды TRUNCATE позволит сбросить значение счётчика полей с AUTO_INCREMENT .
Поэтому значение поля первой добавленной записи после данного удаления будет 1 .
ПРИМЕРЫ создания таблиц
1 mysqli — объектно-ориентированный подход
// Создаем переменные
$servername = «localhost» ; // для локального сервера на компьютере
$username = «root» ; // имя пользователя
$password = «» ; // пароль если существует
$dbname = «newDB» ; // имя базы данных
// Устанавливаем соединение с сервером MySQL:
// создаем экземпляр класса new mysqli() и записываем, в качестве аргументов, наши переменные
$conn = new mysqli ( $servername , $username , $password , $dbname );
// Проверка соединения:
// если выполняется выражение $conn->connect_error , то останавливаем выполнение die
// и выводим «Не удалось подключиться»
// С помощью выражения $conn -> connect_error выведем информацию об ошибке .
// Иначе выведем: «Соединение успешно установлено»
if ( $conn -> connect_error ) die ( «Не удалось подключиться: » . $conn -> connect_error );
>
echo «Соединение успешно установлено» ;
// Запрос для создания таблицы users1
$sql = «CREATE TABLE users(
name VARCHAR(30) NOT NULL,
surname VARCHAR(30) NOT NULL PRIMARY KEY,
password VARCHAR(30) NOT NULL )» ;
// Проверка выполнения создания таблицы:
// Если значение $conn -> query($sql) будет — TRUE,
// тогда выведем сообщение «Таблица users создана успешно».
// В противном случае выведем сообщение «Ошибка при создании таблицы»
// и выведем информацию об ошибке: $conn->error.
if ( $conn -> query ( $sql ) === TRUE ) echo «Таблица users создана успешно
» ;
> else <
echo «Ошибка при создании таблицы: » . $conn -> error ;
>
// закрываем соединение
$conn -> close ();
?>
— После перезагрузки страницы выведет в браузере:
Таблица users создана успешно
В phpMyAdmin в базе данных newDB появилась таблица » users «
2 mysqli — процедурный подход
// Создаем переменные
$servername = «localhost» ; // для локального сервера на компьютере
$username = «root» ; // имя пользователя
$password = «» ; // пароль если существует
$dbname = «newDB» ; // имя базы данных
// Устанавливает соединение с сервером MySQL с помощью функции mysqli_connect()
$conn = mysqli_connect ( $servername , $username , $password , $dbname );
if (! $conn ) die ( «Не удалось подключиться: » . mysqli_connect_error ());
>
echo «Соединение успешно установлено» ;
// Запрос для создания таблицы:
// NOT NULL — означает, что каждая строка должна содержать значение для этого столбца,
// нулевые значения допускаться не будут.
// PRIMARY KEY — первичный ключ, ограничение, позволяющее однозначно идентифицировать
// каждую запись в таблице SQL.
$sql = «CREATE TABLE users2(
name VARCHAR(30) NOT NULL,
surname VARCHAR(30) NOT NULL PRIMARY KEY, password VARCHAR(30) NOT NULL )» ;
// Проверка выполнения создания таблицы:
// Если запрос к базе данных — выполнен,
// тогда выведем сообщение «Таблица users2 создана успешно».
// В противном случае выведем сообщение «Ошибка при создании таблицы»
// и выведем информацию об ошибке mysqli_error($conn) ;
if ( mysqli_query ( $conn , $sql )) echo «Таблица users2 создана успешно
» ;
> else <
echo «Ошибка при создании таблицы: » . mysqli_error ( $conn ); >
// закрываем соединение
mysqli_close ( $conn );
?>
— После перезагрузки страницы выведет в браузере:
Таблица users2 создана успешно
В phpMyAdmin в базе данных newDB появилась таблица » users2 «
// Создаем переменные
$servername = «localhost» ; // для локального сервера на компьютере
$username = «root» ; // имя пользователя
$password = «» ; // пароль если существует
$dbname = «newDB» ; // имя базы данных
// Подключение к серверу MySQL
// Обработка ошибок подключения: используем блок try-catch :
try // Подключение к серверу MySQL
$conn = new PDO ( «mysql:host= $servername ; dbname= $dbname » , $username , $password );
echo «Соединение успешно установлено
» ;
// Устанавливаем режим ошибки PDO в исключение
$conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION );
> catch ( PDOException $e ) <
echo «Ошибка при создании таблицы:
» . $e -> getMessage ();
>
// Созданние таблицы
try // Созданние SQL-запроса
$sql = «CREATE TABLE users3(
name VARCHAR(30) NOT NULL,
surname VARCHAR(30) NOT NULL PRIMARY KEY,
password VARCHAR(30) NOT NULL )» ;
// Устанавливаем режим ошибки PDO в исключение
$conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION );
$conn -> exec ( $sql );
echo «Таблица users3 создана успешно
» ;
> catch ( PDOException $e ) <
echo «Ошибка при создании таблицы:
» . $sql . $e -> getMessage ();
>
// Закрыть подключение
$conn = null ;
?>
— После перезагрузки страницы выведет в браузере:
Таблица users3 создана успешно
В phpMyAdmin в базе данных newDB появилась таблица » users3 «
🎅MnogoBlog
⛄как создать сайт на wordpress, настроить и оптимизировать wordpress
Создаём и редактируем таблицы MySQL с помощью PHP
Здравствуйте, сегодня будем создавать таблицу MySQL, заполнять её данными, научимся извлекать данные из таблицы, изменять их и удалять.
Для тестирования нижеуказанного кода можно использовать плагин – Hello (скачать данный плагин по этой ссылке) – в нем нижеуказанный код закомментирован (с помощью /* и */).
Можете установить и активировать плагин hello, далее зайти в админке в пункт “Плагины”, подпункт “Редактор”, выбрать плагин hello, разкомментировать нужный код и протестировать изменения с помощью phpMyAdmin.
Грамотно разработанный сайт залог успеха Вашего бизнеса в Сети. Чтобы создать сайт, который будет корректно представлять ваш бренд нужно обратиться к профессионалам своего дела –
на базе платформы «1С-Битрикс» Вам помогут создать и осуществить продвижения сайта любой сложности.
1. Создаём таблицу MySQL:
1.1. Подключаемся к базе данных MySQL:
# Check Database $db = new Mysqli("localhost", "username", "password", "database"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
Вот мой тестовый сайт со следующими данными:
Вставляем данные в код и получим следующее:
# Check Database $db = new Mysqli("localhost", "aysibtk_204633", "5EQDG2315SNsf3Z", "ethbi_204633"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
1.2. Добавим новую таблицу в существующую базу данных MySQL:
Создадим новую таблицу “store_details”.
В таблице будет 4 столбца:
ID – этот столбец будет первичным ключом для таблицы
store_name
store_owner
store_country
Для столбца ID будет использоваться целочисленный тип данных (тип int), в то время как остальные столбцы будут установлены на строковый тип данных, а именно – varchar(255) – по желанию можете установить другие типы.
# Create a new table $sql = "CREATE TABLE IF NOT EXISTS `store_details` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `store_name` varchar(255) NOT NULL, `store_owner` varchar(255) NOT NULL, `store_country` varchar(255) NOT NULL )"; $db->query($sql);
Vы добавили таблицу с названием store_details в нашу базу данных MySQL, теперь если мы зайдем в phpMyAdmin:
, то увидим, что появилась новая таблица store_details:
, давайте же приступим к её наполнению.
2. Вставляем данные в таблицу базы данных MySQL с помощью PHP:
2.1. Проверяем подключение к базе данных:
# Check Database $db = new Mysqli("localhost", "aysibtk_204633", "5EQDG2315SNsf3Z", "ethbi_204633"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
2.2. Вставляем данные в таблицу:
Добавим в таблицу store_details новую строку со следующими данными для столбцов:
MyShop (столбец store_name)
Kostya (столбец store_owner)
Russia (столбец store_country)
Первый столбец (“ID”) оставим без изменений – он будет заполняться автоматически.
Код, который мы будем использовать:
# Insert store data into the store_details table $sql_store_details = "INSERT INTO `store_details` (`store_name`, `store_owner`, `store_country`) VALUES ('MyShop', 'Kostya', 'Russia')"; $db->query($sql_store_details);
Каждый новый php запрос будет создавать новую строку в таблице.
Давайте запустим вышеуказанный код несколько раз и посмотрим, что получится.
Заходим в phpMyAdmin, выбираем нашу таблицу – store_details
Как видим у нас создалось несколько одинаковых строк.
3. Как извлечь данные из таблицы MySQL:
Теперь, когда мы уже знаем: как создать новую таблицу в MySQL и как вставить данные в таблицу – давайте попробуем извлечь данные из определенной строки. Для этого мы будем использовать значение столбца таблицы в качестве условия.
Наша таблица store_details выглядит следующим образом:
Предположим, что мы знаем название нашего магазина – “MyShop” и хотим вывести имя владельца магазина (столбец store_owner) и страну магазина (столбец store_country).
Мы будем использовать имя магазина (“MyShop”) в качестве условия для поиска по таблице – условие будет выглядеть так:
“найти строку со столбцом “store_name” в значении MyShop” и получить значения для других столбцов в этой строке”.
3.1. Проверяем подключение к базе данных:
# Check Database $db = new Mysqli("localhost", "aysibtk_204633", "5EQDG2315SNsf3Z", "ethbi_204633"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
3.2. Извлекаем значения из таблицы MySQL
$result = $db->query("SELECT store_owner, store_country FROM store_details WHERE store_name = 'MyShop'"); $row_array = $result->fetch_array(); $store_owner = $row_array['store_owner']; $store_country = $row_array['store_country']; echo $store_owner; echo $store_country;
Как вы видите, мы сохранили имя владельца магазина (store_owner) и страну магазина (store_country) в двух PHP переменных: $store_owner и $store_country.
А далее с помощью конструкции echo мы вывели их значения на экран.
4. Изменяем значения столбцов в конкретной строке таблицы:
4.1. Проверяем подключение к базе данных:
# Check Database $db = new Mysqli("localhost", "aysibtk_204633", "5EQDG2315SNsf3Z", "ethbi_204633"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
4.2. Меняем значение столбцов в конкретной строке таблицы:
Для напримера, давайте для первой строки поменяем собственника магазина (store_owner) с Kostya на Mnogoblog.
$sql = "UPDATE store_details SET store_owner='Mnogoblog' WHERE "; $db->query($sql);
5. Удаляем запись таблицы:
5.1. Проверяем подключение к базе данных:
# Check Database $db = new Mysqli("localhost", "aysibtk_204633", "5EQDG2315SNsf3Z", "ethbi_204633"); if($db->connect_errno)< die('Connect Error: ' . $db->connect_errno); >
5.2. Удаляем запись таблицы:
$result = $db->query("DELETE FROM store_details WHERE ");
В данном примере, обработчик удалит запись с идентификатором «id», равным “2”.
На этом всё! Красивых и успешных Вам сайтов!