w3resource

PostgreSQL Create Table: Create the structure of a table dup_countries similar to countries


3. Write a sql statement to create the structure of a table dup_countries similar to countries.

Sample Solution:

Code:

-- This SQL statement creates a new table called 'dup_countries' by copying the structure of the 'countries' table without copying any data.

CREATE TABLE dup_countries AS 
(
    SELECT * -- Selects all columns and rows from the 'countries' table.
    FROM countries
)  
WITH NO DATA; -- Specifies that the newly created 'dup_countries' table should not contain any data.

Explanation:

  • The CREATE TABLE ... AS statement creates a new table based on the result set of a query.
  • In this case, the result set is generated by selecting all columns and rows from the existing 'countries' table.
  • The WITH NO DATA clause specifies that the new table 'dup_countries' should have the same structure as the 'countries' table but should not copy any data.
  • This effectively creates an empty table with the same structure as the 'countries' table.

Output:

postgres=# CREATE TABLE dup_countries AS (
postgres(# SELECT *
postgres(# FROM countries)
postgres-# WITH NO DATA;
SELECT 0

Here is the command to see the structure of the created table :

postgres=# \d dup_countries
           Table "public.dup_countries"
    Column    |         Type          | Modifiers
--------------+-----------------------+-----------
 country_id   | character varying(3)  |
 country_name | character varying(45) |
 region_id    | numeric(10,0)         |

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a SQL statement to create a simple table countries, including columns country_id,country_name and region_id which already exist.
Next: Write a SQL statement to create a duplicate copy of countries table, including structure and data by name dup_countries.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/postgresql-exercises/create-table/create-table-exercise-3.php