คลังเก็บหมวดหมู่: หนังสือเกี่ยวกับ SQL พื้นฐาน SQL สำหรับผู้เริ่มต้นพร้อมบทเรียน บทช่วยสอน sql แบบโต้ตอบ

เว็บแอปพลิเคชันสมัยใหม่ส่วนใหญ่โต้ตอบกับฐานข้อมูล มักใช้ภาษาที่เรียกว่าเอสคิวแอล โชคดีสำหรับเรา ภาษานี้เรียนรู้ได้ง่ายมาก ในบทความนี้เราจะมาดูเรื่องง่าย ๆ กัน SQL ขอและเรียนรู้วิธีใช้เพื่อโต้ตอบกับฐานข้อมูล MySQL

อะไรที่คุณต้องการ?

SQL (ภาษาคิวรีที่มีโครงสร้าง) ภาษาที่ออกแบบมาเป็นพิเศษเพื่อโต้ตอบกับระบบการจัดการฐานข้อมูลเช่น MySQL, Oracle, SQLite และอื่นๆ ... เพื่อดำเนินการ SQL คำขอในบทความนี้ฉันแนะนำให้คุณติดตั้ง MySQL ไปยังเครื่องคอมพิวเตอร์ท้องถิ่น นอกจากนี้ฉันขอแนะนำให้ใช้ phpMyAdmin เป็นอินเทอร์เฟซแบบภาพ

ทั้งหมดนี้มีอยู่ในเดนเวอร์ที่ทุกคนชื่นชอบ ฉันคิดว่าทุกคนน่าจะรู้ว่ามันคืออะไรและหาซื้อได้ที่ไหน :) สามารถอย่างอื่นใช้ WAMP หรือ MAMP

เดนเวอร์มีสร้างขึ้นใน MySQL คอนโซล เราจะใช้มัน

สร้างฐานข้อมูล:การสร้างฐานข้อมูล

นี่คือคำขอแรกของเรา เราจะสร้างฐานข้อมูลแรกของเราสำหรับการทำงานต่อไป

ในการเริ่มต้น ให้เปิด MySQL คอนโซลและเข้าสู่ระบบ สำหรับ WAMP รหัสผ่านเริ่มต้นว่างเปล่า นั่นไม่ใช่อะไร :) สำหรับ MAMP - "รูท" เดนเวอร์ต้องได้รับการชี้แจง

หลังจากเข้าสู่ระบบให้ป้อนบรรทัดต่อไปนี้แล้วคลิกเข้า:

สร้างฐานข้อมูล my_first_db;

โปรดทราบว่าจะมีการเพิ่มอัฒภาค (;) ที่ส่วนท้ายของคิวรี เช่นเดียวกับในภาษาอื่นๆ

คำสั่งในSQL .ด้วย กรณีที่สำคัญ. เราเขียนด้วยอักษรตัวใหญ่

ตัวเลือก เท่านั้น: ชุดตัวอักษรและ การเรียง

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

สร้างฐานข้อมูล my_first_db ตั้งค่าอักขระเริ่มต้น utf8 COLLATE utf8_general_ci;

ค้นหารายการชุดอักขระที่รองรับในมายเอสเอสแอล

แสดงฐานข้อมูล:แสดงรายการฐานข้อมูลทั้งหมด

คำสั่งนี้ใช้เพื่อแสดงฐานข้อมูลที่มีอยู่ทั้งหมด

วางฐานข้อมูล:การลบฐานข้อมูล

คุณสามารถวางฐานข้อมูลที่มีอยู่ด้วยแบบสอบถามนี้

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

ใช้:การเลือกฐานข้อมูล

ในทางเทคนิค นี่ไม่ใช่แบบสอบถาม แต่เป็นโอเปอเรเตอร์ และไม่ต้องการอัฒภาคในตอนท้าย

มันบอก MySQL เลือกฐานข้อมูลที่จะทำงานตามค่าเริ่มต้นสำหรับเซสชันปัจจุบัน ตอนนี้เราพร้อมที่จะสร้างตารางและทำสิ่งอื่น ๆ กับฐานข้อมูลแล้ว

ตารางในฐานข้อมูลคืออะไร?

คุณสามารถแสดงตารางในฐานข้อมูลเป็นไฟล์เอ็กเซล

เช่นเดียวกับในภาพ ตารางมีชื่อคอลัมน์ แถว และข้อมูล โดยใช้ SQL แบบสอบถามที่เราสามารถสร้างตารางดังกล่าวได้ เรายังอาจเพิ่ม อ่าน อัปเดต และลบข้อมูล

สร้างตาราง: สร้างตาราง

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

แบบสอบถามต่อไปนี้จะสร้างตารางที่มี 2 คอลัมน์

ผู้ใช้ CREATE TABLE (ชื่อผู้ใช้ VARCHAR (20), create_date DATE);

โปรดทราบว่าเราสามารถเขียนข้อความค้นหาของเราได้หลายบรรทัดและมีแท็บสำหรับการเยื้อง

บรรทัดแรกนั้นง่าย เราเพียงแค่สร้างตารางที่เรียกว่า "ผู้ใช้" ถัดไป ในวงเล็บ คั่นด้วยเครื่องหมายจุลภาค คือรายการของคอลัมน์ทั้งหมด หลังจากแต่ละชื่อคอลัมน์ เรามีประเภทข้อมูล เช่น VARCHAR หรือ DATE

VARCHAR(20) หมายความว่าคอลัมน์เป็นสตริงประเภทและมีความยาวได้สูงสุด 20 อักขระ DATE ยังเป็นประเภทข้อมูลที่ใช้เก็บวันที่ในรูปแบบนี้: "YYYY - MM-DD"

คีย์หลัก ( คีย์หลักชม)

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

สร้างผู้ใช้ตาราง (user_id INT AUTO_INCREMENT คีย์หลัก, ชื่อผู้ใช้ VARCHAR(20), create_date DATE);

INT สร้างประเภทจำนวนเต็ม 32 บิต (เช่นตัวเลข) AUTO_INCREMENT สร้างค่าใหม่โดยอัตโนมัติไอดี ทุกครั้งที่เราเพิ่มแถวข้อมูลใหม่ ไม่จำเป็น แต่ทำให้กระบวนการทั้งหมดง่ายขึ้น

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

เรียกใช้แบบสอบถาม:

แสดงตาราง:แสดงตารางทั้งหมด

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

อธิบาย:แสดงโครงสร้างตาราง

คุณสามารถใช้แบบสอบถามนี้เพื่อแสดงโครงสร้างของตารางที่มีอยู่

คอลัมน์จะแสดงพร้อมคุณสมบัติทั้งหมด

วางตาราง:ลบตาราง

เช่นเดียวกับ DROP DATABASES แบบสอบถามนี้ลดตารางและเนื้อหาโดยไม่มีการเตือน

เปลี่ยนตาราง: เปลี่ยนตาราง

คิวรีนี้ยังสามารถมีโครงสร้างที่ซับซ้อนได้ เนื่องจากสามารถเปลี่ยนแปลงตารางได้มากขึ้น มาดูตัวอย่างกัน

(หากลบตารางในขั้นตอนที่แล้ว ให้สร้างใหม่เพื่อทดสอบ)

การเพิ่มคอลัมน์

เปลี่ยนผู้ใช้ตาราง เพิ่มอีเมล VARCHAR(100) หลังจากชื่อผู้ใช้;

เนื่องจากความสามารถในการอ่านที่ดีของ SQL ฉันคิดว่าไม่มีประโยชน์ที่จะอธิบายในรายละเอียด เรากำลังเพิ่มคอลัมน์ใหม่ "อีเมล" หลัง "ชื่อผู้ใช้"

การลบคอลัมน์

มันง่ายมากเช่นกัน โปรดใช้แบบสอบถามนี้ด้วยความระมัดระวัง เนื่องจากข้อมูลอาจถูกลบโดยไม่มีการเตือน

กู้คืนคอลัมน์ที่คุณเพิ่งลบไปเพื่อการทดลองเพิ่มเติม

เปลี่ยนแปลงคอลัมน์

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

ข้อความค้นหานี้เปลี่ยนชื่อคอลัมน์ผู้ใช้เป็น "user_name" และเปลี่ยนประเภทจาก VARCHAR(20) เป็น VARCHAR(30) การเปลี่ยนแปลงดังกล่าวไม่ควรเปลี่ยนข้อมูลในตาราง

แทรก: การเพิ่มข้อมูลลงในตาราง

มาเพิ่มข้อมูลบางอย่างลงในตารางโดยใช้แบบสอบถามต่อไปนี้

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

โปรดทราบว่าค่าแรกเป็น NULL สำหรับฟิลด์ PRIMARY KEY ที่เรียกว่า "user_id " เราทำเช่นนี้เพื่อให้ ID ถูกสร้างขึ้นโดยอัตโนมัติ เนื่องจากคอลัมน์มีคุณสมบัติ AUTO_INCREMENT เมื่อเพิ่มข้อมูลครั้งแรก ID จะเป็น 1 แถวถัดไปจะเป็น 2 และอื่นๆ...

ตัวเลือกทางเลือก

มีตัวเลือกแบบสอบถามอื่นสำหรับการเพิ่มแถว

ครั้งนี้เราใช้คีย์เวิร์ด SET แทน VALUES และไม่มีวงเล็บ มีความแตกต่างหลายประการ:

สามารถข้ามคอลัมน์ได้ ตัวอย่างเช่น เราไม่ได้กำหนดค่าให้กับ "user_id " ซึ่งจะได้รับค่า AUTO_INCREMENT เป็นค่าเริ่มต้น หากคุณละเว้นคอลัมน์ VARCHAR ระบบจะเพิ่มสตริงว่าง

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

ทางเลือก2

นี่เป็นอีกทางเลือกหนึ่ง

อีกครั้ง เนื่องจากมีการอ้างอิงถึงชื่อคอลัมน์ คุณจึงสามารถระบุค่าในลำดับใดก็ได้

LAST_INSERT_ID()

คุณสามารถใช้แบบสอบถามนี้เพื่อรับ ID ที่เป็น AUTO_INCREMENT สำหรับแถวสุดท้ายของเซสชันปัจจุบัน

ตอนนี้()

ตอนนี้ได้เวลาแสดงให้คุณเห็นว่าคุณสามารถใช้ฟังก์ชัน MySQL ในการสืบค้นได้อย่างไร

ฟังก์ชัน NOW() จะคืนค่าวันที่ปัจจุบัน คุณจึงสามารถใช้คอลัมน์นี้เพื่อกำหนดวันที่ของคอลัมน์ให้เป็นปัจจุบันโดยอัตโนมัติเมื่อคุณแทรกแถวใหม่

โปรดทราบว่าเราได้รับคำเตือน 1 รายการ แต่ไม่ต้องสนใจ เหตุผลก็คือว่า NOW() ยังทำหน้าที่แสดงข้อมูลชั่วคราวอีกด้วย

เลือก: การอ่านข้อมูลจากตาราง

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

ด้านล่างนี้คือแบบสอบถาม SELECT ที่ง่ายที่สุดในการอ่านตาราง

ในกรณีนี้ เครื่องหมายดอกจัน (*) หมายความว่าเราได้ขอช่องทั้งหมดจากตารางแล้ว หากคุณต้องการเฉพาะบางคอลัมน์ แบบสอบถามจะมีลักษณะดังนี้

สภาพที่ไหน

ส่วนใหญ่แล้วเราไม่สนใจทุกคอลัมน์ แต่เฉพาะบางคอลัมน์เท่านั้น ตัวอย่างเช่น สมมติว่าเราต้องการที่อยู่อีเมลสำหรับผู้ใช้ "nettuts " เท่านั้น

WHERE ช่วยให้คุณสามารถกำหนดเงื่อนไขในแบบสอบถามและทำการเลือกโดยละเอียด

โปรดทราบว่าความเท่าเทียมกันใช้เครื่องหมายเท่ากับ (=) หนึ่งเครื่องหมายแทนเครื่องหมายสองตัวในการเขียนโปรแกรม

คุณยังสามารถใช้การเปรียบเทียบ

AND หรือ OR สามารถใช้เพื่อรวมเงื่อนไข:

โปรดทราบว่าค่าตัวเลขต้องไม่อยู่ในเครื่องหมายคำพูด

ใน()

ซึ่งมีประโยชน์สำหรับการสุ่มตัวอย่างในหลายค่า

ชอบ

อนุญาตให้คุณทำการร้องขอ "ตัวแทน"

เครื่องหมาย % ถูกใช้เป็น "ตัวแทน" นั่นคือสามารถเป็นอะไรก็ได้

สภาพสั่งโดย

หากคุณต้องการได้ผลลัพธ์ในรูปแบบการสั่งซื้อตามเกณฑ์บางอย่าง

ลำดับเริ่มต้นคือ ASC (จากน้อยไปมาก) สำหรับการย้อนกลับจะใช้ DESC

จำกัด ... ออฟเซ็ต ...

คุณสามารถจำกัดจำนวนผลลัพธ์ที่คุณได้รับ

LIMIT 2 รับเพียง 2 ผลลัพธ์แรก LIMIT 1 OFFSET 2 ได้ 1 ผลลัพธ์หลังจาก 2 ครั้งแรก LIMIT 2, 1 หมายถึงเหมือนกัน (แค่สังเกตว่า offset มาก่อนแล้ว limit )

อัปเดต: เปลี่ยนแปลงข้อมูลในตาราง

แบบสอบถามนี้ใช้เพื่อเปลี่ยนแปลงข้อมูลในตาราง

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

คุณยังใช้ LIMIT เพื่อจำกัดจำนวนแถวที่ต้องแก้ไขได้อีกด้วย

ลบ: การลบข้อมูลออกจากตาราง

เช่นเดียวกับ UPDATE แบบสอบถามนี้ใช้กับ WHERE:

หากต้องการลบเนื้อหาของตาราง คุณสามารถทำได้ดังนี้:

ลบจากผู้ใช้;

แต่ใช้ดีกว่าตัด

นอกเหนือจากการลบ แบบสอบถามนี้ยังรีเซ็ตค่า AUTO_INCREMENT และเมื่อเพิ่มแถวอีกครั้ง การนับถอยหลังจะเริ่มจากศูนย์ลบ ไม่ทำเช่นนี้และการนับถอยหลังจะดำเนินต่อไป

ปิดการใช้งานค่าสตริงและคำพิเศษ

ค่าสตริง

อักขระบางตัวต้องปิดการใช้งาน (หนี ) หรืออาจมีปัญหา

สำหรับสิ่งนี้ จะใช้แบ็กสแลช(\).

คำพิเศษ

เพราะใน MySQL มีคำพิเศษมากมาย SELECT หรือ UPDATE ) เพื่อหลีกเลี่ยงข้อผิดพลาดในการใช้งาน ต้องใช้เครื่องหมายคำพูด แต่ไม่ใช่คำพูดธรรมดา แต่สิ่งเหล่านี้(`).

นั่นคือคุณจะต้องเพิ่มคอลัมน์ชื่อ "ลบ " คุณต้องทำเช่นนี้:

บทสรุป

ขอบคุณที่อ่านจนจบ ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับคุณ มันยังไม่จบ! ยังมีต่อ:).

ในบทความนี้ ฉันพยายามรวมประเด็นหลักทั้งหมดเข้าด้วยกัน ทำธุรกรรมSQLเพื่อช่วยให้โปรแกรมเมอร์ฐานข้อมูลเริ่มต้นเรียนรู้ภาษาและเขียนข้อความค้นหาและแอปพลิเคชันใน Transact-SQL

การเขียนโปรแกรมฐานข้อมูล และโดยเฉพาะอย่างยิ่ง ฐานข้อมูลที่ใช้ Microsoft SQL Server ได้รับความนิยมอย่างมาก นั่นเป็นเหตุผลที่ฉันตัดสินใจสร้างหนังสืออ้างอิงขนาดเล็กที่คุณสามารถค้นหาประเด็นหลักทั้งหมดพร้อมคำอธิบายและตัวอย่างพร้อมตัวอย่าง

เพื่อฝึกเขียนคำสั่ง SQL หรือสร้างวัตถุฐานข้อมูล คุณสามารถใช้ SQL Server Express รุ่นฟรี ในขณะที่รวบรวมคำแนะนำ เวอร์ชันล่าสุดคือ Microsoft SQL Server 2014 Express

Transact-SQL Reference สำหรับผู้เริ่มต้น - คำอธิบายอ้างอิง

คู่มือนี้จะมีลักษณะดังนี้ก่อนอื่นฉันจะให้สารบัญขนาดเล็กพร้อมการนำทางจากนั้นคู่มือจะเริ่มขึ้นสำหรับแต่ละรายการจะมีความคิดเห็นคำอธิบายและตัวอย่าง นอกจากนี้ หากเราได้ตรวจสอบอย่างละเอียดแล้ว หรือใช้สิ่งนี้หรือวัตถุหรือการกระทำใด ๆ ในเนื้อหาบนเว็บไซต์ของเรา แน่นอนว่าฉันจะใส่ลิงก์เพื่อให้คุณสามารถดูตัวอย่างโดยละเอียดหรือวิธีใช้การกระทำนี้หรือการกระทำนั้นในทางปฏิบัติ .

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

สำหรับการศึกษาภาษา T-SQL โดยละเอียด ฉันแนะนำให้อ่านหนังสือของฉัน "วิถีของโปรแกรมเมอร์ T-SQL บทช่วยสอนภาษา Transact-SQL” ซึ่งฉันพูดในรายละเอียดมากที่สุดพร้อมตัวอย่างจำนวนมากเกี่ยวกับภาษา T-SQL

ฐานข้อมูล

แม้แต่มือใหม่ Transact-SQL โปรแกรมเมอร์ควรรู้วิธีสร้างฐานข้อมูลหรือเปลี่ยนคุณสมบัติของฐานข้อมูล ดังนั้นก่อนที่จะดูตาราง มุมมอง ฟังก์ชัน และอื่นๆ มาดูขั้นตอนการสร้าง แก้ไข และปล่อยฐานข้อมูลใน Transact- เอสคิวแอล

การสร้าง

ในการสร้างฐานข้อมูล คุณต้องเรียกใช้แบบสอบถามต่อไปนี้:

สร้างการทดสอบฐานข้อมูล

โดยที่การทดสอบคือชื่อของฐานข้อมูล

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างฐานข้อมูลบน SQL Server เราได้พูดคุยกันในเนื้อหา วิธีสร้างฐานข้อมูลใน MS Sql 2008

การกำจัด

ถ้าคุณต้องการลบฐานข้อมูล คุณสามารถใช้แบบสอบถาม:

DROP DATABASE ทดสอบ

เปลี่ยน

ในการเปลี่ยนพารามิเตอร์ฐานข้อมูล คุณสามารถใช้อินเทอร์เฟซแบบกราฟิกของ Management Studio ซึ่งมีการอธิบายพารามิเตอร์ทั้งหมดโดยละเอียด หรือคุณสามารถส่งแบบสอบถาม ALTER DATABASE เพื่อเปิดใช้งานการบีบอัดอัตโนมัติของฐานข้อมูลทดสอบ ใช้แบบสอบถามต่อไปนี้

เปลี่ยนการทดสอบฐานข้อมูล SET AUTO_SHRINK ON; --A เพื่อปิดการทดสอบ ALTER DATABASE SET AUTO_SHRINK OFF;

ฉันหวังว่าชัดเจน ALTER DATABASE คำสั่งเพื่อเปลี่ยน ทดสอบชื่อของฐานข้อมูลที่จะเปลี่ยน คำสั่ง SET ระบุว่าเราจะเปลี่ยนพารามิเตอร์ฐานข้อมูล AUTO_SHRINK พารามิเตอร์เอง เปิด / ปิดค่าพารามิเตอร์

ชนิดข้อมูล

ที่นิยมใช้กันมากที่สุด

ตัวเลขที่แน่นอน

  • Tinyint - 1 ไบต์
  • smallint - 2 ไบต์
  • int - 4 ไบต์
  • bigint - 8 ไบต์
  • ตัวเลขและทศนิยม ( พิมพ์ด้วยความแม่นยำและมาตราส่วนคงที่)
  • เงิน - 8 ไบต์
  • smallmoney - 4 ไบต์

ตัวเลขโดยประมาณ

  • float [ (n) ] - ขนาดขึ้นอยู่กับ n (n สามารถเป็นได้ตั้งแต่ 1 ถึง 53 ค่าเริ่มต้นคือ 53)
  • จริง - 4 ไบต์

วันและเวลา

  • วันที่ - วันที่
  • เวลา - เวลา
  • datetime คือวันที่รวมเวลาของวันเป็นเศษส่วนของวินาทีในรูปแบบ 24 ชั่วโมง

สายอักขระ

  • char [ (n) ] เป็นสตริงที่มีความยาวคงที่ โดยที่ n คือความยาวของสตริง (ตั้งแต่ 1 ถึง 8000) ขนาดที่เก็บข้อมูลคือ n ไบต์
  • varchar [ (n | max) ] เป็นสตริงที่มีความยาวคงที่ โดยที่ n คือความยาวของสตริง (ตั้งแต่ 1 ถึง 8000) หากคุณระบุขนาดสูงสุด ขนาดพื้นที่จัดเก็บสูงสุดจะเป็น 2 ^ 31-1 ไบต์ (2 GB) และหากคุณระบุ n ความยาวจริงของข้อมูลที่ป้อนจะบวก 2 ไบต์
  • ข้อความ - ข้อมูลสตริงความยาวตัวแปร ขนาดสูงสุด 2,147,483,647 ไบต์ (2 GB)
  • nchar [ (n) ] เป็นสตริงที่มีความยาวคงที่ Unicode โดยที่ n คือความยาวของสตริง (ระหว่าง 1 ถึง 4000) ขนาดการจัดเก็บเป็นสองเท่าของค่า n ในหน่วยไบต์
  • nvarchar [ (n | max) ] เป็นสตริงที่มีความยาวคงที่ Unicode โดยที่ n คือความยาวของสตริง (ระหว่าง 1 ถึง 4000) หากระบุ max ขนาดพื้นที่จัดเก็บสูงสุดจะเป็น 2^31-1 ไบต์ (2 GB) และถ้า n เท่ากับความยาวจริงของข้อมูลที่ป้อนเป็นสองเท่าบวก 2 ไบต์
  • ntext - ข้อมูลสตริงความยาวตัวแปร โดยมีความยาวสตริงสูงสุด 1,073,741,823 ไบต์

ข้อมูลไบนารี

  • ไบนารี [ (n) ] - ข้อมูลไบนารีที่มีความยาวคงที่ ขนาด n ไบต์ โดยที่ n คือค่าตั้งแต่ 1 ถึง 8000 ขนาดหน่วยเก็บข้อมูลคือ n ไบต์
  • varbinary [ (n | max) ] - ข้อมูลไบนารีที่มีความยาวผันแปรได้ โดยที่ n สามารถมีค่าได้ตั้งแต่ 1 ถึง 8000 หากคุณระบุ max ขนาดพื้นที่จัดเก็บสูงสุดจะเป็น 2 ^ 31-1 ไบต์ (2 GB) หากระบุ n ขนาดหน่วยเก็บข้อมูลจะเป็นความยาวจริงของข้อมูลที่ป้อน บวก 2 ไบต์
  • รูปภาพ - ข้อมูลไบนารีของความยาวผันแปร ขนาดตั้งแต่ 0 ถึง 2^31 - 1 (2 147 483 647) ไบต์

อื่น

  • xml - การจัดเก็บข้อมูล xml เราได้พูดถึงมันอย่างละเอียดในเนื้อหา Transact-sql - การทำงานกับ xml และถ้าคุณไม่รู้ว่า XML คืออะไร เราก็พูดถึงมันในบทความ XML Basics for Beginners
  • ตาราง - การจัดเก็บชุดผลลัพธ์ของแถว

โต๊ะ

มีตัวอย่างเพียงพอสำหรับการสร้างตารางบนไซต์นี้ เนื่องจากในเกือบทุกบทความที่เกี่ยวข้องกับ SQL ฉันได้ยกตัวอย่างการสร้างตารางทดสอบ แต่เพื่อรวบรวมความรู้ มาสร้าง แก้ไข และลบตารางทดสอบกันเถอะ มาดูกันว่าชนิดข้อมูลเขตข้อมูลถูกตั้งค่าในตารางใน Transact-SQL อย่างไร

การสร้าง

CREATE TABLE test_table ( IDENTITY (1,1) NOT NULL, --identifier, int int ค่า NULL ไม่อนุญาตให้ใช้ (50) NULL, --Name, string ยาว 50 อักขระ, ค่า NULL NULL อนุญาต, --sum , ค่าตัวเลขโดยประมาณ, ค่า Null ที่อนุญาต NULL, --วันที่และเวลา, ค่า Null ที่อนุญาต (100) NULL -- สตริงที่มีความยาว 100 อักขระ, อนุญาตให้ใช้ค่า null) ON GO

การเพิ่มคอลัมน์

แก้ไขตาราง test_table เพิ่ม prosto_pole ตัวเลข (18, 0) NULL
  • test_table คือชื่อของตาราง
  • เพิ่ม - คำสั่งเพื่อเพิ่ม;
  • prosto_pole – ชื่อคอลัมน์;
  • ขั้วตัวเลข(18, 0) – ชนิดข้อมูลของคอลัมน์ใหม่;
  • NULL – พารามิเตอร์หมายความว่าค่า NULL สามารถเก็บไว้ในฟิลด์นี้ได้

การเปลี่ยนประเภทข้อมูล

มาเปลี่ยนประเภทข้อมูลของฟิลด์ใหม่ที่เราเพิ่งสร้าง (prosto_pole) จากตัวเลข (18, 0) เป็น bigint และเพิ่มความยาวของช่องความคิดเห็นเป็น 300 อักขระ

เปลี่ยนตาราง test_table ALTER COLUMN prosto_pole bigint; ALTER TABLE test_table ALTER COLUMN ความคิดเห็น varchar(300);

บันทึก! SQL Server จะไม่สามารถเปลี่ยนประเภทข้อมูลได้หากไม่สามารถแปลงค่าในฟิลด์เหล่านี้ได้ ซึ่งในกรณีนี้ คุณจะต้องลบคอลัมน์ที่มีข้อมูลทั้งหมด แล้วเพิ่มหรือล้างข้อมูลทั้งหมดใน สนามนี้.

การลบคอลัมน์

หากต้องการลบคอลัมน์เฉพาะ ให้ใช้คำสั่ง drop ตัวอย่างเช่น หากต้องการลบฟิลด์ prosto_pole ให้ใช้คำสั่งต่อไปนี้

แก้ไขตาราง test_table DROP COLUMN prosto_pole

การลบตาราง

ในการลบตาราง ให้เขียนแบบสอบถามง่ายๆ โดยที่ test_table คือตารางที่จะลบ

DROP TABLE test_table

การเป็นตัวแทน

ออบเจ็กต์ที่มีประโยชน์มากในฐานข้อมูลคือมุมมอง (VIEW) หรือในความเห็นของเรา เป็นเพียงมุมมอง หากใครไม่ทราบ มุมมองคือคิวรีที่จัดเก็บไว้ซึ่งสามารถเข้าถึงได้ในลักษณะเดียวกับตาราง มาสร้างมุมมองตามตารางทดสอบ test_table กันเถอะ และสมมุติว่าเราจำเป็นต้องเขียนแบบสอบถามบ่อยมาก ตัวอย่างเช่น โดยเงื่อนไขผลรวมมากกว่า 1,000 ดังนั้นเพื่อไม่ให้เขียนแบบสอบถามนี้ทุกครั้งเราจะเขียน ดูครั้งเดียวแล้วเราจะอ้างอิงถึงเขา

การสร้าง

CREATE VIEW test_view AS SELECT id, fio, ความคิดเห็นจาก test_table โดยที่ summa > 1000 GO

ดูตัวอย่างการโทร:

เลือก * จาก test_view

เปลี่ยน

ALTER VIEW test_view AS SELECT id, fio, ความคิดเห็นจาก test_table โดยที่ summa > 1500 GO

การกำจัด

DROP VIEW test_view

มุมมองระบบ

MS SQL Server DBMS ยังมีอ็อบเจ็กต์ระบบที่บางครั้งสามารถให้ข้อมูลที่เป็นประโยชน์ เช่น มุมมองระบบ ตอนนี้เราจะวิเคราะห์การเป็นตัวแทนดังกล่าว สามารถเข้าถึงได้ในลักษณะเดียวกับมุมมองปกติ ( เช่น เลือก * จากมุมมองชื่อเรื่อง)

  • sys.all_objects - มีอ็อบเจ็กต์ฐานข้อมูลทั้งหมด รวมถึงพารามิเตอร์ เช่น ชื่อ ประเภท วันที่สร้าง และอื่นๆ
  • sys.all_columns - ส่งคืนคอลัมน์ทั้งหมดของตารางที่มีคุณสมบัติโดยละเอียด
  • sys.all_views - ส่งคืนมุมมองทั้งหมดของฐานข้อมูล
  • sys.tables - ตารางฐานข้อมูลทั้งหมด
  • sys.triggers - ทริกเกอร์ฐานข้อมูลทั้งหมด
  • sys.databases - ฐานข้อมูลทั้งหมดบนเซิร์ฟเวอร์
  • sys.sysprocesses - กระบวนการที่ใช้งานอยู่ เซสชันในฐานข้อมูล

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

ฟังก์ชั่น

MS SQL Server ช่วยให้คุณสร้างฟังก์ชันที่จะส่งคืนข้อมูลบางอย่าง กล่าวคือ ผู้ใช้เองก็สามารถเขียนฟังก์ชันและใช้งานในภายหลังได้ เช่น เมื่อคุณต้องการรับค่าที่ต้องใช้การคำนวณที่ซับซ้อนหรือการสุ่มตัวอย่างข้อมูลที่ซับซ้อน บางครั้งเป็นเพียงการลดโค้ดเมื่อการเรียกใช้ฟังก์ชันจะแทนที่ค่าที่จำเป็นบ่อยครั้งในคำขอและแอปพลิเคชันต่างๆ

การสร้าง

สร้างฟังก์ชัน test_function (@par1 bigint, @par2 float) ส่งคืน varchar(300) ตามที่เริ่มต้น ประกาศ @rezult varchar(300) SELECT @rezult=comment FROM test_table WHERE id = @par1 AND summa > @par2 RETURN @rezult END
  • CREATE FUNCTION - คำสั่งเพื่อสร้างฟังก์ชั่นวัตถุ;
  • test_function - ชื่อของฟังก์ชันใหม่
  • @par1 และ @par2 เป็นพารามิเตอร์ขาเข้า
  • RETURNS varchar(300) – ประเภทการส่งคืน;
  • DECLARE @result varchar(300) – การประกาศตัวแปรด้วยชนิด varchar(300);
  • คำสั่ง select ในกรณีของเราคือการกระทำของฟังก์ชัน
  • RETURN @result - ส่งคืนผลลัพธ์
  • BEGIN และ END เป็นจุดเริ่มต้นและจุดสิ้นสุดของโค้ดฟังก์ชันตามลำดับ

ตัวอย่างการใช้งานในแบบสอบถาม:

เลือก test_function(1, 20)

เปลี่ยน

ALTER FUNCTION test_function (@par1 bigint, @par2 float) ส่งคืน varchar(300) ตามที่เริ่มต้น ประกาศ @rezult varchar(300) SELECT @rezult=comment FROM test_table_new WHERE id = @par1 AND summa >= @par2 RETURN @rezult END

การกำจัด

DROP FUNCTION test_function

ฟังก์ชั่นในตัว

นอกเหนือจากข้อเท็จจริงที่ว่า SQL Server ช่วยให้คุณสร้างฟังก์ชันที่ผู้ใช้กำหนดเองได้ ยังให้ความสามารถในการใช้ฟังก์ชันในตัวที่นักพัฒนา DBMS ได้เขียนไว้สำหรับคุณแล้ว มีจำนวนมาก ดังนั้นฉันจึงแบ่งกลุ่มที่พบบ่อยที่สุดออกเป็นกลุ่มๆ และพยายามอธิบายสั้นๆ

ฟังก์ชั่นระบบ

ฉันจะยกตัวอย่างของฟังก์ชันที่ส่งคืนข้อมูลระบบต่างๆ

  • @@VERSION - ส่งคืนเวอร์ชันของเซิร์ฟเวอร์ SQL
  • @@SERVERNAME - ส่งคืนชื่อของเซิร์ฟเวอร์
  • SUSER_NAME() - ชื่อล็อกอินของผู้ใช้บนเซิร์ฟเวอร์ หรืออีกนัยหนึ่ง ผู้ใช้รายนี้ใช้ล็อกอินอะไร
  • user_name() – ชื่อผู้ใช้ฐานข้อมูล;
  • @@SERVICENAME เป็นชื่อของบริการ DBMS
  • @@IDENTITY เป็นตัวระบุสุดท้ายที่แทรกลงในตาราง
  • db_name() คือชื่อของฐานข้อมูลปัจจุบัน
  • db_id() คือ ID ฐานข้อมูล

ฟังก์ชันรวม

ฟังก์ชันที่คำนวณค่าบางอย่างตามชุด (กลุ่ม) ของค่า หากเมื่อเรียกใช้ฟังก์ชันเหล่านี้ คุณต้องระบุคอลัมน์สำหรับแสดงผล จากนั้นคุณต้องจัดกลุ่มข้อมูล (จัดกลุ่มตาม) ตามฟิลด์นี้ เราได้กล่าวถึงรายละเอียดการสร้างนี้ในบทความ Transact-SQL grouping data group by

  • เฉลี่ย - ส่งกลับค่าเฉลี่ย;
  • นับ - จำนวนค่า;
  • สูงสุด - ค่าสูงสุด;
  • นาที – ค่าต่ำสุด;
  • sum คือผลรวมของค่า

ตัวอย่างการใช้งาน:

SELECT COUNT(*) เป็นจำนวน, SUM(summa) เป็นผลรวม, MAX(id) เป็นสูงสุด, MIN(id) เป็น min, AVG(summa) เป็น avg FROM test_table

ฟังก์ชันสตริง

ฟังก์ชันประเภทนี้จะทำงานกับสตริงตามลำดับ

ซ้าย (นิพจน์สตริง, ตัวละคร) – ส่งกลับจำนวนอักขระที่ระบุในสตริง โดยเริ่มจากด้านซ้าย

ตัวอย่าง

SELECT LEFT("ตัวอย่างของฟังก์ชันด้านซ้าย", 10) --ผลลัพธ์ของ "ตัวอย่าง"

ถูกต้อง (นิพจน์สตริง, ตัวละคร) - ส่งกลับจำนวนอักขระที่ระบุของสตริงเริ่มต้นจากด้านขวา

ตัวอย่าง

SELECT Right("ตัวอย่างฟังก์ชันที่ถูกต้อง", 10) -- ผลลัพธ์ของ "การดำเนินการที่ถูกต้อง"

เลน (ไลน์) - ส่งกลับความยาวของสตริง

ตัวอย่าง

SELECT len("ตัวอย่างเลน") --ผลลัพธ์ 28

ต่ำกว่า (ไลน์) - ส่งกลับสตริงที่มีอักขระทั้งหมดที่แปลงเป็นตัวพิมพ์เล็ก

ตัวอย่าง

SELECT ต่ำกว่า ("ตัวอย่างที่ต่ำกว่า") --ผลลัพธ์ "ตัวอย่างที่ต่ำกว่า"

ตอนบน (ไลน์) - ส่งกลับสตริงที่อักขระทั้งหมดจะถูกแปลงเป็นตัวพิมพ์ใหญ่

ตัวอย่าง

เลือก Upper ("Upper Example") --Result "UPPER EXAMPLE"

Ltrim (ไลน์) - ส่งกลับสตริงโดยลบช่องว่างนำหน้าทั้งหมด

ตัวอย่าง

SELECT ltrim(" ตัวอย่าง ltrim") --ผลลัพธ์ "ltrim ตัวอย่าง"

Rtrim (ไลน์) - ส่งคืนสตริงที่มีช่องว่างทั้งหมดทางด้านขวาที่ถูกลบ

ตัวอย่าง

SELECT Rtrim (" ตัวอย่าง Rtrim ") -- ผลลัพธ์" ตัวอย่าง Rtrim"

แทนที่ (ไลน์, เรากำลังมองหาอะไร, เราจะเปลี่ยนอะไร) - แทนที่รายการทั้งหมดในนิพจน์สตริงที่ระบุในพารามิเตอร์ที่สองด้วยอักขระที่ระบุในพารามิเตอร์ที่สาม

ตัวอย่าง

SELECT Replace("Replace example", "at work", "REPLACE") -- ผลลัพธ์ "Example REPLACE function Replace"

ทำซ้ำ (ไลน์, จำนวนการทำซ้ำ) - ทำซ้ำสตริง (พารามิเตอร์แรก) หลายครั้งตามที่ระบุในพารามิเตอร์ที่สอง

ตัวอย่าง

SELECT Replicate ("Example Replicate ", 3) -- ผลลัพธ์ "Example Replicate Example Replicate"

ย้อนกลับ (ไลน์) - ส่งคืนทุกอย่างในลำดับที่กลับกัน

ตัวอย่าง

SELECT Reverse ("ตัวอย่างย้อนกลับ") -- ผลลัพธ์ "esreveR iiccnuf etobar op remirP"

ช่องว่าง (จำนวนช่องว่าง) - ส่งกลับสตริงตามจำนวนช่องว่างที่ระบุ

ตัวอย่าง

เลือก Space(10) -- ผลลัพธ์ " "

สตริงย่อย (ไลน์, ตำแหน่งเริ่มต้น, กี่ตัวอักษร) - ส่งคืนสตริง ความยาวของตัวเลขที่ระบุในพารามิเตอร์ที่สาม เริ่มต้นจากอักขระที่ระบุในพารามิเตอร์ที่สอง

ตัวอย่าง

SELECT สตริงย่อย ("ตัวอย่างฟังก์ชันสตริงย่อย", 11, 14) -- ผลลัพธ์ของ "การทำงานของฟังก์ชัน"

ฟังก์ชันทางคณิตศาสตร์

กลม (ตัวเลข, ความแม่นยำในการปัดเศษ) – ปัดเศษนิพจน์ตัวเลขเป็นจำนวนหลักที่ระบุในพารามิเตอร์ที่สอง

ตัวอย่าง

เลือกรอบ(10.4569, 2) -- ผลลัพธ์ "10.4600"

พื้น (ตัวเลข) - ส่งกลับจำนวนเต็มที่ปัดเศษลง

ตัวอย่าง

SELECT ชั้น(10.4569) -- ผลลัพธ์ "10"

เพดาน (ตัวเลข) - ส่งกลับจำนวนเต็มที่ปัดเศษขึ้น

ตัวอย่าง

SELECT เพดาน (10.4569) -- ผลลัพธ์ "11"

พลัง (ตัวเลข, ระดับ) - ส่งกลับตัวเลขที่ยกกำลังที่ระบุในพารามิเตอร์ที่สอง

ตัวอย่าง

เลือกกำลัง(5,2) -- ผลลัพธ์ "25"

สี่เหลี่ยม (ตัวเลข) – ส่งคืนค่าตัวเลขกำลังสอง

ตัวอย่าง

SELECT Square(5) -- ผลลัพธ์ "25"

หน้าท้อง (ตัวเลข) – ส่งกลับค่าบวกสัมบูรณ์

ตัวอย่าง

เลือก Abs(-5) -- ผลลัพธ์ "5"

บันทึก(ตัวเลข) เป็นลอการิทึมธรรมชาติจุดลอยตัว

ตัวอย่าง

เลือกบันทึก(5) -- ผลลัพธ์ "1.6094379124341"

ปี่- พี

ตัวอย่าง

เลือก Pi() -- ผลลัพธ์ "3.14159265358979"

แรนด์- ส่งกลับเลขทศนิยมสุ่มจาก 0 ถึง 1

ตัวอย่าง

เลือก rand() -- ผลลัพธ์ "0.713273187517105"

ฟังก์ชันวันที่และเวลา

ได้รับ ()- ส่งกลับวันที่และเวลาปัจจุบัน

ตัวอย่าง

เลือก Getdate() -- ผลลัพธ์ "2014-10-24 16:36:23.683"

วัน(วันที่) ส่งกลับวันจากวันที่

ตัวอย่าง

เลือกวัน(Getdate()) -- ผลลัพธ์ "24"

เดือน(วันที่) - ส่งกลับหมายเลขเดือนจากวันที่

ตัวอย่าง

เลือกเดือน (Getdate()) -- ผลลัพธ์ "10"

ปี (วันที่) - ส่งกลับปีจากวันที่

ตัวอย่าง

เลือกปี (Getdate()) -- ผลลัพธ์ "2014"

DATEPART(ส่วนวันที่, วันที่) - ส่งคืนส่วนที่ระบุจากวันที่ (วว ดด ปปปป ฯลฯ)

ตัวอย่าง

เลือก DATEPART(MM,GETDATE()) -- ผลลัพธ์ "10"

Isdate (วันที่) - ตรวจสอบนิพจน์ที่ป้อนว่าเป็น date

ตัวอย่าง

เลือก Isdate(GETDATE()) -- ผลลัพธ์ "1"

การแปลงฟังก์ชัน

หล่อ (นิพจน์เป็นประเภทข้อมูล) เป็นฟังก์ชันสำหรับแปลงประเภทหนึ่งเป็นอีกประเภทหนึ่ง ในตัวอย่าง เราจะแปลงประเภท float เป็น int

ตัวอย่าง

เลือก CAST (10.54 เป็น int) --result 10

แปลง – (ชนิดข้อมูล นิพจน์ รูปแบบวันที่) เป็นฟังก์ชันสำหรับแปลงข้อมูลประเภทหนึ่งเป็นอีกประเภทหนึ่ง มักใช้เพื่อแปลงวันที่ ในขณะที่ใช้พารามิเตอร์ทางเลือกที่สาม - รูปแบบวันที่

ตัวอย่าง

เลือก GETDATE(), CONVERT(DATE, GETDATE(), 104) --ผลลัพธ์ --2014-10-24 15:20:45.270 - ไม่มีการแปลง; --2014-10-24หลังการแปลง

ฟังก์ชั่นตาราง

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

การสร้าง

-- ชื่อของฟังก์ชันของเรา CREATE FUNCTION fun_test_tabl (- พารามิเตอร์ขาเข้าและประเภท @id INT) -- การคืนค่าเช่น table RETURNS TABLE AS -- ส่งคืนผลลัพธ์ RETURN ทันที (- แบบสอบถามเองหรือการคำนวณบางอย่าง SELECT * FROM test_table โดยที่ id = @id) GO

เปลี่ยน

-- ชื่อของฟังก์ชันของเรา ALTER FUNCTION fun_test_tabl (- พารามิเตอร์ขาเข้าและประเภท @id INT) -- การคืนค่าเช่น table RETURNS TABLE AS -- ส่งคืนผลลัพธ์ RETURN ทันที (- แบบสอบถามเองหรือการคำนวณบางอย่าง SELECT * FROM test_table โดยที่ id = @id และ summa > 100) GO

การกำจัด

DROP FUNCTION fun_test_table

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

ตัวอย่างการเรียกใช้ฟังก์ชันนี้

เลือก * จาก fun_test_table(1)

ขั้นตอน

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

การสร้าง

สร้างขั้นตอน sp_test_procedure (@id INT) AS - ประกาศตัวแปร DECLARE @sum FLOAT - คำสั่ง SQL SET @sum = 100 อัปเดต test_table SET summa = summa + @sum WHERE id = @id GO

เปลี่ยน

เปลี่ยนขั้นตอน sp_test_procedure (@id int) AS - ประกาศตัวแปร DECLARE @sum float - คำสั่ง SQL SET @sum = 500 อัปเดต test_table SET summa = summa + @sum WHERE id = @id GO

การกำจัด

DROP PROCEDURE sp_test_procedure

เรียกขั้นตอน

คุณสามารถเรียกได้หลายวิธี เช่น

ดำเนินการ sp_test_procedure 1 --หรือ EXEC sp_test_procedure 1

โดยที่ EXECUTE และ EXEC โพรซีเดอร์เรียก sp_test_procedure ตามลำดับชื่อของโพรซีเดอร์ของเรา ค่าพารามิเตอร์ 1 ค่า

ขั้นตอนของระบบ

ขั้นตอนของระบบเป็นขั้นตอนสำหรับการดำเนินการดูแลระบบต่างๆ ทั้งบนอ็อบเจ็กต์บนเซิร์ฟเวอร์และบนการกำหนดค่าของเซิร์ฟเวอร์เอง พวกมันถูกเรียกในลักษณะเดียวกับโพรซีเดอร์ทั่วไป แต่ในบริบทของฐานข้อมูลใดๆ

มีจำนวนมากดังนั้นฉันจะยกตัวอย่างเพียงไม่กี่ตัวอย่าง

sp_configure- ขั้นตอนการแสดงและเปลี่ยนแปลงการกำหนดค่าของเคอร์เนล DBMS พารามิเตอร์แรกคือชื่อของพารามิเตอร์การกำหนดค่า พารามิเตอร์ที่สองคือค่า

ตัวอย่าง

เปลี่ยนค่าของพารามิเตอร์ EXEC sp_configure "Ad Hoc Distributed Queries", 1 กำหนดค่าใหม่ --apply EXEC sp_configure --simply ดูค่าของพารามิเตอร์ทั้งหมด

โดยที่ 'Ad Hoc Distributed Queries' คือชื่อของพารามิเตอร์ 1 ตามลำดับของค่าที่เราต้องการเปลี่ยน การกำหนดค่าใหม่จะใช้ค่าที่ป้อน

ในทางปฏิบัติ เราใช้ขั้นตอนนี้ในการสืบค้นฐานข้อมูลข้ามวัสดุใน Transact-SQL

sp_executesql- ดำเนินการคำสั่ง Transact-SQL หรือชุดคำสั่งที่สามารถสร้างแบบไดนามิก เราใช้ขั้นตอนนี้ในการเปลี่ยนแปลงข้อมูลการบันทึกวัสดุในตารางใน Transact-SQL

ตัวอย่าง

ดำเนินการ sp_executesql N"SELECT * FROM test_table โดยที่ id = @id", N"@id int", @id = 1

โดยที่พารามิเตอร์แรกคือคำสั่ง sql (สตริง Unicode) ส่วนที่สองคือคำจำกัดความของพารามิเตอร์ทั้งหมดที่สร้างไว้ในคำสั่ง sql ส่วนที่สามคือค่าของพารามิเตอร์

sp_help– ส่งกลับข้อมูลรายละเอียดเกี่ยวกับวัตถุฐานข้อมูลใด ๆ

ตัวอย่าง

ดำเนินการ sp_help "test_table"

sp_rename- เปลี่ยนชื่อวัตถุในฐานข้อมูล สามารถใช้เพื่อเปลี่ยนชื่อตาราง ดัชนี ชื่อคอลัมน์ในตาราง ไม่แนะนำให้ใช้ขั้นตอนนี้เพื่อเปลี่ยนชื่อขั้นตอนผู้ใช้ ทริกเกอร์ ฟังก์ชัน

ตัวอย่างการเปลี่ยนชื่อตาราง

EXEC sp_rename "test_table", "test_table_new"

โดยที่พารามิเตอร์ตัวแรกคืออ็อบเจ็กต์ที่มีชื่อเดิม และพารามิเตอร์ตัวที่สองคือชื่อใหม่ของอ็อบเจ็กต์

ตัวอย่างการเปลี่ยนชื่อคอลัมน์ในตาราง

EXEC sp_rename "test_table.summa", "summa_new", "COLUMN"

พารามิเตอร์ที่สามระบุว่าคอลัมน์กำลังถูกเปลี่ยนชื่อ

ทริกเกอร์

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

การสร้าง

CREATE TRIGGER trg_test_table_update ON test_table สำหรับ UPDATE -- สามารถลบ, แทรก AS BEGIN --sql คำสั่งในกรณีของ UPDATE END GO

เปลี่ยน

ALTER TRIGGER trg_test_table_update ON test_table สำหรับการแทรก -- ยังสามารถลบ อัปเดต AS BEGIN --sql คำสั่งในกรณีที่มีการแทรก END GO

การกำจัด

DROP TRIGGER trg_test_table_update

เปิดปิด

--ปิดการใช้งาน TRIGGER ปิดการใช้งาน trg_test_table_update ON test_table; --เปิดใช้งานเปิดใช้งาน TRIGGER trg_test_table_update ON test_table;

เราได้พูดถึงทริกเกอร์ในบทความ - วิธีสร้างทริกเกอร์ใน Transact-SQL

ดัชนี

นี่คือออบเจ็กต์ฐานข้อมูลที่ปรับปรุงประสิทธิภาพการค้นหาข้อมูล โดยการเรียงลำดับข้อมูลตามฟิลด์เฉพาะ หากเราวาดการเปรียบเทียบ ตัวอย่างเช่น การค้นหาข้อมูลบางอย่างในหนังสือโดยใช้สารบัญจะง่ายกว่าและเร็วกว่ามาก มากกว่าที่จะไม่มีสารบัญ ดัชนีประเภทต่อไปนี้ใน MS SQL Server DBMS:

ดัชนีคลัสเตอร์- ด้วยดัชนีนี้ แถวในตารางจะถูกจัดเรียงด้วยคีย์ที่ระบุ เช่น ฟิลด์ที่ระบุ ดัชนีประเภทนี้สำหรับตารางใน MS SQL Server สามารถเป็นได้เพียงรายการเดียว และเริ่มต้นจาก MS SQL 2000 ดัชนีจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการระบุคีย์หลัก (PRIMARY KEY) ในตาราง

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

ดัชนี Columnstore- ดัชนีประเภทนี้อิงตามเทคโนโลยีการจัดเก็บข้อมูลตารางที่ไม่ได้อยู่ในรูปแบบของแถว แต่อยู่ในรูปแบบของคอลัมน์ (จึงเป็นชื่อ) ตารางสามารถมีดัชนีที่เก็บคอลัมน์ได้หนึ่งรายการ

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

ดัชนีดังกล่าวเหมาะสำหรับชุดข้อมูลขนาดใหญ่มากที่ใช้ในคลังสินค้า

การดำเนินการที่ใช้ฟังก์ชันการรวมโดยใช้การจัดกลุ่มจะเร็วกว่ามาก (หลายครั้ง!) เมื่อมีดัชนีดังกล่าว

ดัชนี Columnstore พร้อมใช้งานตั้งแต่ SQL Server 2012 ในรุ่น Enterprise, Developer และ Evaluation

การสร้าง

ดัชนีคลัสเตอร์

สร้างดัชนีคลัสเตอร์ idx_clus_one ON test_table (id) GO

โดยที่ CREATE CLUSTERED INDEX เป็นคำสั่งสำหรับการสร้างดัชนีคลัสเตอร์ idx_clus_one คือชื่อของดัชนี test_table(id) คือตารางและฟิลด์คีย์สำหรับการเรียงลำดับตามลำดับ

ดัชนีที่ไม่ทำคลัสเตอร์

CREATE INDEX idx_no_clus ON test_table (รวม) GO

ดัชนี Columnstore

สร้างคอลัมน์สโตร์ INDEX idx_columnstore ON test_table (date_create) GO

ปิดตัวลง

--disable ALTER INDEX idx_no_clus ON test_table DISABLE --เปิดใช้งาน สร้าง ALTER INDEX idx_no_clus ON test_table REBUILD ใหม่

การกำจัด

DROP INDEX idx_no_clus ON test_table GO

เคอร์เซอร์

เคอร์เซอร์ -เป็นประเภทข้อมูลที่ใช้เป็นหลักในโพรซีเดอร์และทริกเกอร์ เป็นชุดข้อมูลปกติ กล่าวคือ ผลการสืบค้น

ตัวอย่าง (ทั้งหมดอยู่ในรหัสขั้นตอน)

ประกาศตัวแปร DECLARE @id BIGINT DECLARE @fio VARCHAR(100) DECLARE @summa FLOAT -- ประกาศเคอร์เซอร์ DECLARE test_cur เคอร์เซอร์สำหรับ SELECT id, fio, summa FROM test_table -- เปิดเคอร์เซอร์ OPEN test_cur -- อ่านแถวแรกในเคอร์เซอร์ --และเขียนมันไปยังตัวแปร FETCH NEXT FROM test_cur INTO @id, @fio, @summa -- รันลูปจนกว่าแถวในเคอร์เซอร์จะหมด WHILE @@FETCH_STATUS = 0 BEGIN -- เราสามารถรันคำสั่ง sql สำหรับแต่ละอันได้ การวนซ้ำของลูป -- .................คำสั่ง SQL .................. -- อ่านบรรทัดถัดไปของ เคอร์เซอร์ FETCH NEXT FROM test_cur INTO @id , @fio, @summa END --close เคอร์เซอร์ CLOSE test_cur DEALLOCATE test_cur

เราได้พูดถึงรายละเอียดเกี่ยวกับเคอร์เซอร์ในเนื้อหาเรื่อง การใช้เคอร์เซอร์และลูปใน Transact-SQL

ข้อความค้นหา DML

DML (ภาษาการจัดการข้อมูล) คือคำสั่ง SQL ที่จัดการข้อมูล ซึ่งรวมถึงการเลือก อัปเดต แทรก ลบ

เลือก

ตัวอย่าง

เลือก * จาก test_table

อัปเดต

ใช้ในการอัพเดทข้อมูล

ตัวอย่าง

ทุกแถวในตารางจะได้รับการอัปเดต UPDATE test_table SET summa=500 --เฉพาะแถวที่มี id มากกว่า 10 เท่านั้นที่จะได้รับการอัปเดต UPDATE test_table SET summa=100 โดยที่ id > 10

แทรก

ตัวดำเนินการสำหรับการเพิ่มข้อมูล

การเพิ่มหนึ่งแถว INSERT INTO test_table (fio, summa, date_create, ความคิดเห็น) VALUES ("ชื่อเต็ม",100, "10/26/2014", "รายการทดสอบ") -- การเพิ่มจำนวนมากตามแบบสอบถาม INSERT INTO test_table SELECT fio, summa, date_create , ความคิดเห็นจาก test_table

ลบ

ด้วยโอเปอเรเตอร์นี้ คุณสามารถลบข้อมูลได้

ตัวอย่าง

การล้างตารางทั้งหมด DELETE test_table -- การลบเฉพาะแถวที่ตรงกับเงื่อนไข DELETE test_table โดยที่ summa > 100

แค่นั้นแหละคู่มือจบแล้ว! ฉันหวังว่าเขาจะช่วยคุณในทางใดทางหนึ่ง ขอให้โชคดี!

ภาษาคิวรีที่มีโครงสร้าง (ภาษาคิวรีที่มีโครงสร้าง) หรือ SQL- เป็นภาษาโปรแกรมประกาศสำหรับใช้ในฐานข้อมูลกึ่งสัมพันธ์ คุณลักษณะดั้งเดิมหลายอย่างของ SQL ถูกแทนที่โดย tuple calculi แต่ส่วนขยายล่าสุดของ SQL รวมพีชคณิตเชิงสัมพันธ์มากขึ้นเรื่อยๆ
เดิมที SQL ถูกสร้างขึ้นโดย IBM แต่ผู้ค้าจำนวนมากได้พัฒนาภาษาของตนเอง ได้รับการรับรองโดย American National Standards Institute (ANSI) ในปี 2529 และ ISO ในปี 2530 ในมาตรฐานภาษาโปรแกรม SQL ANSI ระบุว่าการออกเสียงอย่างเป็นทางการของ SQL คือ "es cue el" อย่างไรก็ตาม ผู้เชี่ยวชาญด้านฐานข้อมูลจำนวนมากใช้การออกเสียง "สแลง" "ภาคต่อ" ซึ่งสะท้อนถึงชื่อเดิมของภาษาคือ ภาคต่อ ซึ่งต่อมามีการเปลี่ยนแปลงเนื่องจากความขัดแย้งเรื่องเครื่องหมายการค้าและการตั้งชื่อที่ IBM การเขียนโปรแกรมสำหรับผู้เริ่มต้น
ภาษาโปรแกรม SQLได้รับการแก้ไขในปี 1992 และรุ่นนี้เรียกว่า SQL-92 จากนั้นปี 1999 ก็ได้รับการแก้ไขอีกครั้งเพื่อให้กลายเป็น SQL: 1999 (AKA SQL3) การเขียนโปรแกรมสำหรับหุ่น SQL 1999 รองรับอ็อบเจ็กต์ที่ก่อนหน้านี้ไม่รองรับในเวอร์ชันอื่น แต่เฉพาะในปลายปี 2001 มีเพียงไม่กี่ระบบการจัดการฐานข้อมูลที่รองรับการใช้งาน SQL: 1999
SQL แม้จะกำหนดเป็น ANSI และ ISO แต่ก็มีรูปแบบและส่วนขยายมากมาย ซึ่งส่วนใหญ่มีลักษณะเฉพาะของตนเอง เช่น การใช้ "PL/SQL" ของบริษัท Oracle หรือการใช้งาน Sybase และ Microsoft ที่เรียกว่า "Transact-SQL" ซึ่ง อาจทำให้ผู้ใช้สับสน พื้นฐานการเขียนโปรแกรม ไม่ใช่เรื่องแปลกที่การใช้งานเชิงพาณิชย์จะละเว้นการสนับสนุนคุณลักษณะหลักของมาตรฐาน เช่น ชนิดข้อมูล เช่น วันที่และเวลา เพื่อประโยชน์บางประการ ผลลัพธ์ที่ได้จึงไม่เหมือนกับ ANSI C หรือ ANSI Fortran ซึ่งปกติแล้วสามารถย้ายจากแพลตฟอร์มหนึ่งไปอีกแพลตฟอร์มหนึ่งโดยไม่มีการเปลี่ยนแปลงโครงสร้างที่สำคัญ การสืบค้นภาษาโปรแกรม SQL แทบจะไม่สามารถย้ายระหว่างระบบฐานข้อมูลต่างๆ โดยไม่มีการแก้ไขที่สำคัญ คนส่วนใหญ่ในสาขาฐานข้อมูลเชื่อว่าการขาดการทำงานร่วมกันนี้เป็นความตั้งใจเพื่อให้ผู้พัฒนาแต่ละรายมีระบบการจัดการฐานข้อมูลของตนเองและผูกลูกค้ากับฐานข้อมูลเฉพาะ
ตามชื่อที่แนะนำ ภาษาโปรแกรม SQL ได้รับการออกแบบมาเพื่อวัตถุประสงค์เฉพาะและจำกัด - การสืบค้นข้อมูลที่มีอยู่ในฐานข้อมูลเชิงสัมพันธ์ ด้วยเหตุนี้ จึงเป็นชุดคำสั่งภาษาโปรแกรมสำหรับสร้างตัวอย่างข้อมูล แทนที่จะเป็นภาษาขั้นตอน เช่น C หรือ BASIC ซึ่งออกแบบมาเพื่อแก้ปัญหาที่หลากหลายมากขึ้น ส่วนขยายภาษา เช่น "PL/SQL" ได้รับการออกแบบมาเพื่อจัดการกับข้อจำกัดนี้ โดยการเพิ่มองค์ประกอบขั้นตอนลงใน SQL ในขณะที่ยังคงประโยชน์ของ SQL ไว้ อีกวิธีหนึ่งคือการอนุญาตให้แบบสอบถาม SQL ฝังคำสั่งภาษาโปรแกรมขั้นตอนและโต้ตอบกับฐานข้อมูล ตัวอย่างเช่น Oracle และอื่นๆ รองรับภาษา Java ในฐานข้อมูล ในขณะที่ PostgreSQL อนุญาตให้เขียนฟังก์ชันใน Perl, Tcl หรือ C
เรื่องตลกของ SQL หนึ่งเรื่อง: "SQL ไม่มีโครงสร้างและไม่ใช่ภาษา" ประเด็นของเรื่องตลกคือว่า SQL ไม่ใช่ภาษาทัวริง .

เลือก * จาก T
C1 C2
1 เอ
2
C1 C2
1 เอ
2
เลือก C1 จาก T
C1
1
2
C1 C2
1 เอ
2
เลือก * จาก T โดยที่ C1=1
C1 C2
1 เอ

จากตาราง T แบบสอบถาม Select * จาก T จะแสดงองค์ประกอบทั้งหมดของแถวทั้งหมดในตาราง
จากตารางเดียวกัน คิวรี Select C1 จาก T จะแสดงองค์ประกอบจากคอลัมน์ C1 ของแถวทั้งหมดในตาราง
จากตารางเดียวกัน แบบสอบถาม Select * from T โดยที่ C1=1 จะแสดงองค์ประกอบทั้งหมดของแถวทั้งหมดโดยที่ค่าของคอลัมน์ C1 คือ "1"

คีย์เวิร์ด SQL

คำ SQL แบ่งออกเป็นหลายกลุ่ม

อันแรกคือ ภาษาการจัดการข้อมูลหรือ DML(ภาษาการจัดการข้อมูล) DML คือชุดย่อยของภาษาที่ใช้ในการสืบค้นฐานข้อมูล เพิ่ม อัปเดต และลบข้อมูล

  • SELECT เป็นหนึ่งในคำสั่ง DML ที่ใช้บ่อยที่สุด และอนุญาตให้ผู้ใช้ระบุแบบสอบถามเป็นคำอธิบายของผลลัพธ์ที่ต้องการเป็นชุด แบบสอบถามไม่ได้ระบุว่าควรจัดเรียงผลลัพธ์อย่างไร - การแปลแบบสอบถามเป็นแบบฟอร์มที่สามารถทำได้ในฐานข้อมูลเป็นงานของระบบฐานข้อมูล โดยเฉพาะอย่างยิ่งเครื่องมือเพิ่มประสิทธิภาพการสืบค้น
  • INSERT ใช้เพื่อเพิ่มแถว (ชุดที่เป็นทางการ) ลงในตารางที่มีอยู่
  • UPDATE ใช้เพื่อเปลี่ยนค่าข้อมูลในแถวตารางที่มีอยู่
  • DELETE ระบุแถวที่มีอยู่ที่จะลบออกจากตาราง

คำหลักอีกสามคำอาจกล่าวได้ว่าอยู่ในกลุ่ม DML:

  • BEGIN WORK (หรือ START TRANSACTION ขึ้นอยู่กับภาษาถิ่นของ SQL) สามารถใช้เพื่อทำเครื่องหมายการเริ่มต้นของธุรกรรมฐานข้อมูลที่จะรันโดยสมบูรณ์หรือไม่รันเลยก็ได้
  • COMMIT ระบุว่าข้อมูลทั้งหมดมีการเปลี่ยนแปลงหลังจากบันทึกการดำเนินการแล้ว
  • ROLLBACK ระบุว่าข้อมูลทั้งหมดเปลี่ยนแปลงตั้งแต่การคอมมิตหรือการย้อนกลับครั้งล่าสุดควรถูกทำลาย จนถึงจุดที่คอมมิตกับฐานข้อมูลเป็น "ย้อนกลับ"

COMMIT และ ROLLBACK ใช้ในด้านต่างๆ เช่น การควบคุมธุรกรรมและการล็อก คำสั่งทั้งสองทำธุรกรรมปัจจุบันทั้งหมด (ชุดของการดำเนินการฐานข้อมูล) และปลดล็อคข้อมูลการเปลี่ยนแปลงทั้งหมดในตาราง การมีอยู่หรือไม่มีของ BEGIN WORK หรือคำสั่งที่คล้ายกันนั้นขึ้นอยู่กับการใช้งาน SQL โดยเฉพาะ

คำหลักกลุ่มที่สองหมายถึงกลุ่ม ภาษานิยามข้อมูลหรือ DDL (ภาษานิยามข้อมูล). DDLอนุญาตให้ผู้ใช้กำหนดตารางใหม่และองค์ประกอบที่เกี่ยวข้อง ฐานข้อมูล SQL เชิงพาณิชย์ส่วนใหญ่มีส่วนขยาย DDL ของตัวเองที่อนุญาตให้ควบคุมองค์ประกอบที่ไม่ได้มาตรฐานแต่มักจะมีความสำคัญของระบบเฉพาะ
ประเด็นหลักของ DDL คือคำสั่งสร้างและลบ

  • CREATE ระบุอ็อบเจ็กต์ (เช่น ตาราง) ที่จะสร้างในฐานข้อมูล
  • DROP ระบุว่าอ็อบเจ็กต์ใดที่มีอยู่ในฐานข้อมูลจะถูกทิ้ง โดยปกติจะเป็นการถาวร
  • ระบบฐานข้อมูลบางระบบยังสนับสนุนคำสั่ง ALTER ซึ่งอนุญาตให้ผู้ใช้แก้ไขอ็อบเจ็กต์ที่มีอยู่ได้หลายวิธี เช่น การเพิ่มคอลัมน์ลงในตารางที่มีอยู่

คีย์เวิร์ด SQL กลุ่มที่สามคือ ภาษาควบคุมข้อมูลหรือ DCL (ภาษาควบคุมข้อมูล). DCLมีหน้าที่รับผิดชอบในการเข้าถึงข้อมูลและอนุญาตให้ผู้ใช้ควบคุมผู้ที่มีสิทธิ์เข้าถึงเพื่อดูหรือจัดการข้อมูลในฐานข้อมูล มีคำหลักสองคำอยู่ที่นี่

ฉันขอเสนอการแปลบทความ SQL สำหรับผู้เริ่มต้นฟรีให้คุณทราบ

เว็บแอปพลิเคชันที่ทันสมัยมากขึ้นเรื่อยๆ โต้ตอบกับฐานข้อมูล มักใช้ภาษา SQL. โชคดีสำหรับเรา ภาษานี้ค่อนข้างเรียนรู้ได้ง่าย ในบทความนี้ เราจะเริ่มเรียนรู้พื้นฐานของการสืบค้น SQL และการโต้ตอบกับฐานข้อมูล MySQL.

สิ่งที่คุณต้องการ

SQL (Structured Query Language) เป็นภาษาที่ออกแบบมาเพื่อโต้ตอบกับระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (DBMS) เช่น MySQL, Oracle, SQLiteและคนอื่น ๆ. ในการดำเนินการคำสั่ง SQL ในบทความนี้ ฉันคิดว่าคุณมี MySQL. ฉันยังแนะนำให้ใช้ phpMyAdminเป็นการแสดงภาพสำหรับ MySQL.

แอพต่อไปนี้จะทำให้ง่ายต่อการติดตั้ง MySQLและ phpMyAdminไปยังคอมพิวเตอร์ของคุณ:

  • WAMP สำหรับ Windows
  • MAMP สำหรับ Mac

มาเริ่มดำเนินการค้นหาบนบรรทัดคำสั่งกัน WAMPมีอยู่แล้วในคอนโซล MySQL. สำหรับ MAMPคุณอาจต้องอ่านสิ่งนี้

สร้างฐานข้อมูล: สร้างฐานข้อมูล

คำขอแรกของเรา เราจะสร้างฐานข้อมูลที่เราจะใช้งาน

ก่อนอื่น เปิดคอนโซล MySQLและเข้าสู่ระบบ สำหรับ WAMPโดยค่าเริ่มต้น รหัสผ่านที่ว่างเปล่าจะถูกใช้ สำหรับ MAMPรหัสผ่านต้องเป็น "รูท"

หลังจากเข้าสู่ระบบ พิมพ์คำขอนี้แล้วคลิก เข้า:

สร้างฐานข้อมูล my_first_db;

โปรดทราบว่าจะมีการเพิ่มอัฒภาค (;) ที่ส่วนท้ายของแบบสอบถาม เช่นเดียวกับที่ส่วนท้ายของบรรทัดในโค้ด

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

หมายเหตุ: ชุดอักขระและลำดับการเรียง

หากคุณต้องการตั้งค่าชุดอักขระเริ่มต้นและลำดับการเรียง ให้ใช้แบบสอบถามดังนี้:

สร้างฐานข้อมูล my_first_db ตั้งค่าอักขระเริ่มต้น utf8 COLLATE utf8_general_ci;

คุณจะพบรายการชุดอักขระที่รองรับและการเปรียบเทียบได้ที่ MySQL.

แสดงฐานข้อมูล: รายการฐานข้อมูลทั้งหมด

แบบสอบถามนี้ใช้เพื่อแสดงฐานข้อมูลทั้งหมด

DROP DATABASE: วางฐานข้อมูล

ด้วยแบบสอบถามนี้ คุณสามารถลบฐานข้อมูลที่มีอยู่

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

จากมุมมองทางเทคนิค นี่ไม่ใช่คำขอ นี่คือ "ตัวดำเนินการ" และไม่ต้องมีเครื่องหมายอัฒภาคต่อท้าย

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

ตารางฐานข้อมูลคืออะไร?

คุณสามารถนึกถึงตารางในฐานข้อมูลเป็นตารางปกติ หรือเป็นไฟล์ csv ที่มีข้อมูลที่มีโครงสร้าง

ในตัวอย่างนี้ ตารางมีชื่อแถวและคอลัมน์ข้อมูล การใช้คำสั่ง SQL เราสามารถสร้างตารางนี้ได้ นอกจากนี้เรายังสามารถเพิ่ม อ่าน แก้ไข และลบข้อมูลได้อีกด้วย

สร้างตาราง: สร้างตาราง

ด้วยแบบสอบถามนี้ เราสามารถสร้างตารางในฐานข้อมูลได้ เสียดายเอกสาร MySQLไม่ค่อยเป็นมิตรกับผู้ใช้ใหม่ โครงสร้างของข้อความค้นหานี้อาจซับซ้อนมาก แต่เราจะเริ่มง่ายๆ

แบบสอบถามต่อไปนี้สร้างตารางที่มีสองคอลัมน์

ผู้ใช้ CREATE TABLE (ชื่อผู้ใช้ VARCHAR (20), create_date DATE);

โปรดทราบว่าเราสามารถเขียนแบบสอบถามในหลายบรรทัดและใช้ แท็บเพื่อการล่าถอย

ทุกอย่างเรียบง่ายด้วยบรรทัดแรก เราสร้างตารางชื่อ ผู้ใช้. นอกจากนี้ ในวงเล็บ คอลัมน์ของตารางจะแสดงรายการโดยคั่นด้วยเครื่องหมายจุลภาค หลังจากที่แต่ละชื่อคอลัมน์มาถึงชนิดข้อมูล เช่น VARCHARหรือ วันที่.

วาร์ชาร์(20)หมายความว่าคอลัมน์เป็นประเภทสตริงและมีความยาวได้ไม่เกิน 20 อักขระ วันที่- ชนิดข้อมูลสำหรับจัดเก็บวันที่ในรูปแบบ: "ปปปป-ดด-วว"

คีย์หลัก

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

คำขอกลายเป็นดังนี้:

สร้างผู้ใช้ตาราง (user_id INT AUTO_INCREMENT คีย์หลัก, ชื่อผู้ใช้ VARCHAR(20), create_date DATE);

INT- ชนิดจำนวนเต็ม 32 บิต (ตัวเลข) AUTO_INCREMENTสร้างหมายเลขประจำตัวใหม่โดยอัตโนมัติทุกครั้งที่มีการเพิ่มแถวข้อมูล ไม่จำเป็น แต่สะดวกกว่าด้วย

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

เรียกใช้แบบสอบถาม:

SHOW TABLES: รายชื่อตารางทั้งหมด

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

อธิบาย: แสดงโครงสร้างตาราง

ใช้แบบสอบถามนี้เพื่อดูโครงสร้างของตารางที่มีอยู่

ด้วยเหตุนี้ ฟิลด์ (คอลัมน์) และคุณสมบัติของฟิลด์จึงแสดงขึ้น

DROP TABLE: วางตาราง

ชอบ วางฐานข้อมูล, แบบสอบถามนี้จะลบตารางและเนื้อหาของตารางโดยไม่มีการเตือนใดๆ

ALTER TABLE: เปลี่ยนตาราง

คิวรีดังกล่าวอาจมีโครงสร้างที่ซับซ้อนเนื่องจากอาจทำการเปลี่ยนแปลงหลายรายการในตาราง มาดูตัวอย่างง่ายๆ

เนื่องจากความสามารถในการอ่าน SQLคำขอนี้ไม่ต้องการคำอธิบาย

การถอดทำได้ง่ายเช่นเดียวกัน ใช้คำขอด้วยความระมัดระวัง ข้อมูลจะถูกลบโดยไม่มีการเตือน

เพิ่มฟิลด์อีกครั้ง อีเมลคุณจะต้องใช้ในภายหลัง:

เปลี่ยนผู้ใช้ตาราง เพิ่มอีเมล VARCHAR(100) หลังจากชื่อผู้ใช้;

บางครั้ง คุณอาจต้องเปลี่ยนคุณสมบัติของคอลัมน์ ไม่จำเป็นต้องลบออกแล้วสร้างใหม่อีกครั้ง

แบบสอบถามนี้เปลี่ยนชื่อฟิลด์ ชื่อผู้ใช้ใน ชื่อผู้ใช้และเปลี่ยนประเภทจาก วาร์ชาร์(20)บน วาร์ชาร์(30). การเปลี่ยนแปลงดังกล่าวไม่มีผลกับข้อมูลในตาราง

INSERT: การเพิ่มข้อมูลลงในตาราง

มาเพิ่มระเบียนลงในตารางโดยใช้คิวรีกัน

อย่างที่เห็น, ค่านิยม()มีรายการค่าที่คั่นด้วยเครื่องหมายจุลภาค ค่าสตริงอยู่ในเครื่องหมายคำพูดเดี่ยว ค่าต้องอยู่ในลำดับที่ระบุเมื่อสร้างตาราง

โปรดทราบว่าค่าแรกคือ โมฆะสำหรับคีย์หลักที่เราตั้งชื่อฟิลด์ว่า user_id. ทั้งหมดเป็นเพราะฟิลด์ถูกทำเครื่องหมายเป็น AUTO_INCREMENTและรหัสจะถูกสร้างขึ้นโดยอัตโนมัติ แถวแรกของข้อมูลจะมี id เป็น 1 แถวถัดไปที่เพิ่มเข้ามาจะเป็น 2 ไปเรื่อยๆ

ไวยากรณ์ทางเลือก

นี่เป็นอีกรูปแบบหนึ่งสำหรับการแทรกแถว

ครั้งนี้เราใช้คีย์เวิร์ด ชุดแทน ค่า. ขอทราบบางสิ่ง:

  • คอลัมน์สามารถละเว้นได้ ตัวอย่างเช่น เรายังไม่ได้กำหนดค่าให้กับฟิลด์ user_idเพราะมันถูกทำเครื่องหมายเป็น AUTO_INCREMENT. หากคุณไม่ได้กำหนดค่าให้กับฟิลด์ด้วย type VARCHARจากนั้นตามค่าเริ่มต้นจะใช้ค่าของสตริงว่าง (หากไม่ได้ตั้งค่าเริ่มต้นอื่นเมื่อสร้างตาราง)
  • แต่ละคอลัมน์สามารถอ้างอิงตามชื่อได้ ดังนั้น ฟิลด์สามารถไปในลำดับใด ๆ ก็ได้ ซึ่งแตกต่างจากไวยากรณ์ก่อนหน้า

ไวยากรณ์ทางเลือกหมายเลข 2

นี่เป็นอีกตัวอย่างหนึ่ง

เหมือนเมื่อก่อน ฟิลด์สามารถเข้าถึงได้ตามชื่อ ฟิลด์เหล่านี้สามารถปรากฏในลำดับใดก็ได้

ใช้แบบสอบถามนี้เพื่อรับ id ของแถวที่แทรกล่าสุด

ตอนนี้()

ได้เวลาแสดงวิธีใช้ฟังก์ชั่นต่างๆ กันแล้ว MySQLในการร้องขอ

การทำงาน ตอนนี้()ส่งกลับวันที่ปัจจุบัน ใช้เพื่อเพิ่มวันที่ปัจจุบันลงในฟิลด์ด้วย type . โดยอัตโนมัติ วันที่.

โปรดทราบว่าเราได้รับคำเตือนจาก MySQLแต่ก็ไม่ได้สำคัญขนาดนั้น เหตุผลก็คือฟังก์ชัน ตอนนี้()ส่งคืนข้อมูลเวลาจริง

เราได้สร้างสนาม วันที่สร้างซึ่งสามารถมีได้เฉพาะวันที่ ไม่ใช่เวลา ดังนั้นข้อมูลจึงถูกตัดทอน แทน ตอนนี้()เราสามารถใช้ CURDATE()ซึ่งส่งคืนวันที่ปัจจุบันเท่านั้น แต่จะจบลงด้วยผลลัพธ์เดียวกัน

SELECT: รับข้อมูลจากตาราง

เห็นได้ชัดว่าข้อมูลที่เราเขียนนั้นไร้ประโยชน์จนกว่าเราจะอ่านได้ คำขอเข้ามาช่วยชีวิต เลือก.

ตัวอย่างที่ง่ายที่สุดของการใช้แบบสอบถาม เลือกเพื่ออ่านข้อมูลจากตาราง:

เครื่องหมายดอกจัน (*) หมายความว่าเราต้องการรับคอลัมน์ทั้งหมดของตาราง หากคุณต้องการเฉพาะบางคอลัมน์ ให้ใช้สิ่งนี้:

บ่อยกว่านั้น เราต้องการได้บางแถวเท่านั้น ไม่ใช่ทุกแถว เช่น รับ E-mail ของผู้ใช้ ตาข่าย.

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

เงื่อนไขความเท่าเทียมกันใช้เครื่องหมายเดียว (=) แทนที่จะเป็นเครื่องหมายคู่ (==) ที่คุณอาจใช้ในการเขียนโปรแกรม

คุณสามารถใช้เงื่อนไขอื่นๆ:

และและ หรือใช้เพื่อรวมเงื่อนไข:

โปรดทราบว่าค่าตัวเลขไม่จำเป็นต้องอยู่ในเครื่องหมายคำพูด

ใน()

ใช้สำหรับเปรียบเทียบกับหลายค่า

ชอบ

ให้คุณกำหนดรูปแบบการค้นหา

เครื่องหมายเปอร์เซ็นต์ (%) ใช้เพื่อระบุรูปแบบ

เงื่อนไขการสั่งซื้อ

ใช้เงื่อนไขนี้หากคุณต้องการให้ผลลัพธ์ถูกจัดเรียง:

คำสั่งเริ่มต้นคือ ASC(จากน้อยไปมาก). เพิ่ม รายละเอียดเพื่อเรียงลำดับกลับกัน

จำกัด … ออฟเซ็ต …

คุณสามารถจำกัดจำนวนแถวที่ส่งคืนได้

LIMIT2ใช้สองบรรทัดแรก จำกัด 1 ออฟเซ็ต 2ใช้หนึ่งบรรทัดหลังจากสองบรรทัดแรก LIMIT 2, 1หมายถึงเหมือนกัน เฉพาะหมายเลขแรกเท่านั้นที่เป็นออฟเซ็ต และหมายเลขที่สองจำกัดจำนวนแถว

UPDATE: อัปเดตข้อมูลในตาราง

แบบสอบถามนี้ใช้เพื่ออัปเดตข้อมูลในตาราง

ในกรณีส่วนใหญ่ ใช้ร่วมกับ ที่ไหนเพื่ออัปเดตแถวเฉพาะ ถ้าเงื่อนไข ที่ไหนไม่ได้ตั้งค่า การเปลี่ยนแปลงจะมีผลกับทุกแถว

ในการจำกัดแถวที่สามารถแก้ไขได้ คุณสามารถใช้ LIMIT.

DELETE: ลบข้อมูลออกจากตาราง

ชอบ , แบบสอบถามนี้มักใช้ร่วมกับเงื่อนไข ที่ไหน.

ตัดตาราง

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

ลบจากผู้ใช้;

เพื่อประสิทธิภาพที่ดีขึ้น ให้ใช้ .

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

การหลีกเลี่ยงค่าสตริงและคำพิเศษ

ค่าสตริง

อักขระบางตัวต้องหลบหนี มิฉะนั้น อาจเกิดปัญหาได้

แบ็กสแลช (\) ใช้สำหรับหลบหนี

นี่เป็นสิ่งสำคัญมากสำหรับเหตุผลด้านความปลอดภัย ข้อมูลผู้ใช้ใดๆ จะต้องหลีกหนีก่อนที่จะเขียนลงในฐานข้อมูล ที่ PHPใช้ฟังก์ชัน mysql_real_escape_string() หรือคำสั่งที่เตรียมไว้

คำพิเศษ

เพราะใน MySQLคำสงวนมากมายเช่น เลือกหรือ เพื่อหลีกเลี่ยงความขัดแย้ง ให้ใส่ชื่อคอลัมน์และตารางในเครื่องหมายคำพูด และคุณต้องใช้เครื่องหมายคำพูดที่ไม่ใช่แบบธรรมดา แต่เป็นเครื่องหมายย้อนกลับ (`)

สมมติว่าคุณต้องการเพิ่มคอลัมน์ชื่อ .ด้วยเหตุผลบางอย่าง :

บทสรุป

ขอบคุณที่อ่านบทความ ฉันหวังว่าฉันจะสามารถแสดงให้คุณเห็นภาษานั้นได้ SQLใช้งานได้จริงและเรียนรู้ได้ง่าย

ยินดีต้อนรับสู่บล็อกของฉัน วันนี้เราจะมาพูดถึงการสืบค้น sql สำหรับผู้เริ่มต้น เว็บมาสเตอร์บางคนอาจมีคำถาม ทำไมต้องเรียน sql? รับไม่ได้?

ปรากฎว่าสิ่งนี้ไม่เพียงพอที่จะสร้างโครงการอินเทอร์เน็ตแบบมืออาชีพ SQL ใช้เพื่อทำงานกับฐานข้อมูลและสร้างแอปพลิเคชันสำหรับ WordPress มาดูวิธีการใช้แบบสอบถามโดยละเอียดกันดีกว่า

มันคืออะไร

SQL เป็นภาษาคิวรีที่มีโครงสร้าง สร้างขึ้นเพื่อกำหนดประเภทของข้อมูล ให้การเข้าถึงข้อมูล และประมวลผลข้อมูลในระยะเวลาอันสั้น อธิบายส่วนประกอบหรือผลลัพธ์บางอย่างที่คุณต้องการเห็นในโครงการอินเทอร์เน็ต

พูดง่ายๆ ก็คือ ภาษาการเขียนโปรแกรมนี้ให้คุณเพิ่ม แก้ไข ค้นหา และแสดงข้อมูลในฐานข้อมูลได้ ความนิยมของ mysql เกิดจากการใช้เพื่อสร้างโปรเจ็กต์อินเทอร์เน็ตแบบไดนามิก ซึ่งอิงตามฐานข้อมูล ดังนั้น ในการพัฒนาบล็อกที่ใช้งานได้จริง คุณต้องเรียนรู้ภาษานี้

ทำอะไรได้บ้าง

ภาษา sql อนุญาตให้:

  • สร้างตาราง;
  • เปลี่ยนการรับและจัดเก็บข้อมูลที่แตกต่างกัน
  • รวมข้อมูลเป็นบล็อก
  • ปกป้องข้อมูล
  • สร้างคำขอในการเข้าถึง

สำคัญ! เมื่อจัดการกับ sql คุณสามารถเขียนแอปพลิเคชันสำหรับ WordPress ที่มีความซับซ้อนได้

โครงสร้างอะไร

ฐานข้อมูลประกอบด้วยตารางที่สามารถแสดงเป็นไฟล์ Excel

เธอมีชื่อ คอลัมน์ และแถวที่มีข้อมูลบางอย่าง คุณสามารถสร้างตารางดังกล่าวได้โดยใช้คำสั่ง sql

สิ่งที่คุณต้องรู้


ประเด็นสำคัญเมื่อเรียนรู้ SQL

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

สร้างฐานข้อมูล 'bazaname'

ในเครื่องหมายคำพูดเราเขียนชื่อฐานข้อมูลเป็นภาษาละติน พยายามคิดชื่อที่มีความหมายสำหรับเธอ อย่าสร้างฐานข้อมูลเช่น "111", "www" และอื่น ๆ

หลังจากสร้างฐานข้อมูลแล้ว ให้ติดตั้ง:

ตั้งชื่อ 'utf-8'

นี่เป็นสิ่งจำเป็นเพื่อให้เนื้อหาบนไซต์แสดงอย่างถูกต้อง

ตอนนี้เราสร้างตาราง:

สร้างตาราง 'bazaname' 'โต๊ะ' (

id INT(8) ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก

บันทึก VARCHAR(10),

ผ่าน VARCHAR(10),

วันที่ DATE

ในบรรทัดที่สอง เราได้เขียนคุณลักษณะสามอย่าง มาดูกันว่าพวกเขาหมายถึงอะไร:

  • แอตทริบิวต์ NOT NULL หมายความว่าเซลล์จะไม่ว่างเปล่า (จำเป็นต้องกรอกข้อมูล)
  • ค่าของ AUTO_INCREMENT เป็นการเติมข้อความอัตโนมัติ
  • PRIMARY KEY เป็นคีย์หลัก

วิธีเพิ่มข้อมูล

ในการเติมฟิลด์ของตารางที่สร้างขึ้นด้วยค่า คำสั่ง INSERT จะถูกใช้ เราเขียนโค้ดบรรทัดต่อไปนี้:

แทรกลงใน 'ตาราง'

(เข้าสู่ระบบ , ผ่าน , วันที่) VALUES

('วาซา', '87654321', '2017-06-21 18:38:44');

ในวงเล็บเราระบุชื่อของคอลัมน์และในถัดไป - ค่า

สำคัญ! ทําตามลําดับของชื่อคอลัมน์และค่า

วิธีอัพเดทข้อมูล

สำหรับสิ่งนี้ จะใช้คำสั่ง UPDATE เรามาดูวิธีการเปลี่ยนรหัสผ่านสำหรับผู้ใช้เฉพาะ เราเขียนโค้ดบรรทัดต่อไปนี้:

อัปเดต 'table' SET pass = '12345678' โดยที่ id = '1'

ตอนนี้เปลี่ยนรหัสผ่านเป็น '12345678' การเปลี่ยนแปลงเกิดขึ้นในบรรทัดที่มี "id"=1 ถ้าคุณไม่เขียนคำสั่ง WHERE บรรทัดทั้งหมดจะเปลี่ยนไป ไม่ใช่เฉพาะบางบรรทัด

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

วิธีการลบรายการ

หากคุณเขียนอะไรผิด ให้แก้ไขด้วยคำสั่ง DELETE ทำงานเหมือนกับ UPDATE เราเขียนรหัสต่อไปนี้:

ลบออกจาก 'ตาราง' โดยที่ id = '1'

การสุ่มตัวอย่างข้อมูล

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

เลือก * จาก 'ตาราง' โดยที่ id = '1'

ในตัวอย่างนี้ เราเลือกฟิลด์ที่มีทั้งหมดในตาราง สิ่งนี้จะเกิดขึ้นหากคุณเขียนเครื่องหมายดอกจัน "*" ในคำสั่ง หากคุณต้องการเลือกค่าตัวอย่าง ให้เขียนดังนี้:

บันทึก SELECT ผ่านจากตาราง WHERE id = '1'

ควรสังเกตว่าความสามารถในการทำงานกับฐานข้อมูลจะไม่เพียงพอ ในการสร้างโปรเจ็กต์อินเทอร์เน็ตแบบมืออาชีพ คุณจะต้องเรียนรู้วิธีเพิ่มข้อมูลจากฐานข้อมูลลงในเพจ ในการทำเช่นนี้ ให้ทำความคุ้นเคยกับภาษาการเขียนโปรแกรมเว็บ php สิ่งนี้จะช่วยคุณได้ หลักสูตรสุดเจ๋งของ Mikhail Rusakov .


การลบตาราง

เกิดขึ้นพร้อมกับคำขอ DROP เมื่อต้องการทำสิ่งนี้ ให้เขียนบรรทัดต่อไปนี้:

ตารางวางตาราง;

การส่งออกบันทึกจากตารางตามเงื่อนไขที่กำหนด

พิจารณารหัสนี้:

SELECT id, countri, เมือง จาก ตาราง WHERE people>150000000

โดยจะแสดงบันทึกของประเทศที่มีประชากรมากกว่าหนึ่งร้อยห้าสิบล้านคน

สมาคม

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

PHP และ MySQL

อีกครั้งที่ฉันต้องการเน้นย้ำว่าคำขอเมื่อสร้างโครงการอินเทอร์เน็ตเป็นเรื่องปกติ หากต้องการใช้ในเอกสาร php ให้ทำตามอัลกอริธึมการดำเนินการต่อไปนี้:

  • เชื่อมต่อกับฐานข้อมูลโดยใช้คำสั่ง mysql_connect()
  • ใช้ mysql_select_db() เลือกฐานข้อมูลที่ต้องการ
  • กำลังประมวลผลข้อความค้นหาด้วย mysql_fetch_array();
  • เราปิดการเชื่อมต่อด้วยคำสั่ง mysql_close()

สำคัญ! การทำงานกับฐานข้อมูลไม่ใช่เรื่องยาก สิ่งสำคัญคือการเขียนคำขออย่างถูกต้อง

เว็บมาสเตอร์มือใหม่จะคิด และสิ่งที่ต้องอ่านในหัวข้อนี้? ฉันอยากจะแนะนำหนังสือของ Martin Graber " SQL สำหรับปุถุชนธรรมดา ". มันเขียนในลักษณะที่ผู้เริ่มต้นจะเข้าใจทุกอย่าง ใช้เป็นหนังสืออ้างอิง

แต่นี่เป็นทฤษฎี มันทำงานอย่างไรในทางปฏิบัติ? อันที่จริงแล้ว โปรเจ็กต์อินเทอร์เน็ตไม่เพียงต้องสร้างขึ้นเท่านั้น แต่ยังต้องนำไปที่ TOP ของ Google และ Yandex ด้วย หลักสูตรวิดีโอจะช่วยคุณในเรื่องนี้ " การสร้างและส่งเสริมเว็บไซต์ ».


วิดีโอสอน

ยังมีคำถาม? ดูวิดีโอออนไลน์เพิ่มเติม

บทสรุป

ดังนั้นการจัดการกับการเขียนคำสั่ง sql นั้นไม่ยากอย่างที่คิด แต่ผู้ดูแลเว็บทุกคนจำเป็นต้องทำเช่นนี้ หลักสูตรวิดีโอที่อธิบายข้างต้นจะช่วยในเรื่องนี้ ติดตาม กลุ่ม VKontakte ของฉัน เพื่อเป็นคนแรกที่รู้ข้อมูลใหม่ที่น่าสนใจ