English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

استعلام SELECT SQLite

SQLite SELECTالجملة المستخدمة لاستخراج البيانات من جداول قاعدة بيانات SQLite، وتعيد البيانات كجدول نواتج.هذه الجداول الناتجة تُسمى أيضًانواتج الاستعلام.

النحو

إليك جملة 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                           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

设置输出列宽

有时,.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

معلومات النمط

بما أن جميع أوامر النقاط يمكن استخدامها في واجهة SQLite التفاعلية، فإنك ستستخدم جملة SELECT التالية وأول الجداول الرئيسية للجدول لقائمة على جميع الجداول الم 创建ة في قاعدة البيانات.

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)