SQLite - Sorgu SEÇ

SQLite SELECTifadesi, verileri bir sonuç tablosu biçiminde döndüren bir SQLite veritabanı tablosundan verileri almak için kullanılır. Bu sonuç tablolarına ayrıcaresult sets.

Sözdizimi

Aşağıda SQLite SELECT deyiminin temel sözdizimi verilmiştir.

SELECT column1, column2, columnN FROM table_name;

Burada sütun1, sütun2 ... değerlerini almak istediğiniz bir tablonun alanlarıdır. Alanda bulunan tüm alanları getirmek istiyorsanız, aşağıdaki sözdizimini kullanabilirsiniz -

SELECT * FROM table_name;

Misal

Aşağıdaki kayıtlarla ŞİRKET tablosunu düşünün -

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

Aşağıda, tüm bu kayıtları SELECT deyimini kullanarak almak ve görüntülemek için bir örnek verilmiştir. Burada, ilk üç komut, uygun şekilde biçimlendirilmiş bir çıktı ayarlamak için kullanılmıştır.

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

Son olarak, aşağıdaki sonucu alacaksınız.

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

ŞİRKET tablosunun yalnızca seçili alanlarını getirmek istiyorsanız, aşağıdaki sorguyu kullanın -

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

Yukarıdaki sorgu aşağıdaki sonucu verecektir.

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

Çıktı Sütun Genişliğini Ayarlama

Bazen, aşağıdaki durumlarda kesilmiş çıktıyla ilgili bir sorunla karşılaşacaksınız. .mode columnBu, görüntülenecek sütunun varsayılan genişliği nedeniyle gerçekleşir. Yapabilecekleriniz, sütun görüntülenebilir sütun genişliğini şu şekilde ayarlayabilirsiniz:.width num, num.... aşağıdaki gibi komut -

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;

Yukarıdaki .width komutu, ilk sütun genişliğini 10'a, ikinci sütun genişliğini 20'ye ve üçüncü sütun genişliğini 10'a ayarlar. Son olarak, yukarıdaki SELECT ifadesi aşağıdaki sonucu verecektir.

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

Şema Bilgileri

Tüm dot commands SQLite komut isteminde mevcuttur, bu nedenle SQLite ile programlama yaparken aşağıdaki SELECT ifadesini kullanacaksınız sqlite_master veritabanınızda oluşturulan tüm tabloları listelemek için tablo.

sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';

TestDB.db'nizde yalnızca ŞİRKET tablonuz olduğunu varsayarsak, bu aşağıdaki sonucu verecektir.

tbl_name
----------
COMPANY

ŞİRKET tablosu hakkındaki tüm bilgileri aşağıdaki gibi listeleyebilirsiniz -

sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

TestDB.db'nizde yalnızca ŞİRKET tablonuz olduğunu varsayarsak, bu aşağıdaki sonucu verecektir.

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)