UPDATE operatori. Ma’lumotlarni tahrirlash. UPDATE operatori jadvaldagi ma'lumotlarni yangilash uchun ishlatiladi. Ushbu operator jadvalga yangi yozuvlar qo'shmaydi, lekin mavjud ma'lumotlarni yangilariga almashtiradi. UPDATE operatori jadvalning bitta maydoniga (eng ko'p uchraydigan holat) yoki bir nechta maydonlarga qo'llanilishi mumkin. O'zgartirilgan yozuvlar soni foydalanuvchining ehtiyojlariga bog'liq - UPDATEdan foydalanib, siz bir yoki bir nechta yozuvlarni o'zgartirishingiz mumkin (jadvaldagi barcha yozuvlarning qiymatini o'zgartirishgacha). Jadval maydonlarining bittasida ma'lumotni o'zgartirish uchun UPDATE bayonotining eng sodda shakli qo'llaniladi, u quyidagi shaklga ega:
UPDATE jadval_nomi SET maydon_nomi = qiymat [WHERE shart]
DELETE_operatori._Ma’lumotlarni_o’chirish'>DELETE operatori. Ma’lumotlarni o’chirish
Jadvaldagi ma'lumotlarni o'chirish DELETE so'zi yordamida amalga oshiriladi. Ushbu operator alohida maydonlardan ma'lumotlarni emas, balki butun yozuvni to'liq olib tashlaydi. DELETE operatorining sintaksisi quyidagicha:
DELETE FROM jadval_nomi [WHERE shart]
O'chirilishi kerak bo'lgan yozuvlar WHERE ixtiyoriy yozuvidan foydalangan holda belgilanadi. Agar DELETE ko'rsatmasida WHERE operatori bo'lmasa, ma'lumotlar butun jadvaldan o'chiriladi. Aytaylik, faqat 325 raqamli kutubxona kartasi bilan o'quvchi yozuvlarini ma'lumotlar bazasidan o'chirib tashlamoqchisiz, bu holda so'rov quyidagicha bo'ladi:
DELETE FROM O’quvchi
WHERE Nomer = 325
190.SQL da SELECT operatori va uni ishlatishga oid misollar
SELECT iborasi bir yoki bir nechta jadvallardan ma'lumotlarni tanlash uchun ishlatiladi:
SELECT column_name(s) FROM table_name
yoki jadvaldan BARCHA ustunlarni tanlash uchun * belgisidan foydalanishimiz mumkin:
SELECT *FROM table_name
MySQLi yordamida ma'lumotlarni olish.
Quyidagi misol MyGuests jadvalidan id, familiya va familiya ustunlarini tanlaydi va uni sahifada ko'rsatadi:
Misol (MySQLi Obyektga yo'naltirilgan)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Bog'lanishda xatolik: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close();
Birinchidan, biz MyGuests jadvalidan id, familiya va familiya ustunlarini tanlaydigan SQL so'rovini o'rnatdik. Keyingi satr so'rovni bajaradi va natijada olingan ma'lumotlarni $result deb nomlangan o'zgaruvchiga joylashtiradi.
So'ngra, num_rows () funktsiyasi qaytarilgan noldan ortiq qatorni tekshiradi.
Quyidagi misol MySQLi protsedual usulida yuqoridagi misol bilan bir xil:
Misol (MySQLi Protsedural)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Bog'lanishda xatolik: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
mysqli_close($conn);
191. SQL da so’rov natijalarini cheklash. LIMIT operatori
MySQL qaytariladigan yozuvlar sonini aniqlash uchun ishlatiladigan LIMIT bandini taqdim etadi.
LIMIT bandi ko'p sahifali natijalarni kodlashni yoki SQL bilan sahifalashni osonlashtiradi va katta jadvallarda juda foydali. Ko'p sonli yozuvlarni qaytarish ishlashga ta'sir qilishi mumkin.
Biz barcha buyurtmalarni "Buyurtmalar" deb nomlangan jadvaldan 1-30 gacha (shu jumladan) tanlashni xohlaymiz deb taxmin qiling. SQL so'rovi shunday bo'ladi:
$sql = "SELECT * FROM Orders LIMIT 30";
Yuqoridagi SQL so'rovi ishga tushirilganda, u dastlabki 30 ta yozuvni qaytaradi.
16 - 25 (shu jumladan) yozuvlarini tanlashni xohlasak nima bo'ladi?
Mysql shuningdek buni amalga oshirishning bir usulini taqdim etadi: OFFSET yordamida.
Quyidagi SQL so'rovida "faqat 10 ta yozuvni qaytaring, 16-yozuvdan boshlang (OFFSET 15)":
"SELECT * FROM Orders LIMIT 10 OFFSET 15" $sql = ;
Xuddi shu natijaga erishish uchun siz qisqa sintaksisdan foydalanishingiz mumkin:
$sql = "SELECT * FROM Orders LIMIT 15, 10";
Verguldan foydalanganda raqamlar teskari yo'naltirilganligiga e'tibor bering.
192. Sqlda Ma'lumotlarni filtrlash
SQL so'rovi yordamida ma'lumotlar bazasidan qat'iy belgilangan ustunlarni qanday tanlashni bilib oldingiz, ammo agar biz ham ma'lum qatorlarni olishimiz kerak bo'lsa-chi? Bu erda "WHERE" bandi yordamga keladi, bu bizga shart asosida ma'lumotlarni filtrlashga imkon beradi.
Ushbu so'rovda biz jadvaldan faqat shu oylarni tanlaymiz oyunda 30 kundan ortiq operatordan ko'proq (\u003e) foydalaniladi.
193. SQLda Metabelgilar yordamida filtrlash. Like operatoridan foydalanish
MySQL platformasi LIKE bandi uchun ANSI sintaksisini qo'llab-quvvatlaydi. Joker belgilar% va pastki chiziq belgisi (_) qo'llab-quvvatlanadi. ESCAPE taklifi ham qo'llab-quvvatlanadi.
Bundan tashqari, MySQL oddiy ifodalarni tekshirish uchun REGEXP va NOT RLIKE maxsus funksiyalarini qo'llab-quvvatlaydi. 3.23.4 versiyasidan keyin MySQL sukut bo'yicha katta-kichik harflarga sezgir emas.
194. Tranzaksiya
Do'stlaringiz bilan baham: |