SQL Server CREATE, ALTER, DROP Table [ตัวอย่าง T-SQL]
⚡ สรุปอย่างชาญฉลาด
ตารางใน SQL Server จัดเก็บข้อมูลในรูปแบบแถวและคอลัมน์ Transact-SQL ใช้คำสั่ง CREATE TABLE เพื่อสร้างตาราง, ALTER TABLE เพื่อเพิ่มหรือเปลี่ยนแปลงคอลัมน์ และ DROP TABLE เพื่อลบตาราง ข้อมูล และโครงสร้างของตาราง

ตารางคืออะไร?
ตารางเป็นวัตถุใน SQL Server ซึ่งจัดเก็บข้อมูลในรูปแบบแถวและคอลัมน์ แผนภาพด้านล่างแสดงแถวและคอลัมน์ตามลำดับ
วิธีสร้างตารางใน SQL Server ด้วย T-SQL
ขั้นตอนแรกในการจัดเก็บข้อมูลคือการสร้างตารางใน ฐานข้อมูล ซึ่งเป็นที่ที่ข้อมูลจะถูกจัดเก็บ หลังจากสร้างตารางแล้ว คุณสามารถเพิ่มแถวลงในตารางได้เรื่อยๆ
คุณสามารถสร้างตารางได้ด้วยวิธีต่อไปนี้:
- T-SQL: สร้างตารางใหม่โดยกำหนดคอลัมน์ทั้งหมดและชนิดข้อมูลของแต่ละคอลัมน์
- T-SQL: สร้างตารางใหม่โดยใช้ตารางที่มีอยู่แล้ว
- ใช้โปรแกรมออกแบบตาราง (Table Designer)
เรามาศึกษาเรื่องนี้อย่างละเอียดกันเถอะ
T-SQL: สร้างตารางใหม่โดยกำหนดคอลัมน์ทั้งหมดและชนิดข้อมูลของแต่ละคอลัมน์
ด้านล่างนี้คือไวยากรณ์สำหรับการสร้างตารางใน SQL Server
ไวยากรณ์:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
ที่นี่
- พารามิเตอร์ tableName แสดงถึงชื่อของตารางที่คุณจะสร้าง
- พารามิเตอร์ column_1, column_2... แสดงถึงคอลัมน์ที่จะเพิ่มลงในตาราง
- ควรระบุค่าของคอลัมน์ว่าเป็น NULL หรือ NOT NULL หากไม่ระบุค่า SQL Server จะใช้ค่า NULL เป็นค่าเริ่มต้น
เรามาสร้างตารางพื้นฐานที่มีสองคอลัมน์กันเถอะ
ค้นหา:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
ข้อกำหนดเบื้องต้น: เลือกฐานข้อมูลที่คุณต้องการสร้างตาราง
ขั้นตอน 1) เรียกใช้คำสั่ง SQL โดยคลิกที่ปุ่ม "เรียกใช้" ก่อนเรียกใช้คำสั่งนี้ จะไม่มีตารางใด ๆ อยู่ ดังแสดงในภาพด้านล่าง
หลังจากเรียกใช้คำสั่งค้นหาแล้ว ให้คลิกปุ่มรีเฟรช ตารางใหม่ชื่อ Course จะปรากฏขึ้นดังที่แสดงด้านล่าง
ขั้นตอน 2) ใส่ข้อมูลลงไป ภาพหน้าจอข้างล่างแสดงตาราง Course ที่สร้างขึ้นใหม่พร้อมรับข้อมูลแล้ว
ขณะนี้ตารางมีอยู่เพียงแต่ยังไม่มีข้อมูลใดๆ อยู่ในนั้น
Transact-SQL มีคำสั่ง INSERT สำหรับแทรกข้อมูลลงในตาราง โดยใช้คำสั่งนี้ คุณสามารถแทรกข้อมูลหนึ่งแถวหรือหลายแถวลงในตารางได้
ไวยากรณ์:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
ไวยากรณ์ข้างต้นแสดงรูปแบบพื้นฐานของคำสั่งเมื่อใช้คำหลัก VALUES เพื่อแทรกข้อมูลลงในตาราง
เราจะแทรกข้อมูลสี่แถวโดยใช้คำสั่ง INSERT
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
ภาพด้านล่างแสดงให้เห็นว่าการแทรกข้อมูลสี่แถวสำเร็จแล้ว
ขั้นตอน 3) ใช้คำสั่ง SELECT เพื่อดูข้อมูล ในการดูข้อมูลใน SQL Server ให้ใช้ไวยากรณ์ต่อไปนี้:
SELECT expression FROM tableName [WHERE condition];
ตัวอย่างแบบสอบถาม:
SELECT * FROM COURSE;
ตารางถูกสร้างขึ้นและขณะนี้มีข้อมูลอยู่สี่รายการ โปรดทราบว่าคุณสามารถสร้างข้อมูลที่มีค่าซ้ำกันในคอลัมน์ใดก็ได้ เนื่องจากไม่มีคอลัมน์ใดที่ซ้ำกัน ข้อ จำกัด.
T-SQL: สร้างตารางใหม่โดยใช้ตารางที่มีอยู่แล้ว
สมมติว่าคุณต้องการตารางอีกตารางหนึ่งที่คล้ายกับตาราง COURSE ที่สร้างไว้ข้างต้น แต่คุณต้องการเฉพาะคอลัมน์ Course_Name เท่านั้น ไม่ต้องการ Course_ID
ไวยากรณ์:
SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;
ตัวอย่างแบบสอบถาม:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
ขั้นตอน 1) เรียกใช้คำสั่งโดยคลิกที่ปุ่ม Execute ระบบจะสร้างตารางใหม่ชื่อ COURSE_NAMES โดยมีหนึ่งคอลัมน์และคัดลอกข้อมูลสี่รายการจากตารางเดิม ดังแสดงด้านล่าง
ตัวอย่างแบบสอบถาม:
SELECT * FROM COURSE_NAMES;
ผลลัพธ์ด้านล่างแสดงรายการระเบียน Course_Name ทั้งสี่รายการในตาราง COURSE_NAMES ใหม่
การใช้โปรแกรมออกแบบตาราง
คุณสามารถสร้างตารางจากได้เช่นกัน สตูดิโอจัดการเซิร์ฟเวอร์ SQL IDE ที่ใช้ Table Designer
ขั้นตอน 1) คลิกขวาที่ ตาราง > สร้างใหม่ > ตาราง ดังแสดงในภาพด้านล่าง
ขั้นตอน 2) ป้อนชื่อคอลัมน์และ ประเภทข้อมูลและเลือกได้ว่าแต่ละคอลัมน์อนุญาตให้มีค่าว่างหรือไม่
ขั้นตอน 3) กด CTRL+S เพื่อบันทึกตาราง และตั้งชื่อตารางเป็น Course_Title
หลังจากคลิกปุ่มรีเฟรช ตารางใหม่จะปรากฏขึ้นโดยมีชื่อว่า Course_Title และมีคอลัมน์หนึ่งชื่อ Course_Name ดังแสดงในภาพด้านล่าง
แก้ไขตารางใน SQL Server
การแก้ไขตารางใน SQL Server มีสองวิธี:
- T-SQL: แก้ไขตารางโดยการเพิ่มคอลัมน์ใหม่
- ใช้โปรแกรมออกแบบตาราง (Table Designer)
T-SQL: แก้ไขตารางโดยการแทรกคอลัมน์
ด้านล่างนี้คือไวยากรณ์ของคำสั่ง ALTER ใน SQL:
ไวยากรณ์:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
ค้นหา:
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
ขั้นตอน 1) เรียกใช้คิวรีโดยคลิกที่ปุ่ม Execute ตอนนี้คอลัมน์ใหม่ชื่อ Course_Duration จะปรากฏขึ้นในตาราง Course_Title ดังแสดงด้านล่าง
การใช้โปรแกรมออกแบบตาราง
นอกจากนี้ คุณยังสามารถแก้ไขตารางจากส่วนติดต่อผู้ใช้โดยใช้โปรแกรมออกแบบตารางได้อีกด้วย
ขั้นตอน 1) คลิกขวาที่ตารางที่มีอยู่ > ออกแบบ ดังแสดงในภาพด้านล่าง
ขั้นตอน 2) เพิ่มชื่อคอลัมน์เป็น Course_Start_Date และเลือกชนิดข้อมูลของคอลัมน์นั้น
ขั้นตอน 3) กด CTRL+S เพื่อบันทึกคอลัมน์ที่เพิ่มใหม่ คอลัมน์ใหม่ชื่อ Course_Start_Date จะถูกสร้างขึ้นในตาราง Course_Title ดังแสดงด้านล่าง
ลบตารางใน SQL Server
คุณลบตารางเมื่อไม่ต้องการใช้งานอีกต่อไป
การลบตารางใน SQL Server มีสองวิธี:
- ใช้โปรแกรม SQL Server Management Studio
- T-SQL: ลบตารางด้วยคำสั่ง DROP TABLE
ใช้ SQL Server Management Studio
ขั้นตอน 1) คลิกขวาที่ตารางที่มีอยู่ > ลบ สำหรับตารางชื่อ Course_Title ดังแสดงในภาพด้านล่าง
ขั้นตอน 2) ในหน้าต่างลบวัตถุ ให้คลิก ตกลง
ตาราง Course_Title ถูกลบออกจากรายการตารางแล้ว ดังแสดงด้านล่าง
T-SQL: ลบตาราง
ด้านล่างนี้คือไวยากรณ์สำหรับการลบตาราง
ไวยากรณ์:
DROP TABLE <tableName>;
พารามิเตอร์ tableName คือชื่อของตารางที่จะถูกลบ
ค้นหา:
DROP TABLE COURSE_NAMES;
ขั้นตอน 1) เรียกใช้คำสั่งโดยคลิกที่ปุ่ม "เรียกใช้" ตาราง COURSE_NAMES จะถูกลบออกจากรายการตาราง ดังแสดงด้านล่าง
อีกทางเลือกหนึ่ง แหล่งข้อมูลแสดงคำสั่ง DELETE TABLE ซึ่งมีจุดประสงค์เพื่อลบเฉพาะแถว (ข้อมูล) โดยคงโครงสร้างตารางไว้ เพื่อให้สามารถนำตารางกลับมาใช้ใหม่ได้ในภายหลัง
ไวยากรณ์:
DELETE TABLE <Table name>;
หมายเหตุ ใน T-SQL มาตรฐาน แถวจะถูกลบออกด้วย DELETE FROM <table>และโต๊ะก็ว่างเปล่าอย่างรวดเร็วด้วย TRUNCATE TABLE <table>ตารางทั้งหมดถูกลบออกด้วยคำสั่ง DROP TABLE ดังแสดงในภาพด้านบน
ข้อเท็จจริงที่น่าสนใจ!
- ไฟล์ขนาดใหญ่ เช่น XML หรือรูปภาพ สามารถจัดเก็บในคอลัมน์โดยใช้ชนิดข้อมูลขนาดใหญ่ เช่น VARBINARY(MAX), VARCHAR(MAX) หรือชนิดข้อมูล XML (SQL Server ไม่ใช้ชนิดนี้) Oracle(ชื่อแบบ BLOB และ CLOB)
- คำสั่ง DELETE จะลบเฉพาะแถวและสามารถย้อนกลับได้ภายในธุรกรรม ในขณะที่คำสั่ง DROP จะลบโครงสร้างตารางทั้งหมด ใน SQL Server แม้แต่คำสั่ง DROP ก็สามารถย้อนกลับได้เมื่อทำงานภายในธุรกรรมที่ระบุไว้อย่างชัดเจน
























