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

ดึงข้อมูลทั้งหมดด้วย WHERE clause ใน MySQL

การใช้ WHERE clause เพื่อดึงข้อมูลทั้งหมดใน MySQL

สามารถใช้ตัวดำเนินการ LIKE กับ Pattern '%' เพื่อจับคู่ทุกค่าได้ (แม้จะไม่เป็นวิธีที่ดีที่สุด)

SELECT * FROM yourTableName WHERE yourColumn LIKE '%';

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มข้อมูล:

mysql> create table DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20));
mysql> insert into DemoTable(Name) values('Larry');
mysql> insert into DemoTable(Name) values('John');
mysql> insert into DemoTable(Name) values('Bob');
mysql> insert into DemoTable(Name) values('Carol');
mysql> insert into DemoTable(Name) values('Chris');
mysql> insert into DemoTable(Name) values('David');
mysql> insert into DemoTable(Name) values('Mike');
mysql> insert into DemoTable(Name) values('Sam');

คิวรีด้วย WHERE LIKE '%':

mysql> select * from DemoTable where Name like '%';
+----+-------+
| Id | Name  |
+----+-------+
| 1  | Larry |
| 2  | John  |
| 3  | Bob   |
| 4  | Carol |
| 5  | Chris |
| 6  | David |
| 7  | Mike  |
| 8  | Sam   |
+----+-------+

วิธีที่ดีกว่า (Best Practice):

SELECT * FROM yourTableName;

ไม่ต้องใช้ WHERE clause เลย หากต้องการข้อมูลทั้งหมด | เร็วกว่า อ่านง่ายกว่า และเป็นมาตรฐาน SQL

เมื่อไหร่ควรใช้ WHERE LIKE '%': เฉพาะกรณีที่ต้องสร้าง Dynamic Query ที่ต้องมี WHERE clause เสมอ (เช่น Application สร้าง Query โดยมีเงื่อนไข Optional) | แม้จะทำงานได้ แต่ Optimizer อาจไม่ใช้ Index ได้เต็มที่