🛢️
PostgreSQL
Grokking Algorithm
  • Content
  • Environment
  • Getting Started
    • Introduction
      • What is PostgreSQL
      • Introduction to PostgreSQL sample database
    • Postgres on Windows
      • Install PostgreSQL on Windows
      • Connect to PostgreSQL database server
      • Load the sample database into the PostgreSQL database server
    • Postgres on Linux
    • Install PostgreSQL on macOS
  • Basic
    • Querying Data
      • SELECT
      • Column alias
      • ORDER BY
      • SELECT DISTINCT
    • Filtering Data
      • WHERE
      • AND
      • OR
      • LIMIT
      • FETCH
      • IN
      • BETWEEN
      • LIKE
      • IS NULL
    • Joining Multiple tables
      • Joins
      • Table aliases
      • INNER JOIN
      • LEFT JOIN
      • RIGHT JOIN
      • SELF JOIN
      • FULL OUTER JOIN
      • CROSS JOIN
      • NATURAL JOIN
    • Grouping data
      • GROUP BY
      • HAVING
    • Set Operations
      • UNION
      • INTERSECT
      • EXCEPT
    • Grouping sets, Cube, and Rollup
      • Grouping sets
      • CUBE
      • ROLLUP
    • Subquery
      • Subquery
      • ANY
      • ALL
      • EXISTS
    • Common Table Expressions
      • PostgreSQL CTE
      • Recursive query using CTEs
    • Modifying Data
      • Insert
      • Insert multiple rows
      • Update
      • Update join
      • Delete
      • Upsert
    • Transactions
      • PostgreSQL Transaction
    • Import & Export Data
      • Import CSV file into Table
      • Export PostgreSQL Table to CSV file
    • Managing Tables
      • Data types
      • Create a table
      • Select into
      • Create table as
      • Auto-increment
      • Sequences
      • Identity column
      • Alter table
      • Rename table
      • Add column
      • Drop column
      • Change column data type
      • Rename column
      • Drop table
      • Truncate table
      • Temporary table
      • Copy a table
    • Understanding PostgreSQL constraints
      • Primary key
      • Foreign key
      • UNIQUE constraint
      • CHECK constraint
      • NOT NULL constraint
    • PostgreSQL Data Types in Depth
      • Boolean
      • CHAR, VARCHAR and TEXT
      • NUMERIC
      • Integer
      • DATE
      • Timestamp
      • Interval
      • TIME
      • UUID
      • Array
      • hstore
      • JSON
      • User-defined data types
  • Advanced
  • PG-PGSQL
  • Functions
  • Adminstration
  • API
Powered by GitBook
On this page
  • PostgreSQL DROP TABLE misollari
  • 1. Mavjud bo'lmagan jadvalni tashlang
  • 2. Bog'liq ob'ektlari bo'lgan jadvalni tashlang
  • 3. Bir nechta jadvallarni tashlang
  • Xulosa

Was this helpful?

Edit on GitHub
  1. Basic
  2. Managing Tables

Drop table

Ushbu qo'llanmada siz mavjud jadvallarni ma'lumotlar bazasidan olib tashlash uchun PostgreSQL DROP TABLE bayonotidan qanday foydalanishni o'rganasiz.

Ma'lumotlar bazasidan jadvalni olib tashlash uchun siz DROP TABLE iborasidan quyidagi tarzda foydalanasiz:

DROP TABLE [IF EXISTS] table_name 
[CASCADE | RESTRICT];

Ushbu sintaksisda:

  • Birinchidan, DROP TABLE kalit so'zlaridan keyin qo'ymoqchi bo'lgan jadval nomini belgilang.

  • Ikkinchidan, agar mavjud bo'lsa, jadvalni o'chirish uchun IF EXISTS variantidan foydalaning.

Agar mavjud bo'lmagan jadvalni olib tashlasangiz, PostgreSQL xatolik chiqaradi. Bunday vaziyatdan qochish uchun siz IF EXISTS opsiyasidan foydalanishingiz mumkin.

Agar siz olib tashlamoqchi bo'lgan jadval ko'rinishlar, triggerlar, funktsiyalar va saqlangan protseduralar kabi boshqa ob'ektlarda ishlatilsa, DROP TABLE jadvalni o'chira olmaydi. Bunday holda sizda ikkita variant mavjud:

  • CASCADE opsiyasi jadval va unga bog'liq ob'ektlarni olib tashlash imkonini beradi.

  • RESTRICT opsiyasi jadvalga bog'liq bo'lgan ob'ekt mavjud bo'lsa, olib tashlashni rad etadi. Agar siz uni DROP TABLE bayonotida aniq ko'rsatmasangiz, RESTRICT opsiyasida default bo'ladi.

Bir vaqtning o'zida bir nechta jadvallarni o'chirish uchun DROP TABLE kalit so'zlaridan keyin vergul bilan ajratilgan jadvallar ro'yxatini qo'yishingiz mumkin:

DROP TABLE [IF EXISTS] 
   table_name_1,
   table_name_2,
   ...
[CASCADE | RESTRICT];

Jadvallarni o'chirish uchun siz superuser, sxema egasi yoki jadval egasi rollariga ega bo'lishingiz kerakligini unutmang.

PostgreSQL DROP TABLE misollari

Keling, PostgreSQL DROP TABLE bayonotidan foydalanishga misollar keltiraylik

1. Mavjud bo'lmagan jadvalni tashlang

Quyidagi bayonot ma'lumotlar bazasida author deb nomlangan jadvalni olib tashlaydi:

DROP TABLE author;

PostgreSQL xatolik yuz beradi, chunki author jadvali mavjud emas.

[Err] ERROR:  table "author" does not exist

Xatolikka yo'l qo'ymaslik uchun siz IF EXISST opsiyasidan foydalanishingiz mumkin.

DROP TABLE IF EXISTS author;

NOTICE:  table "author" does not exist, skipping DROP TABLE

Natijadan aniq ko'rinib turibdiki, PostgreSQL xato o'rniga bildirishnoma chiqardi.

2. Bog'liq ob'ektlari bo'lgan jadvalni tashlang

Quyidagilar authors va pages deb nomlangan yangi jadvallarni yaratadi:

CREATE TABLE authors (
	author_id INT PRIMARY KEY,
	firstname VARCHAR (50),
	lastname VARCHAR (50)
);

CREATE TABLE pages (
	page_id serial PRIMARY KEY,
	title VARCHAR (255) NOT NULL,
	contents TEXT,
	author_id INT NOT NULL,
	FOREIGN KEY (author_id) 
          REFERENCES authors (author_id)
);

Quyidagi ibora muallif jadvalini o'chirish uchun DROP TABLE dan foydalanadi:

DROP TABLE IF EXISTS authors;

page jadvalidagi cheklov author bog'liq bo'lgani uchun PostgreSQL xato xabari chiqaradi:

ERROR:  cannot drop table authors because other objects depend on it
DETAIL:  constraint pages_author_id_fkey on table pages depends on table authors
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
SQL state: 2BP01

Bunday holda, author jadvalini o'chirishdan oldin barcha bog'liq ob'ektlarni olib tashlashingiz yoki CASCADE opsiyasini quyidagicha ishlatishingiz kerak:

DROP TABLE authors CASCADE;

PostgreSQL page jadvalidagi author va cheklovni olib tashlaydi

Agar DROP TABLE iborasi o'chirilayotgan jadvalning bog'liq ob'ektlarini olib tashlasa, u shunday xabar beradi:

NOTICE:  drop cascades to constraint pages_author_id_fkey on table pages

3. Bir nechta jadvallarni tashlang

Quyidagi bayonotlar demo maqsadlari uchun ikkita jadval yaratadi:

CREATE TABLE tvshows(
	tvshow_id INT GENERATED ALWAYS AS IDENTITY,
	title VARCHAR,
	release_year SMALLINT,
	PRIMARY KEY(tvshow_id)
);

CREATE TABLE animes(
	anime_id INT GENERATED ALWAYS AS IDENTITY,
	title VARCHAR,
	release_year SMALLINT,
	PRIMARY KEY(anime_id)
);

Quyidagi misolda tvshows va animes jadvallarini o'chirish uchun bitta DROP TABLE iborasidan foydalaniladi:

DROP TABLE tvshows, animes;

Xulosa

  • Jadvalni tushirish uchun DROP TABLE iborasidan foydalaning.

  • Jadvalni va unga bog'liq bo'lgan barcha ob'ektlarni tushirish uchun CASCADE opsiyasidan foydalaning.

PreviousRename columnNextTruncate table

Last updated 1 year ago

Was this helpful?

©

postgresqltutorial.com