MariaDB บทช่วยสอน: เรียนรู้ไวยากรณ์ คำสั่งพร้อมตัวอย่าง

ความหมายของ MariaDB?

MariaDB เป็นทางแยกของ MySQL ระบบจัดการฐานข้อมูล. มันถูกสร้างขึ้นโดยนักพัฒนาดั้งเดิม เครื่องมือ DBMS นี้นำเสนอความสามารถในการประมวลผลข้อมูลสำหรับงานทั้งขนาดเล็กและระดับองค์กร

MariaDB เป็นเวอร์ชันปรับปรุงของ MySQL- มันมาพร้อมกับคุณสมบัติอันทรงพลังในตัวมากมายและการปรับปรุงการใช้งาน ความปลอดภัย และประสิทธิภาพมากมายที่คุณไม่พบ MySQL.

นี่คือคุณสมบัติของ MariaDB:

  • ดำเนินการภายใต้ใบอนุญาต GPL, BSD หรือ LGPL
  • MariaDB รองรับภาษาการสืบค้นที่เป็นที่นิยมและเป็นมาตรฐาน
  • มาพร้อมกับเอ็นจิ้นการจัดเก็บข้อมูลจำนวนมาก รวมถึงเอนจิ้นประสิทธิภาพสูงที่สามารถรวมเข้ากับระบบการจัดการฐานข้อมูลเชิงสัมพันธ์อื่น ๆ
  • มันให้เทคโนโลยีคลัสเตอร์ Galera
  • MariaDB รองรับ PHP ซึ่งเป็นภาษายอดนิยมสำหรับการพัฒนาเว็บ
  • MariaDB สามารถทำงานบนระบบปฏิบัติการที่แตกต่างกันได้ และรองรับภาษาการเขียนโปรแกรมมากมาย
  • MariaDB มาพร้อมกับคำสั่งเพิ่มเติมที่ไม่มีใน MySQL. MySQL มีคุณสมบัติที่ส่งผลเสียต่อประสิทธิภาพของ DBMS คุณสมบัติดังกล่าวได้ถูกแทนที่ด้วย MariaDB.

MariaDB เมื่อเทียบกับ MySQL

ด้านล่างนี้คือข้อแตกต่างที่สำคัญระหว่าง MariaDB vs MySQL

พารามิเตอร์ MariaDB MySQL
ตัวเลือกเพิ่มเติมสำหรับเครื่องมือจัดเก็บข้อมูล MariaDB มีเอ็นจิ้นการจัดเก็บข้อมูลใหม่ 12 แบบที่คุณจะไม่พบ MySQL. มีตัวเลือกในการจัดเก็บน้อยกว่าเมื่อเทียบกับ MariaDB.
การปรับปรุงความเร็ว MariaDB แสดงความเร็วที่ดีขึ้นเมื่อเปรียบเทียบกับ MySQL- มันมาพร้อมกับคุณสมบัติมากมายสำหรับการปรับความเร็วให้เหมาะสม คุณลักษณะดังกล่าวรวมถึงมุมมอง/ตารางที่ได้รับ แบบสอบถามย่อย การควบคุมการดำเนินการ การเข้าถึงดิสก์ และการควบคุมเครื่องมือเพิ่มประสิทธิภาพ MySQL แสดงความเร็วที่ช้ากว่าเมื่อเทียบกับ MariaDB- มันอาศัยคุณสมบัติเพียงไม่กี่อย่างในการเพิ่มประสิทธิภาพความเร็ว เช่น ดัชนีแฮช
แคช/ดัชนีที่เร็วขึ้น ด้วยกลไกการจัดเก็บหน่วยความจำของ MariaDBคำสั่ง INSERT สามารถกรอกได้ 24% มากกว่าในมาตรฐาน MySQL. เครื่องยนต์จัดเก็บหน่วยความจำของ MySQL ช้ากว่าเมื่อเปรียบเทียบกับสิ่งนั้น MariaDB.
พูลการเชื่อมต่อที่ใหญ่ขึ้นและเร็วขึ้น MariaDB มาพร้อมกับเธรดพูลขั้นสูงที่สามารถทำงานได้เร็วขึ้นและรองรับการเชื่อมต่อได้มากถึง 200,000+ รายการ เธรดพูลจัดทำโดย MySQL ไม่สามารถรองรับการเชื่อมต่อได้สูงสุด 200,000 ครั้งต่อครั้ง
การจำลองแบบที่ได้รับการปรับปรุง In MariaDBการจำลองสามารถทำได้อย่างปลอดภัยและรวดเร็วยิ่งขึ้น การอัพเดตสามารถทำได้เร็วขึ้น 2 เท่าเมื่อเทียบกับแบบเดิม MySQL. MySQLรุ่นชุมชนของ 's อนุญาตให้เชื่อมต่อเธรดจำนวนคงที่ MySQLแผนองค์กรของมาพร้อมกับความสามารถของเธรด
คุณสมบัติ/ส่วนขยายใหม่ MariaDB มาพร้อมกับฟีเจอร์และส่วนขยายใหม่ๆ รวมถึงคำสั่ง JSON, WITH และ KILL ใหม่ MariaDB คุณสมบัติไม่ได้ระบุไว้ใน MySQL.
คุณสมบัติที่ขาดหายไป MariaDB ขาดคุณสมบัติบางอย่างที่มีให้โดย MySQL รุ่นองค์กร เพื่อแก้ไขปัญหานี้ จึงเสนอปลั๊กอินโอเพ่นซอร์สทางเลือก เพราะฉะนั้น, MariaDB ผู้ใช้สามารถเพลิดเพลินไปกับฟังก์ชันการทำงานเช่นเดียวกับ MySQL ผู้ใช้รุ่น Enterprise รุ่นองค์กรของ MySQL ใช้รหัสที่เป็นกรรมสิทธิ์ เฉพาะผู้ใช้ของ MySQL Enterprise Edition มีสิทธิ์เข้าถึงสิ่งนี้

วิธีการติดตั้ง MariaDB

ติดตั้งเป็นแอปพลิเคชันแบบสแตนด์อโลน

เพื่อที่จะใช้ MariaDBคุณต้องติดตั้งลงในคอมพิวเตอร์ของคุณ

การติดตั้งสามารถทำได้โดยทำตามขั้นตอนดังต่อไปนี้:

ขั้นตอน 1) เปิด URL ด้านล่าง
ดาวน์โหลดไฟล์การติดตั้งจากลิงค์ https://downloads.mariadb.org/

ขั้นตอน 2) Double คลิกที่ไฟล์เพื่อเริ่มการติดตั้ง
เมื่อการดาวน์โหลดเสร็จสิ้น ให้เปิดไฟล์

ขั้นตอน 3) คลิกที่ปุ่มถัดไป
ในหน้าต่างที่ปรากฏขึ้น ให้คลิกปุ่มถัดไป:

การติดตั้ง MariaDB

ขั้นตอน 4) ยอมรับข้อตกลงใบอนุญาต
จากนั้นคลิกปุ่มถัดไป:

การติดตั้ง MariaDB

ขั้นตอน 5) Choose MariaDB เซิร์ฟเวอร์
เลือกคุณสมบัติที่จะติดตั้งและคลิกถัดไป

การติดตั้ง MariaDB

ขั้นตอน 6) ป้อนรหัสผ่าน
ในหน้าต่างถัดไป คุณจะต้องเปลี่ยนรหัสผ่านสำหรับผู้ใช้รูท

  1. ป้อนรหัสผ่านและยืนยันโดยพิมพ์รหัสผ่านเดียวกันอีกครั้ง หากคุณต้องการอนุญาตให้เข้าถึงจากเครื่องระยะไกล ให้เปิดใช้งานช่องทำเครื่องหมายที่จำเป็น
  2. เมื่อเสร็จแล้วให้คลิกปุ่มถัดไป

การติดตั้ง MariaDB

ขั้นตอน 7) กรอกชื่อ & เลือกหมายเลขพอร์ต
ในหน้าต่างถัดไป ให้พิมพ์ชื่อของอินสแตนซ์ เลือกหมายเลขพอร์ต และตั้งค่าขนาดที่จำเป็น คลิกปุ่มถัดไป:

การติดตั้ง MariaDB

ขั้นตอน 8) คลิกถัดไป
ในหน้าต่างถัดไป เพียงคลิกปุ่มถัดไป

ขั้นตอน 9) คลิกที่ติดตั้ง
เริ่มการติดตั้งโดยคลิกปุ่มติดตั้ง

การติดตั้ง MariaDB

ขั้นตอน 10) แถบความคืบหน้าที่แสดง
แถบความคืบหน้าจะแสดงความคืบหน้าของการติดตั้ง:

การติดตั้ง MariaDB

ขั้นตอน 11) คลิกที่ปุ่มเสร็จสิ้น
เมื่อการติดตั้งเสร็จสมบูรณ์ คุณจะเห็นปุ่ม Finish คลิกปุ่มเพื่อปิดหน้าต่าง:

การติดตั้ง MariaDB

ขั้นตอน 12) ขอแสดงความยินดี
ตอนนี้คุณมี MariaDB ติดตั้งบนคอมพิวเตอร์ของคุณ

การทำงานกับพรอมต์คำสั่ง

ตอนนี้คุณมี MariaDB ติดตั้งบนคอมพิวเตอร์ของคุณแล้วก็ถึงเวลาที่คุณจะต้องเปิดใช้งานและเริ่มใช้งาน ซึ่งสามารถทำได้ผ่านทาง MariaDB พร้อมรับคำสั่ง.

ทำตามขั้นตอนที่ระบุด้านล่าง:

ขั้นตอน 1) คลิก Start เลือก All Programs จากนั้นคลิก MariaDB...

ขั้นตอน 2) เลือก MariaDB พร้อมรับคำสั่ง

MariaDB พร้อมรับคำสั่ง

ขั้นตอน 3) เค้ก MariaDB พรอมต์คำสั่งจะเริ่มต้นขึ้น ตอนนี้ได้เวลาเข้าสู่ระบบแล้ว คุณควรเข้าสู่ระบบในฐานะผู้ใช้รูทและรหัสผ่านที่คุณตั้งไว้ระหว่างการติดตั้ง MariaDBพิมพ์คำสั่งต่อไปนี้ที่พรอมต์คำสั่ง:

MySQL -u root -p

ขั้นตอน 4) ป้อนรหัสผ่านและกดปุ่มย้อนกลับ คุณควรเข้าสู่ระบบตามที่แสดงด้านล่าง:

MariaDB พร้อมรับคำสั่ง

ขณะนี้คุณเข้าสู่ระบบแล้ว MariaDB.

ประเภทข้อมูล

MariaDB รองรับชนิดข้อมูลต่อไปนี้:

  • ชนิดข้อมูลสตริง
  • ประเภทข้อมูลตัวเลข
  • ชนิดข้อมูลวันที่/เวลา
  • ชนิดข้อมูลวัตถุขนาดใหญ่

ชนิดข้อมูลสตริง

เหล่านี้รวมถึงต่อไปนี้:

ชนิดข้อมูลสตริง Descriptไอออน
ถ่าน(ขนาด) ขนาดแสดงถึงจำนวนอักขระที่จะจัดเก็บ สามารถเก็บอักขระได้สูงสุด 255 ตัว สตริงที่มีความยาวคงที่
วาร์ชาร์(ขนาด) ขนาดแสดงถึงจำนวนอักขระที่จะจัดเก็บ สามารถเก็บอักขระได้สูงสุด 255 ตัว สตริงที่มีความยาวผันแปรได้
ข้อความ(ขนาด) ขนาดแสดงถึงจำนวนอักขระที่จะจัดเก็บ สามารถเก็บอักขระได้สูงสุด 255 ตัว สตริงที่มีความยาวคงที่
ไบนารี่(ขนาด) ขนาดแสดงถึงจำนวนอักขระที่จะจัดเก็บ สามารถเก็บอักขระได้สูงสุด 255 ตัว สตริงขนาดคงที่

ประเภทข้อมูลตัวเลข

พวกเขารวมถึงต่อไปนี้:

ประเภทข้อมูลตัวเลข Descriptไอออน
บิต ค่าจำนวนเต็มขนาดเล็กมากเทียบเท่ากับ Tinyint(1) ค่าที่เซ็นชื่ออยู่ระหว่าง -128 ถึง 127 ค่าที่ไม่ได้ลงนามอยู่ในช่วงระหว่าง 0 ถึง 255
อินท์(เมตร) ค่าจำนวนเต็มมาตรฐาน ค่าที่ลงนามอยู่ในช่วงระหว่าง -2147483648 ถึง 2147483647 ค่าที่ไม่ได้ลงนามอยู่ในช่วงระหว่าง 0 ถึง 4294967295
ลอย(ม, ง) จำนวนจุดลอยตัวที่มีความแม่นยำเพียงจุดเดียว
ดับเบิ้ล(ม,ง) ตัวเลขจุดลอยตัวที่มีความแม่นยำสองเท่า
ลอย(พี) จำนวนจุดลอยตัว

ประเภทข้อมูลวันที่/เวลา

เหล่านี้รวมถึงต่อไปนี้:

ชนิดข้อมูลวันที่/เวลา Descriptไอออน
วันที่ แสดงในรูปแบบ 'yyyy-mm-dd' ช่วงค่าระหว่าง '1000-01-01' และ '9999-12-31'
วันเวลา แสดงในรูปแบบ 'yyyy-mm-dd hh:mm:ss' ช่วงค่าอยู่ระหว่าง '1000-01-01 00:00:00' และ '9999-12-31 23:59:59'
การประทับเวลา (ม.) แสดงในรูปแบบ 'yyyy-mm-dd hh:mm:ss' ช่วงค่าอยู่ระหว่าง '1970-01-01 00:00:01' utc และ '2038-01-19 03:14:07' utc
เวลา แสดงในรูปแบบ 'hh:mm:ss' ช่วงค่าระหว่าง '-838:59:59' และ '838:59:59'

ประเภทข้อมูลวัตถุขนาดใหญ่ (LOB)

พวกเขารวมถึงต่อไปนี้:

ประเภทข้อมูลวัตถุขนาดใหญ่ Descriptไอออน
จิ๋วหยด ขนาดสูงสุดคือ 255 ไบต์
หยด (ขนาด) ใช้ขนาดสูงสุด 65,535 ไบต์
ปานกลางหยด ขนาดสูงสุดคือ 16,777,215 ไบต์
ข้อความยาว ต้องใช้ขนาดสูงสุด 4GB

สร้างฐานข้อมูลและตาราง

เพื่อสร้างฐานข้อมูลใหม่ใน MariaDBคุณควรมีสิทธิ์พิเศษที่มอบให้กับผู้ใช้รูทและผู้ดูแลระบบเท่านั้น

ในการสร้างฐานข้อมูลใหม่ คุณควรใช้คำสั่ง CREATE DATABASE ซึ่งใช้รูปแบบต่อไปนี้:

CREATE DATABASE DatabaseName;

ในกรณีนี้ คุณต้องสร้างฐานข้อมูลและตั้งชื่อเป็น Demo

เริ่มต้น MariaDB พรอมต์คำสั่งและเข้าสู่ระบบในฐานะผู้ใช้ root โดยพิมพ์คำสั่งต่อไปนี้:

mysql -u root -p

พิมพ์รหัสผ่านรูทแล้วกดปุ่มย้อนกลับ คุณจะเข้าสู่ระบบ

ตอนนี้ให้รันคำสั่งต่อไปนี้:

CREATE DATABASE Demo;

สร้างฐานข้อมูลและตารางใน MariaDB

จากนั้นคุณได้สร้างฐานข้อมูลชื่อ Demo แล้ว คุณจะสามารถยืนยันได้ว่าฐานข้อมูลนั้นถูกสร้างขึ้นสำเร็จหรือไม่ คุณเพียงแค่ต้องแสดงรายการฐานข้อมูลที่มีอยู่โดยเรียกใช้คำสั่งต่อไปนี้:

SHOW DATABASES;

สร้างฐานข้อมูลและตารางใน MariaDB

ผลลัพธ์ข้างต้นแสดงว่าฐานข้อมูลสาธิตเป็นส่วนหนึ่งของรายการ ดังนั้นฐานข้อมูลจึงถูกสร้างขึ้นสำเร็จ

MariaDB เลือกฐานข้อมูล

เพื่อให้คุณสามารถใช้หรือทำงานกับฐานข้อมูลใดฐานข้อมูลหนึ่งได้ คุณจะต้องเลือกฐานข้อมูลนั้นจากรายการฐานข้อมูลที่มีอยู่ หลังจากเลือกฐานข้อมูลแล้ว คุณสามารถดำเนินการต่างๆ เช่น การสร้างตารางภายในฐานข้อมูลได้

ในการเลือกฐานข้อมูล คุณควรใช้คำสั่ง USE มันใช้ไวยากรณ์ที่ระบุด้านล่าง:

USE database_name;

คุณต้องใช้ฐานข้อมูล Demo คุณสามารถเลือกได้โดยใช้คำสั่งต่อไปนี้:

USE Demo;

สร้างฐานข้อมูลและตารางใน MariaDB

ภาพด้านบนแสดงให้เห็นว่า MariaDB command prompt เปลี่ยนจาก none เป็นชื่อของฐานข้อมูลที่เลือก

ตอนนี้คุณสามารถสร้างตารางภายในฐานข้อมูลสาธิตได้แล้ว

MariaDB – สร้างตาราง

เพื่อให้คุณสามารถสร้างตารางได้ คุณต้องเลือกฐานข้อมูล สามารถสร้างตารางได้โดยใช้คำสั่ง CREATE TABLE นี่คือไวยากรณ์สำหรับคำสั่ง:

CREATE TABLE tableName (columnName columnType);

คุณสามารถตั้งค่าคอลัมน์ใดคอลัมน์หนึ่งให้เป็นคีย์หลักได้ คอลัมน์นี้ไม่ควรมีค่าว่าง

เราจะสร้างตารางสองตารางภายในฐานข้อมูลสาธิต ตารางหนังสือ และราคา แต่ละตารางจะมีสองคอลัมน์

เริ่มต้นด้วยการสร้างตาราง Book ที่มี 2 คอลัมน์ คือ id และ name จากนั้นรันคำสั่งต่อไปนี้:

CREATE TABLE Book(  
id INT NOT NULL AUTO_INCREMENT,  
name VARCHAR(100) NOT NULL,  
PRIMARY KEY (id));  

สร้างฐานข้อมูลและตารางใน MariaDB

ข้อจำกัดของคีย์หลักถูกใช้เพื่อตั้งค่าคอลัมน์ id เป็นคีย์หลักสำหรับตาราง คุณสมบัติ AUTO_INCREMENT จะเพิ่มค่าของคอลัมน์ id 1 โดยอัตโนมัติสำหรับแต่ละระเบียนใหม่ที่แทรกลงในตาราง คอลัมน์ทั้งหมดจะไม่อนุญาตให้มีค่าว่าง

ตอนนี้ สร้างตารางที่สอง ตารางราคา:

CREATE TABLE Price(  
id INT NOT NULL AUTO_INCREMENT,  
price float NOT NULL,  
PRIMARY KEY (id));  

สร้างฐานข้อมูลและตารางใน MariaDB

คอลัมน์ ID ได้รับการตั้งค่าเป็นคีย์หลักสำหรับตาราง

แสดงตาราง

ตอนนี้คุณได้สร้างตารางทั้งสองตารางแล้ว คุณสามารถตรวจสอบได้ว่าตารางเหล่านี้สร้างสำเร็จหรือไม่ คุณสามารถแสดงรายการตารางที่อยู่ในฐานข้อมูลได้โดยเรียกใช้คำสั่งต่อไปนี้:

SHOW TABLES;

สร้างฐานข้อมูลและตารางใน MariaDB

ภาพหน้าจอด้านบนแสดงให้เห็นว่าทั้งสองตารางถูกสร้างขึ้นภายในฐานข้อมูลสาธิตสำเร็จ

โครงสร้างตารางแสดง

หากต้องการดูโครงสร้างของตารางใดตารางหนึ่ง คุณสามารถใช้คำสั่ง DESCRIBE ซึ่งโดยทั่วไปจะย่อว่า DESC โดยมีรูปแบบคำสั่งดังต่อไปนี้:

DESC TableName;

เช่น หากต้องการดูโครงสร้างของตารางที่ชื่อ Book คุณสามารถรันคำสั่งต่อไปนี้

DESC Book;

สร้างฐานข้อมูลและตารางใน MariaDB

ตารางนี้มีสองคอลัมน์ หากต้องการดูโครงสร้างของตารางราคา คุณสามารถรันคำสั่งต่อไปนี้:

DESC Price;

สร้างฐานข้อมูลและตารางใน MariaDB

CRUD และข้อ

INSERT

เพื่อแทรกข้อมูลลงใน MariaDB ตาราง คุณควรใช้คำสั่ง INSERT INTO คำสั่งนี้ใช้ไวยากรณ์ที่ระบุด้านล่าง:

INSERT INTO tableName
(column_1, column_2, ... )  
VALUES  
(value1, value2, ... ),  
(value1, value2, ... ),  
...;   

ไวยากรณ์ด้านบนแสดงให้เห็นว่าคุณต้องระบุคอลัมน์ในตารางที่คุณต้องการแทรกข้อมูลและข้อมูลที่คุณต้องการแทรก

ให้เราแทรกบันทึกลงในตารางหนังสือ:

INSERT INTO book  
(id, name)  
VALUES(1, 'MariaDB Book');  

CRUD และข้อ-INSERT

คุณได้แทรกบันทึกเดียวลงในตาราง แทรกบันทึกลงในตารางราคา:

INSERT INTO price
(id, price)  
VALUES(1, 200);  

CRUD และข้อ-INSERT

บันทึกได้ถูกสร้างขึ้นแล้ว

SELECT

คำสั่ง SELECT ช่วยให้เราดูหรือดูเนื้อหาของตารางฐานข้อมูลได้ ตัวอย่างเช่น หากต้องการดูเนื้อหาของตาราง Book คุณต้องรันคำสั่งต่อไปนี้:

SELECT * from book;

CRUD และข้อ-INSERT

ตอนนี้ ดูเนื้อหาของตารางราคา:

SELECT * from price;

CRUD และข้อ-INSERT

การแทรกหลายเรคคอร์ด

เป็นไปได้ที่เราจะแทรกหลายระเบียนลงใน a MariaDB ตารางแบบไปกลับ เพื่อสาธิตสิ่งนี้ ให้รันตัวอย่างต่อไปนี้:

INSERT INTO book
(id, name)  
VALUES  
(2,'MariaDB Book2'),  
(3,'MariaDB Book3'),  
(4,'MariaDB Book4'),  
(5,'MariaDB Book5');

การแทรกหลายเรคคอร์ด

คุณสามารถสืบค้นตารางเพื่อตรวจสอบว่าแทรกระเบียนสำเร็จหรือไม่:

SELECT * FROM book;

การแทรกหลายเรคคอร์ด

แทรกบันทึกเรียบร้อยแล้ว แทรกหลายระเบียนลงในตารางราคาโดยเรียกใช้ตัวอย่างนี้:

INSERT INTO price 
(id, price)  
VALUES  
(2, 250),  
(3, 220),  
(4, 190),  
(5, 300); 

การแทรกหลายเรคคอร์ด

มายืนยันว่าสร้างบันทึกสำเร็จแล้วหรือไม่:

SELECT * FROM price;

การแทรกหลายเรคคอร์ด

อัพเดท

คำสั่ง UPDATE ช่วยให้เราเปลี่ยนแปลงหรือแก้ไขบันทึกที่ถูกแทรกลงในตารางแล้ว คุณสามารถรวมเข้ากับส่วนคำสั่ง WHERE เพื่อระบุเรกคอร์ดที่จะอัพเดตได้ นี่คือไวยากรณ์:

UPDATE tableName SET field=newValue, field2=newValue2,...  
[WHERE ...]  

คำสั่ง UPDATE ยังสามารถใช้ร่วมกับส่วนคำสั่งต่างๆ เช่น SET, WHERE, LIMIT และ ORDER BY คุณจะเห็นสิ่งนี้ในไม่ช้า:

พิจารณาตารางชื่อราคาที่มีบันทึกดังต่อไปนี้:

CRUD และข้อ-UPDATE

มาเปลี่ยนราคาหนังสือด้วยรหัส 1 จาก 200 เป็น 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD และข้อ-UPDATE

คำสั่งรันได้สำเร็จ ตอนนี้คุณสามารถสอบถามตารางเพื่อดูว่ามีการเปลี่ยนแปลงเกิดขึ้นหรือไม่:

CRUD และข้อ-UPDATE

ภาพหน้าจอด้านบนแสดงให้เห็นว่าการเปลี่ยนแปลงได้รับการนำไปใช้แล้ว พิจารณาตาราง Book ที่มีบันทึกต่อไปนี้:

CRUD และข้อ-UPDATE

ให้เราเปลี่ยนชื่อหนังสือชื่อ Book เป็น MariaDB เล่ม1. โปรดสังเกตว่าหนังสือเล่มนี้มีรหัส 1 นี่คือคำสั่งสำหรับสิ่งนี้:

UPDATE book
SET name = “MariaDB Book1”
WHERE id = 1;

CRUD และข้อ-UPDATE

ตรวจสอบว่ามีการใช้การเปลี่ยนแปลงหรือไม่:

CRUD และข้อ-UPDATE

ภาพหน้าจอด้านบนแสดงให้เห็นว่าการเปลี่ยนแปลงได้รับการดำเนินการเรียบร้อยแล้ว

ในตัวอย่างข้างต้น เราได้เปลี่ยนแปลงเพียงครั้งละหนึ่งคอลัมน์เท่านั้น อย่างไรก็ตาม เราสามารถเปลี่ยนหลายคอลัมน์ได้ในคราวเดียว ให้เราสาธิตสิ่งนี้โดยใช้ตัวอย่าง

ให้เราใช้ตารางราคาโดยมีข้อมูลดังต่อไปนี้:

CRUD และข้อ-UPDATE

ให้เราเปลี่ยนทั้ง id และราคาของหนังสือด้วย id 5 โดย id เป็น 6 และราคาเป็น 6 จากนั้นรันคำสั่งต่อไปนี้

UPDATE price
SET id = 6,
price = 280
WHERE id = 5;

CRUD และข้อ-UPDATE

ตอนนี้ ให้สอบถามตารางเพื่อตรวจสอบว่าการเปลี่ยนแปลงสำเร็จหรือไม่:

CRUD และข้อ-UPDATE

ทำการเปลี่ยนแปลงสำเร็จแล้ว

ลบ

เราใช้คำสั่ง DELETE เมื่อเราต้องการลบระเบียนหนึ่งรายการหรือหลายรายการออกจากตาราง นี่คือไวยากรณ์สำหรับคำสั่ง:

DELETE FROM tableName  
[WHERE condition(s)]  
[ORDER BY exp [ ASC | DESC ]]  
[LIMIT numberRows];   

พิจารณาตารางราคาพร้อมบันทึกต่อไปนี้:

CRUD และข้อ-DELETE

เราจำเป็นต้องลบบันทึกสุดท้ายออกจากตาราง มีรหัส 6 และราคา 280 ให้เราลบบันทึก:

DELETE FROM price
WHERE id = 6;   

CRUD และข้อ-DELETE

คำสั่งรันได้สำเร็จ ให้เราสอบถามตารางเพื่อยืนยันว่าการลบสำเร็จหรือไม่:

CRUD และข้อ-DELETE

ผลลัพธ์แสดงว่าบันทึกถูกลบเรียบร้อยแล้ว

ที่ไหน

คำสั่ง WHERE ช่วยให้เราระบุตำแหน่งที่แน่นอนที่เราต้องการเปลี่ยนแปลงได้ โดยใช้ร่วมกับคำสั่งเช่น INSERT, SELECT, UPDATE และ DELETE ลองพิจารณาตารางราคาที่มีข้อมูลดังต่อไปนี้:

CRUD และข้อ-ที่ไหน

สมมติว่าเราต้องการดูรายการที่ราคาต่ำกว่า 250 เราสามารถรันคำสั่งต่อไปนี้:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD และข้อ-ที่ไหน

บันทึกทั้งหมดที่มีราคาต่ำกว่า 250 ได้ถูกส่งคืนแล้ว

สามารถใช้คำสั่ง WHERE ร่วมกับคำสั่ง AND ได้ สมมติว่าเราต้องการดูข้อมูลทั้งหมดในตารางราคาซึ่งราคาอยู่ต่ำกว่า 250 และ id อยู่เหนือ 3 เราสามารถรันคำสั่งต่อไปนี้:

SELECT *  
FROM price  
WHERE id > 3  
AND price < 250;   

CRUD และข้อ-ที่ไหน

มีเพียงบันทึกเดียวเท่านั้นที่ถูกส่งคืน เหตุผลก็คือต้องตรงตามเงื่อนไขทั้งหมดที่ระบุไว้คือ id สูงกว่า 3 และราคาต่ำกว่า 250 หากฝ่าฝืนเงื่อนไขข้อใดข้อหนึ่งบันทึกจะไม่ถูกส่งคืน

นอกจากนี้ clause ยังสามารถใช้ร่วมกับคำสั่ง OR ได้อีกด้วย ให้เราแทนที่ AND ในคำสั่งก่อนหน้าด้วย OR และดูประเภทของเอาต์พุตที่เราได้รับ:

SELECT *  
FROM price 
WHERE id > 3  
OR price < 250;   

CRUD และข้อ-ที่ไหน

ขณะนี้เราได้รับ 2 เรกคอร์ด แทนที่จะเป็น 1 เนื่องจากสำหรับเรกคอร์ดที่มีคุณสมบัติ จะต้องตรงตามเงื่อนไขที่ระบุอย่างใดอย่างหนึ่งเท่านั้น

Like

ส่วนคำสั่งนี้ใช้เพื่อระบุรูปแบบข้อมูลเมื่อเข้าถึงข้อมูลตารางซึ่งจำเป็นต้องมีการจับคู่แบบตรงทั้งหมด สามารถใช้ร่วมกับคำสั่ง INSERT, UPDATE, SELECT และ DELETE ได้

คุณควรส่งรูปแบบของข้อมูลที่คุณกำลังมองหาไปยังส่วนคำสั่ง และมันจะส่งคืนค่าจริงหรือเท็จ ต่อไปนี้เป็นอักขระตัวแทนที่สามารถใช้ร่วมกับส่วนคำสั่งได้:

  • %: สำหรับการจับคู่อักขระ 0 ตัวขึ้นไป
  • _: สำหรับการจับคู่อักขระตัวเดียว

นี่คือไวยากรณ์สำหรับส่วนคำสั่ง LIKE:

SELECT field_1, field_2,... FROM tableName1, tableName2,...  
WHERE fieldName LIKE condition;

ให้เราสาธิตวิธีการใช้คำสั่งด้วยอักขระตัวแทน % ให้เราใช้ตาราง Book กับระเบียนต่อไปนี้:

CRUD และข้อ-ที่ไหน

เราต้องการดูข้อมูลทั้งหมดที่มีชื่อเริ่มต้นด้วย M เราสามารถรันคำสั่งต่อไปนี้ได้:

SELECT name  
FROM book  
WHERE name LIKE 'M%';  

CRUD และข้อ-ที่ไหน

ระเบียนทั้งหมดได้รับการส่งคืนเนื่องจากชื่อของระเบียนเริ่มต้นด้วยตัวอักษร M หากต้องการดูชื่อทั้งหมดที่ลงท้ายด้วยเลข 4 คุณสามารถรันคำสั่งต่อไปนี้:

SELECT name  
FROM book  
WHERE name LIKE '%4';  

CRUD และข้อ-ที่ไหน

กลับคืนมาเพียงชื่อเดียวเพราะเป็นชื่อเดียวที่ตรงตามเงื่อนไข

นอกจากนี้เรายังสามารถล้อมรอบรูปแบบการค้นหาด้วยไวด์การ์ด:

SELECT name  
FROM book  
WHERE name LIKE '%DB%';  

CRUD และข้อ-ที่ไหน

นอกเหนือจาก % wildcard แล้ว LIKE clause สามารถใช้ร่วมกับ _ wildcard ได้ นี่คือไวด์การ์ดขีดล่าง และจะค้นหาเพียงอักขระตัวเดียวเท่านั้น

ให้เราทำงานกับตารางราคาด้วยบันทึกต่อไปนี้:

CRUD และข้อ-ที่ไหน

ให้เราลองตรวจสอบดูว่าราคาอยู่ที่ 1_0 หรือไม่ โดยใช้คำสั่งต่อไปนี้:

SELECT *  
FROM price
WHERE price LIKE '1_0';  

CRUD และข้อ-ที่ไหน

กลับมาสร้างสถิติที่ราคา 190 เรายังลองรูปแบบอื่นได้:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD และข้อ-ที่ไหน

เราสามารถใช้คำสั่ง LIKE ร่วมกับตัวดำเนินการ NOT ได้ ซึ่งจะส่งคืนระเบียนทั้งหมดที่ไม่ตรงตามรูปแบบที่ระบุ ตัวอย่างเช่น:

ให้เราใช้ตารางราคาโดยบันทึกข้อมูลดังต่อไปนี้:

CRUD และข้อ-ที่ไหน

ให้เราค้นหาบันทึกทั้งหมดที่ราคาไม่ได้ขึ้นต้นด้วย 2:

SELECT *  
FROM price  
WHERE price NOT LIKE '2%';  

CRUD และข้อ-ที่ไหน

มีเพียงหนึ่งระเบียนที่ไม่ตรงตามรูปแบบที่ระบุ

สั่งซื้อโดย

ข้อนี้ช่วยให้เราจัดเรียงบันทึกของเราตามลำดับจากน้อยไปมากหรือจากมากไปน้อย เราใช้กับคำสั่ง SELECT ดังที่แสดงด้านล่าง:

SELECT expression(s)  
FROM tables  
[WHERE condition(s)]  
ORDER BY exp [ ASC | DESC ];   

เป็นไปได้ที่จะใช้ส่วนคำสั่งนี้โดยไม่ต้องเพิ่มส่วน ASC หรือ DESC ตัวอย่างเช่น:

เราจะใช้ตารางราคาโดยบันทึกข้อมูลดังต่อไปนี้:

CRUD และข้อ-ที่ไหน

รันคำสั่งต่อไปนี้กับตาราง:

SELECT * FROM price 
WHERE price LIKE '2%.'
ORDER BY price;   

CRUD และข้อ-ที่ไหน

ในคำสั่งข้างต้นเราได้สั่งตามราคา บันทึกได้รับการเรียงลำดับโดยมีราคาตามลำดับจากน้อยไปหามาก นั่นหมายความว่าเมื่อเราไม่ระบุลำดับ การเรียงลำดับจะเรียงลำดับจากน้อยไปมากตามค่าเริ่มต้น

ให้เรารันคำสั่งด้วยตัวเลือก DESC:

SELECT * FROM price
WHERE price LIKE '2%'  
ORDER BY price DESC;   

CRUD และข้อ-ที่ไหน

บันทึกได้รับการจัดเรียงตามราคาจากมากไปน้อยตามที่เราระบุไว้

ให้เราใช้คำสั่ง ORDER BY ร่วมกับแอตทริบิวต์ ASC:

SELECT * FROM price 
WHERE price LIKE '2%.'  
ORDER BY price ASC;   

CRUD และข้อ-ที่ไหน

มีการสั่งซื้อบันทึกแล้ว แต่ราคาเรียงลำดับจากน้อยไปมาก สิ่งนี้คล้ายกับเมื่อเราใช้คำสั่งย่อย ORDER BY โดยไม่มีแอตทริบิวต์ ASC หรือ DESC

DISTINCT

ส่วนคำสั่งนี้ช่วยให้เรากำจัดข้อมูลที่ซ้ำกันเมื่อเลือกบันทึกจากตาราง ซึ่งหมายความว่าช่วยให้เราได้รับบันทึกที่ไม่ซ้ำใคร ไวยากรณ์ของมันได้รับด้านล่าง:

SELECT DISTINCT expression(s)  
FROM tableName  
[WHERE condition(s)];   

เพื่อแสดงสิ่งนี้ เราจะใช้ตารางราคาพร้อมข้อมูลต่อไปนี้:

CRUD และข้อ-DISTINCT

เมื่อเราเลือกคอลัมน์ราคาจากตาราง เราจะได้ผลลัพธ์ดังต่อไปนี้:

SELECT price FROM Price;

CRUD และข้อ-DISTINCT

เรามีสองบันทึกที่มีราคา 250 สร้างสำเนา เราจำเป็นต้องมีบันทึกที่ไม่ซ้ำใครเท่านั้น เราสามารถกรองสิ่งเหล่านี้ได้โดยใช้ส่วนคำสั่ง DISTINCT ดังที่แสดงด้านล่าง:

SELECT DISTINCT price FROM Price;

CRUD และข้อ-DISTINCT

ตอนนี้เราไม่มีรายการที่ซ้ำกันในผลลัพธ์ด้านบน

ตั้งแต่

ส่วนคำสั่ง FROM ใช้สำหรับดึงข้อมูลจากตารางฐานข้อมูล นอกจากนี้ยังสามารถช่วยในการเข้าร่วมตารางได้อีกด้วย นี่คือไวยากรณ์สำหรับคำสั่ง:

SELECT columnNames FROM tableName; 

หากต้องการดูเนื้อหาของตารางหนังสือ ให้รันคำสั่งต่อไปนี้:

SELECT * FROM price;

CRUD และข้อจาก

ส่วนคำสั่งสามารถช่วยให้คุณดึงข้อมูลเฉพาะคอลัมน์เดียวจากตารางฐานข้อมูลได้ ตัวอย่างเช่น:

SELECT price FROM Price;

CRUD และข้อจาก

งานขั้นสูง

ขั้นตอนการเก็บ

ขั้นตอนคือก MariaDB โปรแกรมที่คุณสามารถส่งพารามิเตอร์ไปได้ ขั้นตอนไม่ส่งกลับค่า ในการสร้างขั้นตอน เราใช้คำสั่ง CREATE PROCEDURE

เพื่อสาธิตวิธีการสร้างและเรียกใช้โพรซีเดอร์ เราจะสร้างโพรซีเดอร์ชื่อ myProcedure() ซึ่งช่วยให้เราเลือกคอลัมน์ชื่อจากตารางหนังสือ นี่คือขั้นตอน:

DELIMITER $
    CREATE PROCEDURE myProcedure()
        BEGIN
            SELECT name FROM book;
        END;
;

ขั้นตอนการจัดเก็บงานขั้นสูง

ขั้นตอนได้ถูกสร้างขึ้นแล้ว เราได้แนบคำสั่ง SELECT ไว้ภายในส่วนคำสั่ง BEGIN และ END ของกระบวนการ

ตอนนี้เราสามารถเรียกโพรซีเดอร์ได้ตามชื่อที่แสดงด้านล่าง:

CALL myProcedure();

ขั้นตอนการจัดเก็บงานขั้นสูง

ขั้นตอนส่งคืนคอลัมน์ชื่อของตารางหนังสือเมื่อถูกเรียก

เราสามารถสร้างกระบวนการที่รับพารามิเตอร์ได้ ตัวอย่างเช่น เราต้องเลือกชื่อหนังสือและกรองโดยใช้ ID หนังสือ เราสามารถสร้างกระบวนการต่อไปนี้สำหรับสิ่งนี้:

DELIMITER $
    CREATE PROCEDURE myProcedure2(book_id int)
        BEGIN
            SELECT name FROM book WHERE id = book_id;
        END;
;

ขั้นตอนการจัดเก็บงานขั้นสูง

ข้างต้น เราได้สร้างขั้นตอนชื่อ myProcedure2() ขั้นตอนนี้ใช้พารามิเตอร์จำนวนเต็มหนึ่งตัวชื่อ book_id ซึ่งเป็นรหัสของหนังสือที่เราจำเป็นต้องดูชื่อ หากต้องการดูชื่อหนังสือที่มีรหัส 3 เราสามารถเรียกขั้นตอนได้ดังนี้

CALL myProcedure2(3);

ขั้นตอนการจัดเก็บงานขั้นสูง

ฟังก์ชัน

ต่างจากโพรซีเดอร์ตรงที่เราต้องส่งพารามิเตอร์ไปยังฟังก์ชันและฟังก์ชันจะต้องส่งคืนค่า เพื่อสร้างฟังก์ชั่นใน MariaDBเราใช้คำสั่ง CREATE FUNCTION ซึ่งมีรูปแบบคำสั่งดังนี้:

CREATE 
[ DEFINER = { CURRENT-USER | username } ] 
FUNCTION function-name [(parameter datatype [, parameter datatype]) ]
RETURNS datatype [LANGUAGE SQL
                        | DETERMINISTIC
                        | NOT DETERMINISTIC
                        | {CONTAINS SQL 
                          | NO SQL
                          | READS SQL DATA
                          | MODIFIES SQL DATA}
                        | SQL SECURITY {DEFINER | INVOKER}
                        | COMMENT 'comment'

BEGIN

   declaration-section

   executable-section

END;

พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง:

พารามิเตอร์ Descriptไอออน
ส่วน DEFINER พารามิเตอร์นี้เป็นทางเลือก หากคุณไม่ระบุ ผู้กำหนดจะกลายเป็นผู้ใช้ที่สร้างฟังก์ชัน หากจำเป็นต้องระบุตัวกำหนดอื่น ให้รวมส่วนคำสั่ง DEFINER โดยที่ user_name จะเป็นตัวกำหนดของฟังก์ชัน
function_name ชื่อที่จะกำหนดให้กับฟังก์ชันนี้ใน MariaDB.
พารามิเตอร์ พารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชัน ในระหว่างการสร้างฟังก์ชัน พารามิเตอร์ทั้งหมดจะถือเป็น ในพารามิเตอร์ (แทนที่จะเป็นพารามิเตอร์ OUT/INOUT)
return_datatype ชนิดข้อมูลของค่าที่ส่งคืนของฟังก์ชัน
ภาษา SQL มันส่งผลต่อการพกพาแต่ไม่ส่งผลต่อฟังก์ชั่น
กำหนด ฟังก์ชันจะส่งกลับผลลัพธ์เดียวก็ต่อเมื่อกำหนดพารามิเตอร์จำนวนหนึ่งเท่านั้น
ไม่ใช่สิ่งที่กำหนดไว้ เป็นไปได้ที่ฟังก์ชันจะส่งกลับผลลัพธ์ที่แตกต่างออกไปเมื่อกำหนดพารามิเตอร์จำนวนหนึ่ง
ประกอบด้วย SQL แจ้ง MariaDB ว่าฟังก์ชันนี้มี SQL ฐานข้อมูลจะไม่ตรวจสอบว่าสิ่งนี้เป็นจริงหรือไม่
ไม่มี SQL ไม่ได้ใช้ประโยคนี้ และไม่มีผลกระทบต่อฟังก์ชันของคุณ
อ่านข้อมูล SQL บอก MariaDB ว่าฟังก์ชันนี้จะใช้คำสั่ง SELECT ในการอ่านข้อมูล แต่จะไม่แก้ไขข้อมูล
แก้ไขข้อมูล SQL บอก MariaDB ว่าฟังก์ชันนี้จะใช้ INSERT, DELETE, UPDATE และอื่นๆ DDL คำสั่งเพื่อแก้ไขข้อมูล SQL
ส่วนประกาศ นี่คือที่ที่ควรประกาศตัวแปรท้องถิ่น
ปฏิบัติการส่วน ควรเพิ่มโค้ดฟังก์ชันที่นี่

นี่คือตัวอย่าง MariaDB ฟังก์ชั่น:

DELIMITER //

CREATE FUNCTION sumFunc (x INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE sum INT;
   SET sum = 0;
   label1: WHILE sum <= 3000 DO
   SET sum = sum + x;
   END WHILE label1;
   RETURN sum;
END; //
DELIMITER ;

ฟังก์ชั่นใน MariaDB

จากนั้นเราสามารถเรียกใช้ฟังก์ชันข้างต้นได้ดังนี้:

select sumFunc(1000);

คำสั่งจะส่งคืนสิ่งต่อไปนี้:

ฟังก์ชั่นใน MariaDB

เมื่อคุณใช้ฟังก์ชันเสร็จแล้ว คุณสามารถลบฟังก์ชันนั้นได้ ซึ่งทำได้ง่าย เพียงเรียกใช้คำสั่ง DROP FUNCTION ที่มีรูปแบบดังต่อไปนี้:

DROP FUNCTION function_name;

ตัวอย่างเช่น หากต้องการลบฟังก์ชันที่ชื่อ myFunc เราสามารถรันคำสั่งต่อไปนี้:

DROP FUNCTION myFunc;

สมัคร

เมื่อคุณต้องการดึงข้อมูลจากมากกว่าหนึ่งตารางในคราวเดียว ให้ใช้ MariaDB เข้าร่วม ซึ่งหมายความว่าก สมัคร ใช้งานได้กับตารางสองตารางขึ้นไป รองรับ JOINS สามประเภทต่อไปนี้ MariaDB:

  • ภายใน/เข้าร่วมอย่างง่าย
  • เข้าร่วมด้านนอกซ้าย / เข้าร่วมซ้าย
  • เข้าร่วมด้านนอกขวา / เข้าร่วมขวา

ให้เราหารือกันทีละคน:

INNER JOIN

การรวมภายในส่งคืนแถวทั้งหมดจากตารางที่เงื่อนไขการรวมเป็นจริง ไวยากรณ์ของมันมีดังนี้:

SELECT columns  
FROM table-1   
INNER JOIN table-2  
ON table-1.column = table-2.column;  

ตัวอย่างเช่น:

เราจะใช้โต๊ะสองเล่ม หนังสือ และหนังสือของเรา

ตารางหนังสือประกอบด้วยข้อมูลต่อไปนี้:

INNER JOIN

ตารางราคาประกอบด้วยข้อมูลต่อไปนี้:

INNER JOIN

เป้าหมายคือการรวมคอลัมน์ชื่อจากตาราง Book และคอลัมน์ราคาจากตารางราคาไว้ในตารางเดียว สิ่งนี้เป็นไปได้ด้วยการรวมภายใน ดังที่แสดงด้านล่าง:

SELECT book.name, price.price 
FROM book   
INNER JOIN price 
ON book.id = price.id;   

คำสั่งจะคืนค่าต่อไปนี้:

INNER JOIN

ซ้าย OUTER เข้าร่วม

การรวมนี้จะส่งคืนแถวทั้งหมดจากตารางด้านซ้าย และเฉพาะแถวที่มีเงื่อนไขการรวมเป็นจริงจากอีกตารางหนึ่ง ไวยากรณ์ของมันมีดังนี้:

SELECT columns  
FROM table-1  
LEFT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

คีย์เวิร์ด OUTER ได้ถูกวางไว้ภายในวงเล็บเหลี่ยมเพราะว่าเป็นตัวเลือก

ตัวอย่างเช่น:

SELECT book.name, price.price 
FROM book   
LEFT JOIN price 
ON book.id = price.id;   

คำสั่งจะคืนค่าต่อไปนี้:

ซ้าย OUTER เข้าร่วม

บันทึกสุดท้ายในตารางด้านบนไม่มีค่าที่ตรงกันทางด้านซ้าย นั่นคือเหตุผลที่มันถูกแทนที่ด้วย NULL

เข้าร่วมด้านนอกขวา

การรวมนี้จะส่งคืนแถวทั้งหมดจากตารางทางขวามือ และเฉพาะแถวที่เงื่อนไขการรวมเป็นจริงจากตารางอื่นเท่านั้น ไวยากรณ์ของมันมีดังนี้:

SELECT columns  
FROM table-1  
RIGHT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

คีย์เวิร์ด OUTER ได้ถูกวางไว้ภายในวงเล็บเหลี่ยมเพราะว่าเป็นตัวเลือก

ตัวอย่างเช่น:

SELECT book.name, price.price 
FROM book   
RIGHT JOIN price
ON book.id = price.id;   

คำสั่งจะคืนค่าต่อไปนี้:

เข้าร่วมด้านนอกขวา

เหตุผลก็คือแถวทั้งหมดในตารางทางขวาตรงกับแถวในตารางอื่น หากบางแถวไม่ตรงกัน เราก็จะมีค่า NULL ในคอลัมน์แรก