SQLite - เลือกแบบสอบถาม
SQLite SELECTคำสั่งใช้เพื่อดึงข้อมูลจากตารางฐานข้อมูล SQLite ซึ่งส่งคืนข้อมูลในรูปแบบของตารางผลลัพธ์ เรียกอีกอย่างว่าตารางผลลัพธ์เหล่านี้result sets.
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง SQLite SELECT
SELECT column1, column2, columnN FROM table_name;
ที่นี่ column1, column2 ... คือฟิลด์ของตารางซึ่งมีค่าที่คุณต้องการดึงข้อมูล หากคุณต้องการดึงฟิลด์ทั้งหมดที่มีอยู่ในฟิลด์คุณสามารถใช้ไวยากรณ์ต่อไปนี้ -
SELECT * FROM table_name;
ตัวอย่าง
พิจารณาตาราง COMPANY ที่มีบันทึกต่อไปนี้ -
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
ต่อไปนี้เป็นตัวอย่างในการดึงข้อมูลและแสดงระเบียนเหล่านี้ทั้งหมดโดยใช้คำสั่ง SELECT ที่นี่คำสั่งสามคำแรกถูกใช้เพื่อตั้งค่าเอาต์พุตที่จัดรูปแบบอย่างถูกต้อง
sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;
สุดท้ายคุณจะได้รับผลลัพธ์ดังต่อไปนี้
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
หากคุณต้องการดึงเฉพาะฟิลด์ที่เลือกของตาราง COMPANY ให้ใช้แบบสอบถามต่อไปนี้ -
sqlite> SELECT ID, NAME, SALARY FROM COMPANY;
แบบสอบถามข้างต้นจะให้ผลลัพธ์ดังต่อไปนี้
ID NAME SALARY
---------- ---------- ----------
1 Paul 20000.0
2 Allen 15000.0
3 Teddy 20000.0
4 Mark 65000.0
5 David 85000.0
6 Kim 45000.0
7 James 10000.0
การตั้งค่าความกว้างของคอลัมน์เอาต์พุต
บางครั้งคุณจะประสบปัญหาที่เกี่ยวข้องกับผลลัพธ์ที่ถูกตัดทอนในกรณีของ .mode columnซึ่งเกิดขึ้นเนื่องจากความกว้างเริ่มต้นของคอลัมน์ที่จะแสดง สิ่งที่คุณสามารถทำได้คือคุณสามารถตั้งค่าความกว้างของคอลัมน์ที่แสดงได้โดยใช้.width num, num.... คำสั่งดังนี้ -
sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;
ข้างบน .width คำสั่งตั้งค่าความกว้างของคอลัมน์แรกเป็น 10 ความกว้างของคอลัมน์ที่สองเป็น 20 และความกว้างของคอลัมน์ที่สามเป็น 10 สุดท้ายคำสั่ง SELECT ด้านบนจะให้ผลลัพธ์ดังต่อไปนี้
ID NAME AGE ADDRESS SALARY
---------- -------------------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
ข้อมูลสคีมา
เช่นเดียวกับ dot commands มีอยู่ที่พรอมต์ SQLite ดังนั้นในขณะที่เขียนโปรแกรมด้วย SQLite คุณจะใช้คำสั่ง SELECT ต่อไปนี้กับ sqlite_master ตารางเพื่อแสดงรายการตารางทั้งหมดที่สร้างในฐานข้อมูลของคุณ
sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';
สมมติว่าคุณมีตาราง COMPANY เพียงตารางเดียวใน testDB.db ของคุณสิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้
tbl_name
----------
COMPANY
คุณสามารถลงรายการข้อมูลทั้งหมดเกี่ยวกับตาราง COMPANY ได้ดังนี้ -
sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';
สมมติว่าคุณมีตาราง COMPANY เพียงตารางเดียวใน testDB.db ของคุณสิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
)