SQL Server CREATE, ALTER, DROP táblázat [T-SQL példák]

⚡ Okos összefoglaló

Az SQL Server táblái sorokban és oszlopokban tárolják az adatokat. A Transact-SQL a CREATE TABLE metódust használja a tábla létrehozásához, az ALTER TABLE metódust az oszlopok hozzáadásához vagy módosításához, a DROP TABLE metódust pedig a tábla, annak adatainak és szerkezetének eltávolításához.

  • 🧱 Mi az a tábla: A táblázat sorokban és oszlopokban tárolja az adatokat, és ez az adatbázis alapvető objektuma az adatok tárolására.
  • 🇧🇷 TÁBLÁZAT LÉTREHOZÁSA: A CREATE TABLE utasítás minden oszlopot névvel, adattípussal és NULL vagy NOT NULL beállítással definiál.
  • 📋 Létrehozás meglévőből: A SELECT … INTO parancs a kiválasztott oszlopokat és sorokat másolja egy meglévő táblázatból egy vadonatúj táblázatba.
  • ALTER TABLE: Az ALTER TABLE … ADD parancs új oszlopokat ad hozzá egy táblázathoz anélkül, hogy újra létrehozná azt.
  • 🗑️ LEHETŐ TÁBLÁZAT: A DROP TABLE parancs eltávolítja a teljes táblát, beleértve az adatokat és a struktúráját is.
  • 🖱️ Táblázattervező: Az SQL Server Management Studio vizuálisan is képes táblázatokat létrehozni és módosítani a Table Designer segítségével.

SQL Server CREATE, ALTER és DROP tábla TSQL példákkal

Mi az a táblázat?

A tábla egy objektum a SQL Server amely sor-oszlop formátumban tárolja az adatokat. Az alábbi ábra rendre a sorokat és az oszlopokat mutatja.

Sorokban és oszlopokban tárolt adatokat tároló táblázat diagramja

Táblázat létrehozása SQL Serverben T-SQL-lel

Az adattárolás első lépése egy táblázat létrehozása a adatbázis ahol az adatok tárolni fognak. A táblázat létrehozása után folyamatosan beszúrhat sorokat.

A következő módokon hozhat létre táblázatot:

  • T-SQL: új tábla létrehozása az összes oszlop és adattípusuk definiálásával.
  • T-SQL: új tábla létrehozása egy meglévő tábla felhasználásával.
  • Táblázattervező használata.

Tanulmányozzuk ezt részletesen.

T-SQL: Új tábla létrehozása az összes oszlop és adattípusuk definiálásával

Az alábbiakban egy tábla létrehozásának szintaxisát láthatjuk SQL Serverben.

Syntax:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Itt,

  • A tableName paraméter a létrehozni kívánt tábla nevét jelöli.
  • Az oszlop_1, oszlop_2… paraméterek a táblázathoz hozzáadandó oszlopokat jelölik.
  • Egy oszlopot NULL vagy NOT NULL értékkel kell megadni. Ha nem adjuk meg, az SQL Server a NULL értéket veszi alapértelmezés szerint.

Hozzunk létre egy egyszerű táblázatot két oszloppal.

Keresés:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Előfeltétel: Válassza ki az adatbázist, ahol létre kell hoznia a táblát.

Step 1) Futtassa a lekérdezést a Végrehajtás gombra kattintva. A lekérdezés futtatása előtt nincs tábla, ahogy az alább látható.

Az Objektumkezelő nem mutat kurzustáblát a CREATE utasítás futtatása előtt

A lekérdezés futtatása után kattintson a Frissítés gombra; az új tábla most már Kurzus néven létezik, az alábbiak szerint.

A kurzustábla megjelenik az Objektumkezelőben a végrehajtás és frissítés után

Step 2) Helyezzen be néhány adatot. Az alábbi képernyőképek az újonnan létrehozott Course táblát mutatják, amely készen áll a sorok fogadására.

Az újonnan létrehozott kurzustábla kijelölve az Objektumkezelőben az adatok beillesztése előtt

A kurzustábla szerkezete a két oszlopával az adatok beillesztése előtt

Eddig a tábla csak létezik, de még nincsenek benne adatok.

A Transact-SQL az INSERT utasítást biztosítja adatok táblázatba való beszúrásához. Ezzel az utasítással egy vagy több sort szúrhat be egy táblázatba.

Syntax:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

A fenti szintaxis a parancs alapvető alakját mutatja, amikor a VALUES kulcsszóval adatokat szúrunk be egy táblázatba.

Szúrjunk be négy sort az INSERT paranccsal.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

Az alábbi pillanatkép azt mutatja, hogy a négy sor beszúrása sikeres.

Üzenetek ablaktábla, amely megerősíti a Tanfolyam táblába beszúrt négy sort

Step 3) Az adatok megtekintéséhez használja a SELECT utasítást. Az SQL Serverben az adatok megtekintéséhez használja a következő szintaxist:

SELECT expression
FROM tableName
[WHERE condition];

Példa lekérdezés:

SELECT * FROM COURSE;

A tábla létrejött, és most négy rekordot tartalmaz. Vegye figyelembe, hogy bármelyik oszlopban létrehozhat ismétlődő értékkel rendelkező rekordokat, mivel nincsenek ilyenek. korlátok.

Eredményrács, amely a SELECT által visszaadott négy kurzus sort mutatja

T-SQL: Új tábla létrehozása egy meglévő tábla felhasználásával

Tegyük fel, hogy egy másik, a fent létrehozott COURSE táblához hasonló táblázatot szeretnél, de csak a Course_Name oszlopra van szükséged, a Course_ID-re nem.

Syntax:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

Példa lekérdezés:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

Step 1) Futtassa a lekérdezést a Végrehajtás gombra kattintva. Létrejön egy új tábla COURSE_NAMES néven, egy oszloppal és négy, a régebbi táblából átmásolt rekorddal, az alábbiak szerint.

Új COURSE_NAMES tábla létrehozva egy meglévő táblából a SELECT INTO paranccsal

Példa lekérdezés:

SELECT * FROM COURSE_NAMES;

Az alábbi eredmény felsorolja az új COURSE_NAMES tábla négy Course_Name rekordját.

Eredményrács, amely a Course_Name értékeket mutatja a COURSE_NAMES táblában

A Table Designer használata

Táblázatot is létrehozhatsz a SQL Server Management Studio IDE a Table Designer használatával.

Step 1) Kattintson a jobb gombbal a Táblázat > Új > Táblázat menüpontra, az alább látható módon.

Kattintson a jobb gombbal a Tábla elemre, majd az Új, majd a Tábla elemre az Objektumkezelőben

Step 2) Írd be az oszlopneveket és adattípusok, és válassza ki, hogy az egyes oszlopok engedélyezik-e a null értékeket.

Táblázattervező eszköztár új tábla definiálásához

Táblatervező rács oszlopnevekkel, adattípusokkal és nullértékek engedélyezésével

Step 3) A tábla mentéséhez nyomja meg a CTRL+S billentyűkombinációt, és írja be a nevet Course_Title formátumban.

Válassza a Név párbeszédpanelt az új tábla Course_Title néven történő mentéséhez

A Frissítés gombra kattintás után megjelenik az új tábla Course_Title néven és egy Course_Name nevű oszloppal, az alábbiak szerint.

Course_Title tábla egyetlen Course_Name oszloppal az Object Explorerben

Táblázat módosítása az SQL Serverben

Kétféleképpen módosíthatunk egy táblát az SQL Serverben:

  • T-SQL: módosítsa a táblát új oszlopok hozzáadásával.
  • Táblázattervező használata.

T-SQL: Változtassa meg a táblát oszlopok beszúrásával

Az alábbiakban az ALTER parancs szintaxisa látható SQL-ben:

Syntax:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

Keresés:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

Step 1) Futtassa a lekérdezést a Végrehajtás gombra kattintva. Egy új, Course_Duration nevű oszlop lett létrehozva a Course_Title táblában, az alább látható módon.

ALTER TABLE ADD utasítás a Course_Duration oszlop hozzáadásával

Course_Title oszlopok, beleértve az újonnan hozzáadott Course_Duration oszlopot is

A Table Designer használata

A táblázatokat a felhasználói felületen is módosíthatja a Table Designer segítségével.

Step 1) Kattintson a jobb gombbal a meglévő táblázatra, majd válassza a Tervezés lehetőséget, ahogy az alább látható.

Kattintson jobb gombbal a Course_Title táblára, és válassza a Design (Tervezés) lehetőséget.

Step 2) Adja meg az oszlop nevét Course_Start_Date-ként, és válassza ki az adattípusát.

A Course_Start_Date oszlop és adattípusának hozzáadása a Table Designerben

Step 3) A CTRL+S billentyűkombináció megnyomásával mentse az újonnan hozzáadott oszlopot. Egy új, Course_Start_Date nevű oszlop jön létre a Course_Title táblában, az alább látható módon.

A Course_Title tábla, amely a mentett Course_Start_Date oszlopot mutatja

Táblázat törlése az SQL Serverben

Törölsz egy táblázatot, ha már nincs rá szükség.

Kétféleképpen törölhetünk egy táblát az SQL Serverben:

  • Az SQL Server Management Studio használata.
  • T-SQL: törölje a táblát a DROP TABLE paranccsal.

Az SQL Server Management Studio használata

Step 1) Kattintson jobb gombbal a meglévő táblázatra, majd válassza a Törlés lehetőséget a Course_Title nevű táblázatnál, az alább látható módon.

Kattintson jobb gombbal a Course_Title táblára, és válassza a Törlés lehetőséget.

Step 2) Az Objektum törlése ablakban kattintson az OK gombra.

Objektum törlése megerősítő ablak az OK gombbal

A Course_Title tábla most törlődött a táblalistából, ahogy az alább látható.

Az Object Explorer táblalistája a Course_Title tábla törlése után

T-SQL: Tábla törlése

Az alábbiakban egy táblázat eldobásának szintaxisa látható.

Syntax:

DROP TABLE <tableName>;

A tableName paraméter a törölni kívánt tábla neve.

Keresés:

DROP TABLE COURSE_NAMES;

Step 1) Futtassa a lekérdezést a Végrehajtás gombra kattintva. A COURSE_NAMES tábla törlődik a táblalistából, az alábbiak szerint.

A DROP TABLE utasítás eltávolítja a COURSE_NAMES táblát

Az Objektumböngésző táblalistája a COURSE_NAMES tábla törlése után

Alternatív megoldásként a forrás egy DELETE TABLE parancsot mutat be, amelynek célja, hogy csak a sorokat (adatokat) távolítsa el, miközben a tábla szerkezete érintetlen marad, így a tábla később újra felhasználható.

Syntax:

DELETE TABLE <Table name>;

Jegyzet: A standard T-SQL-ben a sorok eltávolítása a következővel történik: DELETE FROM <table>, és egy asztal gyorsan kiürül TRUNCATE TABLE <table>; a teljes táblázatot a DROP TABLE paranccsal távolítjuk el, a fentiekben látható módon.

Érdekes tények!

  • A nagyméretű fájlok, például az XML vagy a képek oszlopban tárolhatók nagy objektumokra vonatkozó adattípusok, például VARBINARY(MAX), VARCHAR(MAX) vagy az XML típus használatával (az SQL Server nem használja a Oraclestílusú BLOB és CLOB nevek).
  • A DELETE csak a sorokat távolítja el, és egy tranzakción belül visszavonható, míg a DROP a teljes táblaszerkezetet eltávolítja; az SQL Serverben még a DROP is visszavonható, ha egy explicit tranzakción belül fut.

GYIK

A DELETE parancs eltávolítja a kiválasztott sorokat, és teljes mértékben naplózásra kerül. A TRUNCATE parancs gyorsan eltávolítja az összes sort, és visszaállítja az azonosító értékeket. A DROP parancs eltávolítja a teljes táblát, az adatait és a struktúráját is. Az SQL Serverben mindhárom visszaállítható egy explicit tranzakción belül.

Használja a DROP TABLE IF EXISTS table_name metódust, amely az SQL Server 2016 óta érhető el. Eltávolítja a táblát, ha az jelen van, és nem tesz semmit, ha hiányzik, így elkerülve a hibát. Régebbi verziókon a drop előtt ellenőrizze az OBJECT_ID értéket.ping.

Az SQL Server nem rendelkezik RENAME TABLE utasítással. Ehelyett futtassa a rendszer által tárolt sp_rename eljárást, például EXEC sp_rename 'régi_név', 'új_név'. Frissítse a függő nézeteket, eljárásokat és a kódot utána, mert az sp_rename nem módosítja automatikusan ezeket a hivatkozásokat.

Igen. Az ALTER TABLE table ALTER COLUMN oszlop új_típusa parancs megváltoztatja egy oszlop adattípusát, az ALTER TABLE table DROP COLUMN oszlop pedig eltávolítja azt. A módosítás csak akkor sikeres, ha a meglévő adatok kompatibilisek, ezért először tesztelje az átalakításokat, és készítsen biztonsági mentést.

Definiálj meg korlátozásokat a CREATE TABLE függvényen belül, például Course_ID INT PRIMARY KEY, vagy add hozzá őket később az ALTER TABLE ADD CONSTRAINT paranccsal. elsődleges kulcs az egyediséget érvényesíti, miközben a idegen kulcs táblázatok közötti sorokat csatol össze.

Egy # előtaggal elnevezett ideiglenes tábla jön létre a tempdb-ben, és automatikusan törlődik a munkamenet befejezésekor. Egy normál tábla állandó, amíg el nem törli. Az ideiglenes táblák rövid életű köztes eredményekhez használhatók egy kötegben vagy eljárásban.

Igen. GitHub másodpilóta CREATE, ALTER és DROP TABLE szkripteket tud létrehozni természetes nyelvi promptokból, és oszlopokat, adattípusokat és korlátozásokat javasol. A létrehozott sémát, kulcsokat és nullabilitást mindig ellenőrizze, mielőtt éles környezetben futtatná.

A mesterséges intelligencia és a gépi tanulási eszközök a mintaadatok és lekérdezési minták alapján javasolnak táblaszerkezeteket, adattípusokat és indexeket, megjelölik a redundáns vagy túlméretezett oszlopokat, és figyelmeztetnek a kockázatos DROP vagy ALTER műveletekre. A fejlesztő minden javaslatot megerősít, mielőtt alkalmazná.

Foglald össze ezt a bejegyzést a következőképpen: