วิธีเขียนสคริปต์ SQL
เครดิตรูปภาพ: ข้าวโอ๊ต / iStock / GettyImages
SQL หรือ Structured Query Language ซึ่งอนุญาตให้สร้างและแก้ไขฐานข้อมูล เป็นหนึ่งในภาษาการเขียนโปรแกรมบนเว็บที่ง่ายที่สุดที่จะเข้าใจ ถึงกระนั้น หลายคนไม่สนใจที่จะเรียนรู้เกี่ยวกับ SQL แบบเจาะลึก เพราะตัวจัดการฐานข้อมูล เช่น phpMyAdmin ช่วยให้คุณสร้าง แก้ไข และดูตารางได้โดยไม่ต้องรู้รหัสใดๆ การเรียนรู้ที่จะเขียนสคริปต์ SQL ของคุณเองนั้นใช้เวลาไม่นานนัก และจะพิสูจน์ให้เห็นว่ามีประโยชน์อย่างมากเมื่อสร้างเว็บไซต์ที่เติมข้อมูล
สำรวจไวยากรณ์ SQL
เรียนรู้ไวยากรณ์ SQL ที่เหมาะสม ตามเนื้อผ้า คำสั่ง SQL จะเป็นตัวพิมพ์ใหญ่ทั้งหมด ในขณะที่ชื่อของตารางและข้อมูลส่วนตัวในเขตข้อมูลของคุณจะเป็นตัวพิมพ์เล็ก เช่นเดียวกับใน PHP คำสั่งทั้งหมดจะลงท้ายด้วยเครื่องหมายอัฒภาค แต่คำสั่งเหล่านั้นสามารถแบ่งออกเป็นบรรทัดต่างๆ ได้ตามต้องการ (เพื่อช่วยในเรื่องความสามารถในการอ่าน)
วิดีโอประจำวันนี้
การค้นคว้าประเภทข้อมูล SQL
ทำความคุ้นเคยกับประเภทข้อมูล SQL -- วิธีที่ SQL ระบุข้อมูลที่คุณมีในทุกฟิลด์ในตารางของคุณ โดยทั่วไปคือ INT (สำหรับจำนวนเต็มตั้งแต่ -2 พันล้านถึง 2 พันล้าน), BIGINT (สำหรับจำนวนเต็มที่มากกว่า หรือเล็กกว่านั้น), VARCHAR (ข้อความไม่เกิน 256 อักขระ) และ TEXT (ข้อความไม่เกิน 64,000 อักขระ)
เข้าใจถึงความจำเป็นของคีย์หลัก ในทางปฏิบัติ ทุกตารางที่คุณสร้างจะมีคอลัมน์ "ID" ที่มีหมายเลขเฉพาะ - ติดป้ายกำกับ "primary key" - เพื่อให้แน่ใจว่าไม่มี "record" (หรือแถว) เหมือนกัน
การสร้างตารางใหม่
สร้างตารางในฐานข้อมูลของคุณโดยใช้คำสั่ง CREATE TABLE ในระหว่างการฝึก คุณมักจะสร้างตารางเดิมซ้ำแล้วซ้ำอีก จึงมักจะเป็นประโยชน์ เพื่อนำหน้าด้วยคำสั่ง DROP TABLE IF EXISTS เพื่อไม่ให้ข้อมูลเริ่มล้นและสับสน คุณ. นี่คือสิ่งแรกที่คุณจะเขียนเพื่อสร้างตารางที่เรียกว่า "ภาพยนตร์": DROP TABLE IF EXISTS ภาพยนตร์; สร้างภาพยนตร์ตาราง ();
เพิ่มชื่อเขตข้อมูลหรือชื่อคอลัมน์ลงในตาราง จนถึงตอนนี้ "ภาพยนตร์" ว่างเปล่าโดยสิ้นเชิง หากต้องการกรอกข้อมูลเกี่ยวกับภาพยนตร์เรื่องโปรดของคุณ คุณอาจต้องการคอลัมน์ "ชื่อ" คอลัมน์ "ผู้กำกับ" และคอลัมน์ "ปี" นอกเหนือจากคอลัมน์ "id" ที่มีคีย์หลัก คุณเพิ่มข้อมูลนี้ในวงเล็บของบรรทัด CREATE TABLE
สังเกตว่าหลังจากแต่ละชื่อฟิลด์ คุณต้องประกาศชนิดของข้อมูลที่เป็นชนิด นอกจากนี้ แม้ว่า SQL จะกำหนดความยาวของจำนวนเต็มโดยอัตโนมัติ คุณต้องประกาศความยาวสูงสุดของข้อมูลข้อความทั้งหมด ดังนั้นในโค้ดด้านบน รายการในช่อง "title" ต้องมีความยาวไม่เกิน 60 อักขระ และรายการในฟิลด์ "directors" ต้องมีความยาวไม่เกิน 30 อักขระ
การแทรกข้อมูลลงในตารางของคุณ
เพิ่มข้อมูลลงในตารางของคุณ ตอนนี้คุณมีตารางที่เรียกว่า "ภาพยนตร์" พร้อมคอลัมน์สำหรับคีย์หลัก ชื่อภาพยนตร์ ผู้กำกับ และปี แต่ไม่มีอะไรในคอลัมน์เหล่านั้น หากต้องการเพิ่มข้อมูล ให้ใช้คำสั่ง INSERT INTO ข้อมูลถูกแทรกครั้งละหนึ่งระเบียน (แถว) ดังนั้นภายใต้โค้ด CREATE TABLE ทั้งหมดจากด้านบน คำสั่ง INSERT INTO จะมีลักษณะดังนี้: INSERT INTO ภาพยนตร์ VALUES (null, 'Casablanca', 'Michael Curtiz', 1942); INSERT INTO ภาพยนตร์ VALUES (null, 'Star Wars', 'George Lucas', 1977); INSERT INTO ภาพยนตร์ VALUES (null, 'Psycho', 'Alfred Hitchcock', 1960);
ใช้คำสั่ง SELECT เพื่อดึงข้อมูลเฉพาะจากตาราง เมื่อคุณใช้ตัวจัดการฐานข้อมูล เช่น phpMyAdmin วิธีนี้จะช่วยให้คุณรับข้อมูลที่ต้องการได้อย่างรวดเร็ว ถ้าคุณต้องการดูชื่อเรื่องของภาพยนตร์ในตารางของคุณ คุณจะต้องเขียน: เลือกชื่อเรื่องจากภาพยนตร์ หากคุณต้องการดูทั้งตาราง ให้ใช้เครื่องหมายดอกจัน: SELECT * FROM movies; หากคุณต้องการเฉพาะเจาะจง ให้ใช้คำสั่ง WHERE: SELECT title FROM movies WHERE director = 'Alfred Hitchcock'; นั่นจะดึงชื่อภาพยนตร์ทุกเรื่องในตารางของคุณที่กำกับโดย Alfred Hitchcock หากคุณตัดสินใจว่าคุณต้องการภาพยนตร์ฮิตช์ค็อกเรื่องอื่น เพียงใช้คำสั่ง INSERT อีกครั้ง: INSERT INTO ภาพยนตร์ VALUES (null, 'North by Northwest', 'Alfred Hitchcock', '1956');
การแก้ไขข้อมูลของคุณ
แก้ไขข้อมูลของคุณโดยใช้คำสั่ง UPDATE และ SET ในตัวอย่างข้างต้น วันที่สำหรับ "North by Northwest" ถูกตั้งค่าเป็น 1956 นั่นไม่ถูกต้อง ออกฉายจริงในปี 2502 เพื่อแก้ไขข้อผิดพลาด คุณจะต้องเขียนว่า: UPDATE ภาพยนตร์ SET year = '1959' WHERE title = 'North by Northwest';
ลบข้อมูลโดยใช้คำสั่ง DELETE FROM หากคุณตัดสินใจว่าคุณไม่ชอบ "โรคจิต" อีกต่อไปและต้องการกำจัดมันทิ้งไป คุณจะต้องเขียนว่า: DELETE FROM movies WHERE id = 3; โปรดสังเกตในคำสั่งด้านบน "Psycho" จะถูกลบออกตามคีย์หลัก ไม่ใช่ชื่อ คุณสามารถเขียน: DELETE FROM ภาพยนตร์ WHERE title = "Psycho"; แต่ถ้ามีหนังเรื่องอื่นในโต๊ะของคุณชื่อ "ไซโค" ที่คุณลืมไปล่ะ? พวกเขาทั้งสองจะถูกลบ โปรดใช้ความระมัดระวังทุกครั้งที่ใช้ DELETE