PHP MySQL jadval yaratish
MySQLi va PDO yordamida MySQL jadvalini yarating
MySQL-da jadval yaratish uchun SQL-ning CREATE TABLE buyrug‘i ishlatiladi.
Ma’lumotlar bazasi jadvali ustunlar va qatorlardan iborat.
Bu yerda biz beshta ustundan iborat "Mening mehmonlarim" jadvalini yaratamiz: "id", "familiya", "familiya", "elektron pochta" va "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
)
Yuqoridagi SQL bo‘yicha eslatmalar:
Ma’lumotlar turi (masalan, INT(6), VARCHAR(30) va boshqalar) ustun qaysi turdagi ma’lumotlarni saqlashi mumkinligini belgilaydi. To‘liq uchun barcha mavjud ma’lumotlar turlarining ma’lumotnomasiga o‘ting SQL ma’lumotlar turlari bo‘yicha ma’lumotnoma.
Ma’lumotlar turidan keyin har bir ustun uchun boshqa ixtiyoriy atributlarni belgilashingiz mumkin:
UNSIGNED- Raqam turlari uchun ishlatiladi, saqlangan ma’lumotlarni musbat raqamlar va nolga cheklaydiAUTO_INCREMENT- MySQL har safar yangi yozuv qo‘shilganda maydon qiymatini avtomatik ravishda 1 ga oshiradi.- PRIMARY KEY - jadvaldagi satrlarni noyob tarzda aniqlash uchun ishlatiladi.
PRIMARY KEYsozlamali ustun ko‘pincha ID raqami bo‘lib, ko‘pinchaAUTO_INCREMENTbilan ishlatiladi NOT NULL- Har bir satrda ushbu ustun uchun qiymat bo‘lishi kerak, null qiymatlarga ruxsat berilmaydiDEFAULTqiymat - boshqa qiymat o‘tkazilmaganda qo‘shiladigan standart qiymatni o‘rnatadi
Har bir jadval asosiy kalit ustuniga ega bo‘lishi kerak (bu holda: "id" ustuni). Uning qiymati jadvaldagi har bir yozuv uchun yagona bo‘lishi kerak.
Eslatma: MySQL jadvalini yaratish uchun sizga imtiyozlar kerak bo‘ladi.
Quyidagi misollar PHP da jadvalni qanday yaratishni ko‘rsatadi:
Misol - MySQLi obyektga yo‘naltirilgan
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 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 created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>
Misol - MySQLi protsessual
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 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 created successfully";
} else {
echo "Error creating table: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Misol - PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
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);
} catch(PDOException $e) {
die("Could not connect. " . $e->getMessage());
}
try {
// 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
)";
$conn->exec($sql);
echo "Table created successfully";
} catch(PDOException $e) {
echo "Error creating table: " . $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
