MySQL создание таблицы

Очистить данные в таблице MySQL с помощью PHP?

Как удалить все записи из одной таблицы в MySQL с помощью PHP?

Первый, как правило, лучший выбор, поскольку DELETE FROM медленнее на InnoDB.

Собственно, не ответили ли уже на ваш другой вопрос?

– это команда SQL. В PHP вы должны использовать:

mysql_query('TRUNCATE TABLE table;'); 

если вам не нужно сохранить текущее значение последовательности AUTO_INCREMENT, и в этом случае вы, вероятно, предпочтете

хотя если время операции имеет значение, сохраняя значение AUTO_INCREMENT, обрезая таблицу, а затем восстанавливая значение с помощью

ALTER TABLE `table` AUTO_INCREMENT = value 

произойдет намного быстрее.

Пример MySQLI, где $con – это переменная подключения к базе данных и имя таблицы: mytable.

mysqli_query($con,'TRUNCATE TABLE mytable'); 

TRUNCATE закроет вашу таблицу и reset первичный ключ
DELETE также сделает вашу таблицу пустой, но не будет reset primary key.

мы можем использовать для truncate

мы можем использовать для удаления

мы также можем дать условия, как показано ниже

УДАЛИТЬ ИЗ tablename WHERE >

Не нужно звучать грубо, но на это можно легко ответить быстрым поиском Google. Вы должны это сделать, прежде чем спрашивать сообщество. w3schools.com – отличный сайт для изучения всего этого. Вот ссылка, которая является отличным учебником для php и mysql. http://www.w3schools.com/php/php_mysql_intro.asp

На самом деле, я считаю, что оптимизатор MySQL выполняет TRUNCATE, когда вы удаляете все строки.

Источник

Создание и удаление таблиц

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 «

bd-5-1

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 «

Источник

PHP MySQL создание и удаление таблицы

XAMPP Control Panel

Также создаем учетные записи пользователя MySQL и указываем пароль, имя пользователя.

В директории C:\xampp\htdocs\site создаём файл index.php

Теперь создадим тестовую базу данных c товарами при помощи php кода (CREATE):

   connect_errno) < printf("Нет соединения c БД %s\n", $link->connect_error); exit(); > // создание таблицы $sql = "CREATE TABLE IF NOT EXISTS product( id INT(8) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, description VARCHAR(100) NOT NULL, cost DECIMAL(8,2), date_wr TIMESTAMP) ENGINE InnoDB CHARACTER SET utf8; "; if ($link->query($sql) === TRUE) < echo "Таблица product создана"; >else < echo "Ошибка создания таблицы product" . $link->error; > $link->close(); ?>

id INT(8) – идентификатор записи, который автоматически нумерует строки таблицы, по сути номер товара;

UNSIGNED — отключение отрицательных чисел, UNSIGNED INT до 4294967295, BIGINT до 18446744073709551615, FLOAT и DOUBLE — вещественные типы данных;

AUTO_INCREMENT — автоматически нумерует строки таблицы с увеличением на единицу;

PRIMARY KEY — уникальный первичный ключ;
name VARCHAR(50) NOT NULL — название товара (50 символов);
VARCHAR — строковой тип (количество символов ограничено от 0 до 255), аналог TEXT — отличается от VARCHAR количеством символов 65535, MEDIUMTEXT до 16777215 символов, LONGTEXT до 4294967295 символов;

NULL – константа, указывает на отсутствие значения;

NOT NULL — обязательное поле для заполнения;

description VARCHAR(100) NOT NULL — описание товара (100 символов);
price DECIMAL(8,2) — цена товара, запись 8,2 означает, что цена содержит до шести целых чисел и двух дробных;
DECIMAL — число с плавающей запятой;
date_wr TIMESTAMP — дата и время создания записи в формате 2021-03-13 18:22:01, по умолчанию это формат«YYYYMMDDHHMMSS» (TIMESTAMP(14)), также есть форматы — «YYMMDDHHMMSS» (TIMESTAMP(12)), «YYYYMMDD» (TIMESTAMP(8)), «YYMMDD» (TIMESTAMP(6));
ENGINE InnoDB — обеспечивает поддержание целостности связей между таблицами;

ENGINE MyISAM — увеличивает скорость, но не обеспечивает целостность;

CHARACTER SET utf8 — кодировка utf-8.

При запуске скрипта в phpmyadmin появится таблица product соответствующими полями и пустыми данными.

phpMyAdmin база данных

Теперь заполним созданную таблицу данными, для этого выполним команду вставки INSERT

   connect_errno) < printf("Нет соединения c БД %s\n", $link->connect_error); exit(); > // добавления данных в таблицу $sql = "INSERT INTO `product` (`id`, `name`, `description`, `cost`, `date_wr`) VALUES (NULL, 'Молоко', '3 литра', '150', current_timestamp()), (NULL, 'Куриные яйца', '10 штук', '80', current_timestamp()); "; if ($link->query($sql) === TRUE) < echo "Данные в таблицу product добавлены"; >else < echo "Ошибка добавления данных в таблицу product" . $link->error; > $link->close(); ?>

добавление данных в базу данных

Удаление данных из таблицы с помощью условия

   connect_errno) < printf("Нет соединения c БД %s\n", $link->connect_error); exit(); > // удаление всех записей из таблицы, кроме первой $sql = "DELETE FROM product WHERE id > 1;"; if ($link->query($sql) === TRUE) < echo "Все данные пусты кроме первой записи"; >else < echo "Ошибка удаления данных из MySQL кроме первой записи" . $link->error; > $link->close(); ?>

удаление из MySQL всех записей кроме первой

Чтобы очистить таблицу базы данных не повредив её структуры можно воспользоваться командой TRUNCATE

    connect_errno) < printf("Нет соединения c БД %s\n", $link->connect_error); exit(); > // очистка таблицы без изменения ее структуры $sql = "TRUNCATE TABLE product"; if ($link->query($sql) === TRUE) < echo "Таблица product пустая"; >else < echo "Ошибка очистки таблицы product" . $link->error; > $link->close(); ?>

Для удаление таблицы из базы данных можно воспользоваться следующим кодом (DROP):

    connect_errno) < printf("Нет соединения c БД %s\n", $link->connect_error); exit(); > // удаление таблицы $sql = "DROP TABLE product"; if ($link->query($sql) === TRUE) < echo "Таблица product удалена"; >else < echo "Ошибка удаления таблицы product" . $link->error; > $link->close(); ?>

Пример запроса на удаления строк (дубликатов) из БД

DELETE FROM wp_posts WHERE post_type =«revision»;

1795

Источник

Читайте также:  Оператор объединения строк php
Оцените статью