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

ฉันจะสร้างและใช้ลำดับใน MySQL ได้อย่างไร


ในการสร้างลำดับใน MySQL สามารถใช้ auto_increment ในคอลัมน์ได้ โดยเริ่มต้นจากค่า 1 และเพิ่มทีละ 1 สำหรับแต่ละระเบียนเมื่อแทรก

ขั้นแรก สร้างตารางด้วยความช่วยเหลือของ CREATE table แบบสอบถามสำหรับสิ่งนั้นคือ −

mysql> สร้างตาราง SequenceDemo-> (-> SequenceId int auto_increment,-> คีย์หลัก (SequenceId)-> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.22 วินาที)

หลังจากสร้างตารางแล้ว เร็กคอร์ดสามารถแทรกได้โดยใช้คำสั่ง insert ซึ่งให้ไว้ดังนี้ -

mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> INSERT ลงในค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) 

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

mysql> SELECT * จาก SequenceDemo;

ต่อไปนี้เป็นผลลัพธ์ที่ได้รับ -

<ก่อนหน้า>+-----------+| SequenceId |+-----------+| 1 || 2 || 3 || 4 || 5 |+------------+5 แถวในชุด (0.00 วินาที)

ลำดับสามารถตั้งค่าได้ด้วยความช่วยเหลือของคำสั่ง alter ไวยากรณ์สำหรับสิ่งนี้จะได้รับดังนี้ -

แก้ไขตาราง yourTableName auto_increment=Somevalue;

ตอนนี้ ไวยากรณ์ข้างต้นถูกใช้ในแบบสอบถามต่อไปนี้เพื่อตั้งค่าลำดับดังต่อไปนี้ −

mysql> แก้ไขตาราง SequenceDemo auto_increment =500 ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.17 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

หลังจากนั้นระเบียนจะถูกแทรกจากค่า 500 ในตาราง ด้านล่างนี้ −

mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> INSERT ลงในค่า SequenceDemo (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> INSERT เป็นค่า SequenceDemo (); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.05 วินาที)

บันทึกทั้งหมดสามารถแสดงได้ด้วยคำสั่ง select ดังนี้ -

mysql> SELECT * จาก SequenceDemo;

ผลลัพธ์ได้รับด้านล่าง

<ก่อนหน้า>+-----------+| SequenceId |+-----------+| 1 || 2 || 3 || 4 || 5 || 500 || 501 || 502 |+------------+8 แถวในชุด (0.00 วินาที)

ดังที่เห็นได้จากผลลัพธ์ข้างต้น หลังจากบันทึก 5 รายการ รหัสลำดับจะเริ่มต้นจาก 500 และเพิ่มขึ้นทีละ 1