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

ฉันจะเพิ่มคอลัมน์ใหม่ที่นับจำนวนแถวเป็นหมายเลขซีเรียลใน MySQL ได้อย่างไร


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

ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง addColumnToCountAsSerialNumber -> ( -> Id int, -> Name varchar(20), -> Age int, -> Salary int -> );Query OK, 0 แถวได้รับผลกระทบ (0.80 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้:

mysql> แทรกลงในค่า addColumnToCountAsSerialNumber (10,'John',23,8576); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า addColumnToCountAsSerialNumber (12,'Carol',21,4686); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า addColumnToCountAsSerialNumber (9,'Mike',22,38585); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า addColumnToCountAsSerialNumber (15, 'Sam', 25,38586); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า addColumnToCountAsSerialNumber (20,'Bob',26,43544); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า addColumnToCountAsSerialNumber ( 39,'Larry',29,485886);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+------+-------+------+-------+| รหัส | ชื่อ | อายุ | เงินเดือน |+------+-------+------+-------+| 10 | จอห์น | 23 | 8576 || 12 | แครอล | 21 | 4686 || 9 | ไมค์ | 22 | 38585 || 15 | แซม | 25 | 38586 || 20 | บ๊อบ | 26 | 43544 || 39 | แลร์รี่ | 29 | 485886 |+------+-------+------+--------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับแต่ละแถวเป็นหมายเลขซีเรียล:

mysql> เลือก @globalVar:=@globalVar+1 RowCount,tblColumns.* -> from (select @globalVar:=0) initializeGlobalVariable,addColumnToCountAsSerialNumber tblColumns;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงการนับในคอลัมน์ใหม่ “RowCount”:

<ก่อนหน้า>+----------+------+---------+------+-------+| RowCount | รหัส | ชื่อ | อายุ | เงินเดือน |+----------+------+---------+------+-------+| 1 | 10 | จอห์น | 23 | 8576 || 2 | 12 | แครอล | 21 | 4686 || 3 | 9 | ไมค์ | 22 | 38585 || 4 | 15 | แซม | 25 | 38586 || 5 | 20 | บ๊อบ | 26 | 43544 || 6 | 39 | แลร์รี่ | 29 | 485886 |+----------+------+-------+------+ --------+6 แถวในชุด ( 0.06 วินาที)