สร้างตารางใหม่
หมายเหตุ: กลไกจัดการฐานข้อมูลของ Microsoft Access ไม่สนับสนุนการใช้คําสั่ง CREATE TABLE หรือคําสั่ง DDL ใดๆ กับฐานข้อมูลที่ไม่ใช่กลไกจัดการฐานข้อมูล Microsoft Access ใช้วิธีการสร้าง DAO แทน
ไวยากรณ์
CREATE [TEMPORARY] TABLE table (field1 type [(size)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, field2type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])
คำสั่งสร้างตารางมีส่วนต่างๆ ต่อไปนี้:
ส่วน |
คำอธิบาย |
ตาราง |
ชื่อของตารางที่จะสร้าง |
เขตข้อมูล1, เขตข้อมูล2 |
ชื่อของเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่จะสร้างในตารางใหม่ คุณต้องสร้างอย่างน้อยหนึ่งเขตข้อมูล |
ชนิด |
ชนิดข้อมูลของเขตข้อมูลในตารางใหม่ |
ขนาด |
ขนาดเขตข้อมูลเป็นอักขระ (เขตข้อมูลข้อความและไบนารีเท่านั้น) |
ดัชนี1, ดัชนี2 |
ส่วนคำสั่ง CONSTRAINT จะกำหนดดัชนีแบบเขตข้อมูลเดียว |
multifieldindex |
ส่วนคำสั่ง CONSTRAINT จะกำหนดดัชนีแบบหลายเขตข้อมูล |
ข้อสังเกต
ใช้คําสั่ง CREATE TABLE เพื่อกําหนดตารางใหม่และเขตข้อมูลและข้อจํากัดของเขตข้อมูล ถ้าระบุ NOT NULL สําหรับเขตข้อมูล ระเบียนใหม่จะต้องมีข้อมูลที่ถูกต้องในเขตข้อมูลนั้น
ส่วนคําสั่ง CONSTRAINT จะสร้างข้อจํากัดต่างๆ บนเขตข้อมูล และสามารถใช้เพื่อสร้าง คีย์หลัก คุณยังสามารถใช้คําสั่ง CREATE INDEX เพื่อสร้างคีย์หลักหรือดัชนีเพิ่มเติมบนตารางที่มีอยู่
คุณสามารถใช้ NOT NULL บนเขตข้อมูลเดียวหรือภายในส่วนคําสั่งที่ชื่อว่า CONSTRAINT ซึ่งนําไปใช้กับเขตข้อมูลเดียวหรือหลายเขตข้อมูลที่ชื่อ CONSTRAINT อย่างไรก็ตาม คุณสามารถใช้ข้อจํากัด NOT NULL เพียงครั้งเดียวกับฟิลด์ การพยายามนําข้อจํากัดนี้ไปใช้มากกว่าหนึ่งครั้งจะทําให้เกิดข้อผิดพลาดขณะทํางาน
เมื่อตาราง TEMPORARY ถูกสร้างขึ้น จะมองเห็นได้เฉพาะภายในเซสชันที่สร้างตารางนั้นขึ้นเท่านั้น ซึ่งจะถูกลบโดยอัตโนมัติเมื่อเซสชันสิ้นสุดลง สามารถเข้าถึงตารางชั่วคราวได้โดยผู้ใช้มากกว่าหนึ่งราย
แอตทริบิวต์ WITH COMPRESSION สามารถใช้ได้เฉพาะกับชนิดข้อมูล CHARACTER และ MEMO (หรือที่เรียกว่าข้อความ) และคำเหมือนเท่านั้น
แอตทริบิวต์ WITH COMPRESSION ถูกเพิ่มสําหรับคอลัมน์ CHARACTER เนื่องจากมีการเปลี่ยนแปลงรูปแบบการแสดงอักขระ Unicode อักขระ Unicode ต้องการไบต์สองไบต์สําหรับอักขระแต่ละตัวอย่างสม่ําเสมอ สําหรับฐานข้อมูล Microsoft Access ที่มีอยู่ที่มีข้อมูลอักขระเป็นหลัก อาจหมายความว่าไฟล์ฐานข้อมูลจะมีขนาดเกือบสองเท่าเมื่อแปลงเป็นรูปแบบ Microsoft Access อย่างไรก็ตาม Unicode การแสดงชุดอักขระจํานวนมาก แต่เดิมเรียกว่า Single-Byte ชุดอักขระ (SBCS) สามารถบีบอัดเป็นไบต์เดียวได้อย่างง่ายดาย ถ้าคุณกําหนดคอลัมน์ CHARACTER ด้วยแอตทริบิวต์นี้ ข้อมูลจะถูกบีบอัดโดยอัตโนมัติเมื่อมีการจัดเก็บและยกเลิกการบีบอัดเมื่อเรียกใช้จากคอลัมน์
คุณยังสามารถกําหนดคอลัมน์ MEMO เพื่อจัดเก็บข้อมูลในรูปแบบที่บีบอัดได้ด้วย อย่างไรก็ตามมีข้อ จํากัด เฉพาะอินสแตนซ์ของคอลัมน์ MEMO ที่เมื่อบีบอัดแล้วจะพอดีกับภายใน 4096 ไบต์หรือน้อยกว่านั้นจะถูกบีบอัด อินสแตนซ์อื่นๆ ทั้งหมดของคอลัมน์ MEMO จะยังคงไม่ถูกบีบอัด ซึ่งหมายความว่าภายในตารางที่กําหนด สําหรับคอลัมน์ MEMO ที่กําหนด ข้อมูลบางอย่างอาจถูกบีบอัด และข้อมูลบางอย่างอาจไม่ถูกบีบอัด