Home  Contents

Creating, altering and dropping tables

In this part of the SQLite tutorial, we will cover the data definition language (DDL) of the SQLite database. The DDL consists of SQL statements that define the database schema. The schema is the database structure defined in a formal language. In relational databases, the schema defines the tables, views, indexes, relationships or triggers.

The SQLite supports the following three DDL statements:

In SQLite, the CREATE statement is used to create tables, indexes, views and triggers. The ALTER TABLE statement changes the structure of the table. The DROP statement removes tables, indexes, views and triggers.

CREATE and DROP statements

The CREATE statement is used to create tables. It is also used to create indexes, views and triggers.

To create a table, we give a name to a table and to its columns. Each column can have one of these data types:


sqlite> CREATE TABLE Testing(id integer);
sqlite> .schema Testing
CREATE TABLE Testing(id integer);

We create a simple Testing table with the CREATE TABLE statement. The .schema command shows the formal definition of the table.


sqlite> .table
Names    Testing  cars   
sqlite> DROP TABLE Testing;
sqlite> .table
Names  cars 

We verify the existence of the table with the .table command. Next the DROP TABLE statement removes the table Testing from the database.

ALTER TABLE

SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, or add or remove constraints from a table.


sqlite> .schema Names
CREATE TABLE Names(Id integer, Name text);

We have a table called Names, which we want to rename.


sqlite> ALTER TABLE Names RENAME TO NamesOfFriends;

We rename the table to NamesOfFriends.


sqlite> .schema NamesOfFriends
CREATE TABLE "NamesOfFriends"(Id integer, Name text);

We verify the schema of the renamed table.

Say we wanted to add a new column to the table.


sqlite> ALTER TABLE NamesOfFriends ADD COLUMN Email text;

The SQL statement adds a new column named Email to the table.


sqlite> .schema NamesOfFriends
CREATE TABLE "NamesOfFriends"(Id integer, Name text, Email text);

Here we see the new structure of the table.


In this part of the SQLite tutorial, we were creating, altering and dropping tables.



HomeContentsTop of Page