PHP MySQL Create Table
A database table has its own unique name and consists of columns and rows.
Create a MySQL Table Using MySQLi and PDO
The CREATE TABLE statement is used to create a table in MySQL.
We will create a table named «MyGuests», with five columns: «id», «firstname», «lastname», «email» and «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
)
Notes on the table above:
The data type specifies what type of data the column can hold. For a complete reference of all the available data types, go to our Data Types reference.
After the data type, you can specify other optional attributes for each column:
- NOT NULL — Each row must contain a value for that column, null values are not allowed
- DEFAULT value — Set a default value that is added when no other value is passed
- UNSIGNED — Used for number types, limits the stored data to positive numbers and zero
- AUTO INCREMENT — MySQL automatically increases the value of the field by 1 each time a new record is added
- PRIMARY KEY — Used to uniquely identify the rows in a table. The column with PRIMARY KEY setting is often an ID number, and is often used with AUTO_INCREMENT
Each table should have a primary key column (in this case: the «id» column). Its value must be unique for each record in the table.
The following examples shows how to create the table in PHP:
Example (MySQLi Object-oriented)
$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;
?php
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) die(«Connection failed: » . $conn->connect_error);
>
// sql to create table
$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;
>
Example (MySQLi Procedural)
$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;
?php
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) die(«Connection failed: » . mysqli_connect_error());
>
// sql to create table
$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);
>
Example (PDO)
$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDBPDO»;
?php
try $conn = new PDO(«mysql:host=$servername;dbname=$dbname», $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// sql to create table
$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
)»;
// use exec() because no results are returned
$conn->exec($sql);
echo «Table MyGuests created successfully»;
> catch(PDOException $e) echo $sql . «
» . $e->getMessage();
>
PHP | MySQL ( Creating Table )
What is a table?
In relational databases, and flat file databases, a table is a set of data elements using a model of vertical columns and horizontal rows, the cell being the unit where a row and column intersect. A table has a specified number of columns, but can have any number of rows.
Creating a MySQL Table Using MySQLi and PDO
We have already learned about creating databases in MySQL from PHP in this article. The steps to create table are similar to creating databases. The difference is instead of creating a new database we will connect to existing database and create a table in that database. To connect to an existing database we can pass an extra variable “database name” while connecting to MySQL.
The CREATE TABLE statement is used to create a table in MySQL.
In this article, a table named “employees”, with four columns: “id”, “firstname”, “lastname” and “email” will be created.
The data types that will be used are :
- VARCHAR:Holds a variable length string that can contain letters, numbers, and special characters. The maximum size is specified in parenthesis.
- INT :he INTEGER data type accepts numeric values with an implied scale of zero. It stores any integer value between -2147483648 to 2147483647.
The attributes that are used along with data types in this article are:
- NOT NULL: Each row must contain a value for that column, null values are not allowed.
- PRIMARY KEY: Used to uniquely identify the rows in a table. The column with PRIMARY KEY setting is often an ID number.
Creating tables in three different versions are described below:
- Creating table using MySQLi Object-oriented Procedure
Syntax :
// checking connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) < die("Connection failed: " . $conn->connect_error); > // sql code to create table $sql = "CREATE TABLE employees( id INT(2) PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50) )"; if ($conn->query($sql) === TRUE) < echo "Table employees created successfully"; >else < echo "Error creating table: " . $conn->error; > $conn->close(); ?>
Output :
Creating table using MySQLi Procedural procedure
Syntax :
// Checking connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) < die("Connection failed: " . mysqli_connect_error()); >// sql code to create table $sql = "CREATE TABLE employees ( id INT(2) PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50) )"; if (mysqli_query($conn, $sql)) < echo "Table employees created successfully"; >else < echo "Error creating table: " . mysqli_error($conn); >mysqli_close($conn); ?>
Output :
Creating table using PDO procedure
Syntax :
// setting the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // sql code to create table $sql = "CREATE TABLE employees ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50) )"; // using exec() because no results are returned $conn->exec($sql); echo "Table employees created successfully"; > catch(PDOException $e) < echo $sql . "
" . $e->getMessage(); > $conn = null; ?>
Output :
🎅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”.
На этом всё! Красивых и успешных Вам сайтов!