Is there an SQLite equivalent to MySQL's DESCRIBE [table]?

Viewed 240962

I'm just getting started learning SQLite. It would be nice to be able to see the details for a table, like MySQL's DESCRIBE [table]. PRAGMA table_info [table] isn't good enough, as it only has basic information (for example, it doesn't show if a column is a field of some sort or not). Does SQLite have a way to do this?

7 Answers

If you're using a graphical tool. It shows you the schema right next to the table name. In case of DB Browser For Sqlite, click to open the database(top right corner), navigate and open your database, you'll see the information populated in the table as below.

enter image description here

right click on the record/table_name, click on copy create statement and there you have it.

Hope it helped some beginner who failed to work with the commandline.

".schema" can show more details of tables including Table Constraints than "PRAGMA".

This command below shows the details of all tables:

.schema

This command below shows the details of all tables in a well-formatted way:

.schema --indent

This command below shows the details of one table:

.schema <table_name>

These commands below show the details of one table in a well-formatted way:

.schema --indent <table_name>

Or:

.schema <table_name> --indent

In addition, these commands below show the details about ".schema":

.help .schema

Or:

.help schema

Then, this is how it looks like below:

sqlite> .help .schema 
.schema ?PATTERN?        Show the CREATE statements matching PATTERN
   Options:
      --indent             Try to pretty-print the schema
      --nosys              Omit objects whose names start with "sqlite_"
Related