SQL
Creating a New Table
You can create a new table by specifying the table name, along with all column names and their types:  
```sql
CREATE TABLE weather (
city    VARCHAR,
temp_lo INTEGER, -- minimum temperature on a day
temp_hi INTEGER, -- maximum temperature on a day
prcp    FLOAT,
date    DATE
);
```  
You can enter this into the shell with the line breaks. The command is not terminated until the semicolon.  
White space (i.e., spaces, tabs, and newlines) can be used freely in SQL commands. That means you can type the command aligned differently than above, or even all on one line. Two dash characters (` --`) introduce comments. Whatever follows them is ignored up to the end of the line. SQL is case-insensitive about keywords and identifiers. When returning identifiers, [their original cases are preserved](#docs:sql:dialect:keywords_and_identifiers::rules-for-case-sensitivity).  
In the SQL command, we first specify the type of command that we want to perform: `CREATE TABLE`. After that follows the parameters for the command. First, the table name, `weather`, is given. Then the column names and column types follow.  
`city VARCHAR` specifies that the table has a column called `city` that is of type `VARCHAR`. `VARCHAR` specifies a data type that can store text of arbitrary length. The temperature fields are stored in an `INTEGER` type, a type that stores integer numbers (i.e., whole numbers without a decimal point). `FLOAT`  columns store single precision floating-point numbers (i.e., numbers with a decimal point). `DATE` stores a date (i.e., year, month, day combination). `DATE` only stores the specific day, not a time associated with that day.  
DuckDB supports the standard SQL types `INTEGER`, `SMALLINT`, `FLOAT`, `DOUBLE`, `DECIMAL`, `CHAR(n)`, `VARCHAR(n)`, `DATE`, `TIME` and `TIMESTAMP`.  
The second example will store cities and their associated geographical location:  
```sql
CREATE TABLE cities (
name VARCHAR,
lat  DECIMAL,
lon  DECIMAL
);
```  
Finally, it should be mentioned that if you don't need a table any longer or want to recreate it differently you can remove it using the following command:  
```sql
DROP TABLE ⟨tablename⟩;
```