คำถามติดแท็ก ddl

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

14
ฉันจะใช้สร้างหรือแทนที่ได้อย่างไร
ฉันเข้าใจถูกต้องหรือไม่ว่าโดยทั่วไปแล้ว CREATE OR REPLACE หมายถึง "ถ้ามีวัตถุอยู่ให้วางมันแล้วสร้างด้วยวิธีใดก็ได้" ถ้าเป็นเช่นนั้นฉันทำอะไรผิด? ใช้งานได้: CREATE TABLE foo (id NUMBER, title VARCHAR2(4000) DEFAULT 'Default Title') และสิ่งนี้ไม่ (ORA-00922: ไม่มีตัวเลือกหรือไม่ถูกต้อง): CREATE OR REPLACE TABLE foo (id NUMBER, title VARCHAR2(4000) DEFAULT 'Default Title') ฉันทำอะไรโง่ ๆ หรือเปล่า? ดูเหมือนว่าฉันจะหาเอกสารเกี่ยวกับไวยากรณ์นี้ไม่ได้มากนัก
102 oracle  oracle10g  ddl 

8
ใช้ ALTER เพื่อวางคอลัมน์หากมีอยู่ใน MySQL
จะใช้ ALTER เพื่อวางคอลัมน์ในตาราง MySQL ได้อย่างไรหากมีคอลัมน์นั้นอยู่ ฉันรู้ว่าฉันสามารถใช้ได้ALTER TABLE my_table DROP COLUMN my_columnแต่นั่นจะทำให้เกิดข้อผิดพลาดหากmy_columnไม่มีอยู่ มีไวยากรณ์อื่นสำหรับวางคอลัมน์ตามเงื่อนไขหรือไม่? ฉันใช้ MySQL เวอร์ชัน 4.0.18
92 mysql  ddl  mysql4 

26
คุณชอบคีย์หลักของคุณอย่างไร? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ในการอภิปรายที่ค่อนข้างเคลื่อนไหวในทีมของฉันฉันถูกทำให้คิดว่าคนส่วนใหญ่ชอบอะไรเป็นคีย์หลัก เรามีกลุ่มต่อไปนี้ - Int / BigInt ซึ่งการเพิ่มอัตโนมัติเป็นคีย์หลักที่ดีพอ ควรมีอย่างน้อย 3 คอลัมน์ที่ประกอบเป็นคีย์หลัก Id, GUID และตัวระบุแถวที่มนุษย์อ่านได้ทั้งหมดควรได้รับการปฏิบัติที่แตกต่างกัน แนวทางที่ดีที่สุดสำหรับ PK คืออะไร? จะดีมากถ้าคุณสามารถแสดงความคิดเห็นของคุณได้ มีแนวทางที่ดีกว่าข้างต้นหรือไม่? แก้ไข: ใครมีตัวอย่าง / อัลกอริทึมง่ายๆในการสร้างตัวระบุที่มนุษย์อ่านได้สำหรับแถวที่ปรับขนาดได้ดี?

5
นิยามคอลัมน์ SQL: ค่าเริ่มต้นและไม่ซ้ำซ้อน null?
ฉันเคยเห็นไวยากรณ์ต่อไปนี้หลายครั้งซึ่งกำหนดคอลัมน์ในคำสั่งสร้าง / แก้ไข DDL: ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault" คำถามคือเนื่องจากมีการระบุค่าดีฟอลต์จึงจำเป็นต้องระบุด้วยว่าคอลัมน์ไม่ควรยอมรับ NULL หรือไม่ กล่าวอีกนัยหนึ่งค่า DEFAULT ไม่ทำให้ซ้ำซ้อน NOT NULL?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.