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

ใช้ IN() เพื่อรับเฉพาะบันทึกเฉพาะในกระบวนงานที่เก็บไว้ MySQL?


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

mysql> สร้างตาราง DemoTable2004( UserId varchar(20), UserName varchar(20)); ตกลง, 0 แถวได้รับผลกระทบ (0.57 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable2004 ('John_123','John'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.93 วินาที)mysql> ลงในค่า DemoTable2004 ('23456_Carol','Carol'); เคียวรีตกลง 1 แถว ได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable2004 ('111_Bob','Bob'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-------------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------------+----------+| John_123 | จอห์น || 23456_แครอล | แครอล || 111_บ๊อบ | Bob |+-------------+----------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อสร้างกระบวนงานที่เก็บไว้และเลือกเฉพาะระเบียนที่มี IN() -

mysql> ตัวคั่น //mysql> สร้างโพรซีเดอร์ test_of_in(IN uId varchar(20)) BEGIN เลือก * จาก DemoTable2004 โดยที่ UserId IN(uId); END //สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.15 วินาที)mysql> ตัวคั่น เรียกขั้นตอนการจัดเก็บ:mysql> โทร test_of_in('23456_Carol');

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

<ก่อนหน้า>+-------------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------------+----------+| 23456_แครอล | Carol |+-------------+----------+1 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ 1 คำเตือน (0.02 วินาที)