Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเพิ่มคอลัมน์โดยใช้ alter ใน MySQL ได้อย่างไร?


ต่อไปนี้เป็นไวยากรณ์เพื่อเพิ่มคอลัมน์โดยใช้ alter ใน MySQL:

แก้ไขตาราง yourTableName เพิ่มคอลัมน์ yourColumnName yourDataType default yourValue;

ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง alterTableDemo -> ( -> Id int, -> Name varchar(10) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

ให้เราตรวจสอบรายละเอียดของตารางโดยใช้คำสั่ง DESC ซึ่งจะแสดงฟิลด์ ประเภท คีย์ ฯลฯ ของตาราง:

mysql> อธิบาย alterTableDemo;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

<ก่อนหน้า>+-------+-------------+------+----+---------+- ------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+-------------+------+----+---------+-- -----+| รหัส | int(11) | ใช่ | | NULL | || ชื่อ | varchar(10) | ใช่ | | NULL | |+-------+-------------+------+----+---------+--- ----+2 แถวในชุด (0.01 วินาที)

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

mysql> แก้ไขตาราง alterTableDemo เพิ่มคอลัมน์ Age int เริ่มต้น 18; Query OK, 0 แถวได้รับผลกระทบ (0.67 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ให้เราตรวจสอบคำอธิบายตารางอีกครั้ง:

mysql> อธิบาย alterTableDemo;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

<ก่อนหน้า>+-------+-------------+------+----+---------+- ------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+-------------+------+----+---------+-- -----+| รหัส | int(11) | ใช่ | | NULL | || ชื่อ | varchar(10) | ใช่ | | NULL | || อายุ | int(11) | ใช่ | | 18 | |+-------+-------------+------+----+---------+--- ----+3 แถวในชุด (0.00 วินาที)

ให้เราแทรกบันทึกลงในตารางโดยใช้คำสั่ง insert

ต่อไปนี้เป็นแบบสอบถาม

mysql> แทรกลงในค่า alterTableDemo(Id,Name,Age) (100,'Chris',24);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน alterTableDemo(Id,Name) ค่า (101, 'Robert');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.25 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select:

mysql> เลือก *จาก alterTableDemo;

ต่อไปนี้เป็นผลลัพธ์ เนื่องจากเรายังไม่ได้กำหนดอายุสำหรับ "โรเบิร์ต" ดังนั้นค่าเริ่มต้นที่ 18 จะถูกตั้งค่าเป็นอายุ:

<ก่อนหน้า>+------+---------+------+| รหัส | ชื่อ | อายุ |+------+---------+------+| 100 | คริส | 24 || 101 | โรเบิร์ต | 18 |+------+----------------------+------+2 แถวในชุด (0.00 วินาที)