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

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

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

ในบทความนี้

ภาพรวม

สร้าง หรือปรับเปลี่ยนตาราง

วิธีสร้างดัชนี

สร้างความสัมพันธ์หรือข้อจำกัด

ภาพรวม

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

หมายเหตุ: ภาษาข้อกำหนดในข้อมูล (DDL) เป็นส่วนหนึ่งของ Structured Query Language (SQL)

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

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

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

คำสำคัญ DDL

คำสำคัญ

ให้ใช้

CREATE

สร้างคอลัมน์ดัชนีหรือตารางที่ไม่มีอยู่แล้ว

ALTER

ปรับเปลี่ยนตารางที่มีอยู่หรือคอลัมน์ที่มี

DROP

ลบตารางที่มีอยู่ คอลัมน์ หรือข้อจำกัด

ADD

เพิ่มคอลัมน์หรือข้อจำกัดในการลงในตาราง

COLUMN

ใช้งานเพิ่ม เปลี่ยน หรือปล่อย

CONSTRAINT

ใช้งานเพิ่ม เปลี่ยน หรือปล่อย

INDEX

ใช้ มีสร้าง

TABLE

ใช้กับเปลี่ยน สร้าง หรือปล่อย

ด้านบนของหน้า

สร้าง หรือปรับเปลี่ยนตาราง

เมื่อต้องการสร้างตาราง คุณใช้คำสั่งสร้างตาราง คำสั่งสร้างตารางมีไวยากรณ์ต่อไปนี้:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

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

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

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

  • บนแถบข้อความ ให้คลิก เปิดใช้งานเนื้อหา

สร้างตาราง

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    สร้างตารางรถยนต์ (ชื่อ TEXT(30) ปี TEXT(4) ราคาสกุลเงิน)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ปรับเปลี่ยนตาราง

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

ALTER TABLE table_name predicate

ตำแหน่งที่เพรดิเคตอาจเป็นข้อมูลใดอย่างหนึ่งต่อไปนี้:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    เปลี่ยนตารางรถยนต์เพิ่มคอลัมน์เงื่อนไข TEXT(10)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

วิธีสร้างดัชนี

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

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

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

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

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

  • อาร์กิวเมนต์ที่มีไม่อนุญาตให้มีค่า NULL ทำดัชนีเพื่อกำหนดว่า ถูกใส่ค่าสำหรับเขตข้อมูลมีการทำดัชนีซึ่งนั่นคือ ค่า null ไม่อนุญาตให้มี

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    สร้างดัชนีรถยนต์บน YearIndex (ปี)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

สร้างความสัมพันธ์หรือข้อจำกัด

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

ความสัมพันธ์กับชนิดของข้อจำกัดที่อ้างถึงค่าของเขตข้อมูลหรือชุดของเขตข้อมูลในตารางอื่นเพื่อกำหนดว่า สามารถใส่ค่าในเขตข้อมูลที่มีข้อจำกัดหรือชุดของเขตข้อมูลได้ คุณไม่ใช้คำสำคัญพิเศษเพื่อระบุว่า ข้อจำกัด ความสัมพันธ์

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

ข้อจำกัดของเขตข้อมูลเดียว

ส่วนคำสั่ง CONSTRAINT เขตข้อมูลเดียวทันทีตามข้อกำหนดของเขตข้อมูลที่จะจำกัด และมีไวยากรณ์ต่อไปนี้:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    เปลี่ยนตารางรถยนต์เปลี่ยนคอลัมน์เงื่อนไขข้อความข้อจำกัด ConditionRequired ไม่ใช่ NULL

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

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

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

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    สร้างตาราง CarCondition (เงื่อนไข TEXT(10))

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

  6. สร้างคีย์หลักสำหรับตาราง โดยใช้คำสั่งเปลี่ยนตาราง:

    เปลี่ยนตาราง CarCondition เปลี่ยนคอลัมน์เงื่อนไขข้อความข้อจำกัด CarConditionPK คีย์หลัก

  7. เมื่อต้องการแทรกค่าจากเขตข้อมูลเงื่อนไขของตารางรถยนต์ลงในตาราง CarCondition ใหม่ พิมพ์ SQL ต่อไปนี้ลงในแท็บวัตถุมุมมอง SQL:

    แทรกลงใน CarCondition DISTINCT เลือกเงื่อนไขจากรถยนต์

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

  8. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

สร้างความสัมพันธ์ โดยใช้ข้อจำกัด

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    เปลี่ยนตารางรถยนต์เปลี่ยนคอลัมน์เงื่อนไขข้อความข้อจำกัด FKeyCondition อ้างอิง CarCondition (เงื่อนไข)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ข้อจำกัดแบบหลายเขตข้อมูล

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

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

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

  1. บนแท็บสร้าง ในกลุ่มแมโครและโค้ด คลิกออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บการออกแบบ ในกลุ่มชนิดของคิวรี คลิกข้อกำหนดของข้อมูล

    ในตารางออกแบบจะถูกซ่อน และแสดงอยู่ในแท็บวัตถุมุมมอง SQL

  4. พิมพ์คำสั่ง SQL ต่อไปนี้:

    เปลี่ยนตารางรถยนต์เพิ่มข้อจำกัด NoDupes ไม่ซ้ำกัน (ชื่อ ปี เงื่อนไข ราคา)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

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

×