You use the SELECT statement to query data from one or more tables. In this Delphi tutorial, we'll deal with
basic SELECT statements for a single table.
In its simplest form, the syntax of a SELECT statement is:
SELECT columnlist FROM table
columnlist can be:
- a star * for all of the columns
- the name of one column
- a comma-separated list of column names
table: the name of a table that is contained in the database
Example: SELECT * FROM countries
A more complete syntax of a SELECT statement is as follows:
SELECT DISTINCT columnlist FROM table WHERE rowfilter ORDER BY column LIMIT count
The meaning of the different parts:
- ORDER BY sorts the result based on one or more columns, ascending and descending
(specify the keyword ASC or DESC; if you don't specify ASC or DESC, SQLite uses ascending order by default).
Note: you even can sort on a column that does not appear in the column list of the SELECT clause.
Example: SELECT * FROM countries ORDER BY name ASC
- DISTINCT is an optional clause, that removes duplicate rows from the result.
Specify a column or a list of columns
after DISTINCT. If you specify one column, that column is used to evaluate the duplicates.
If you specify multiple columns, the combination of those columns is used to evaluate the duplicates.
Example: SELECT DISTINCT currency ORDER BY currency
- WHERE filters the rows that are returned by evaluating a condition that you specify.
Examples:
SELECT * FROM countries WHERE population < 10000
SELECT * FROM countries WHERE curcode = "USD"
SELECT * FROM countries WHERE name LIKE "Z%"
SELECT * FROM countries WHERE name LIKE "%land%"
- LIMIT is used to limit the number of rows returned, to a given value.
Example: SELECT * FROM countries ORDER BY population DESC LIMIT 5
See the WHERE clause for more advanced features of SELECT.
Preparations
- If you haven't done so already, create a new folder \DelphiLand.
- If you haven't done so already, create directory SQLiteGeo2
"under" \DelphiLand.
- Next, download sqlitegeo2.zip and
unzip it to this directory.
Testing SQL statements
- Start Delphi and open sqlitegeo2.dpr.
- In the the menu, select Project / Options...
- In the dialog that appears, select Delphi Compiler / Output directory
Clear this option and click OK.
That way, you avoid the need to enter a hardwired full path when setting FDConnection.Params.Database (see later).
- Open Delphi's File menu and click Save All.
- Let's have a look at the extra source code:
procedure TForm1.btnTestSQLClick(Sender: TObject);
begin
qCountries.Close; // query must be inactive before changing
qCountries.SQL.Text := edSQL.Text;
qCountries.Open;
end;
-
Run your project.
In the edit box, enter a select statement (chosen from the examples above, or make up your own) and click the button. Enjoy!
|
|