SQL Server CREATE, ALTER, DROP Table [Exemple T-SQL]
โก Rezumat inteligent
Tabelele SQL Server stocheazฤ datele รฎn rรขnduri ศi coloane. Transact-SQL utilizeazฤ CREATE TABLE pentru a construi un tabel, ALTER TABLE pentru a adฤuga sau modifica coloane ศi DROP TABLE pentru a elimina tabelul, datele ศi structura sa.

Ce este o masฤ?
Un tabel este un obiect รฎn SQL Server care stocheazฤ datele รฎntr-un format de rรขnd ศi coloanฤ. Diagrama de mai jos prezintฤ rรขndurile ศi respectiv coloanele.
Cum se creeazฤ un tabel รฎn SQL Server cu T-SQL
Primul pas pentru stocarea datelor este crearea unui tabel รฎn Baza de date unde vor fi stocate datele. Dupฤ crearea tabelului, puteศi continua sฤ inseraศi rรขnduri รฎn acesta.
Puteศi crea un tabel รฎn urmฤtoarele moduri:
- T-SQL: creeazฤ un tabel nou prin definirea tuturor coloanelor ศi a tipului lor de date.
- T-SQL: creeazฤ un tabel nou folosind un tabel existent.
- Utilizarea Designerului de tabele.
Sฤ studiem acest lucru รฎn detaliu.
T-SQL: Creaศi un tabel nou prin definirea tuturor coloanelor ศi a tipului lor de date
Mai jos este sintaxa pentru a crea un tabel รฎn SQL Server.
Sintaxฤ:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
Aici,
- Parametrul tableName denotฤ numele tabelului pe care urmeazฤ sฤ-l creaศi.
- Parametrii coloana_1, coloana_2... indicฤ coloanele care trebuie adฤugate รฎn tabel.
- O coloanฤ trebuie specificatฤ fie ca NULL, fie ca NOT NULL. Dacฤ nu specificaศi aceastฤ valoare, SQL Server va lua NULL ca valoare implicitฤ.
Sฤ creฤm un tabel de bazฤ cu douฤ coloane.
Solicitare:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
Pre-cerinศฤ: Selectaศi baza de date รฎn care doriศi sฤ creaศi tabelul.
Pas 1) Executaศi interogarea fฤcรขnd clic pe Executare. รnainte de a executa interogarea, nu existฤ niciun tabel, aศa cum se aratฤ mai jos.
Dupฤ rularea interogฤrii, faceศi clic pe butonul Reรฎmprospฤtare; noul tabel existฤ acum ca ศi Curs, aศa cum se aratฤ mai jos.
Pas 2) Introduceศi cรขteva date. Capturile de ecran de mai jos aratฤ tabelul Curs nou creat, gata sฤ primeascฤ rรขnduri.
Pรขnฤ acum, tabelul existฤ doar, dar nu conศine รฎncฤ date.
Transact-SQL oferฤ instrucศiunea INSERT pentru inserarea datelor รฎntr-un tabel. Cu aceastฤ instrucศiune, puteศi insera unul sau mai multe rรขnduri รฎntr-un tabel.
Sintaxฤ:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
Sintaxa de mai sus prezintฤ forma de bazฤ a comenzii atunci cรขnd se utilizeazฤ cuvรขntul cheie VALUES pentru a insera date รฎntr-un tabel.
Sฤ inserฤm patru rรขnduri folosind comanda INSERT.
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
Imaginea de mai jos aratฤ cฤ inserarea a patru rรขnduri a reuศit.
Pas 3) Utilizaศi instrucศiunea SELECT pentru a vizualiza datele. Pentru a vizualiza datele รฎn SQL Server, utilizaศi urmฤtoarea sintaxฤ:
SELECT expression FROM tableName [WHERE condition];
Exemplu de interogare:
SELECT * FROM COURSE;
Tabelul a fost creat ศi acum conศine patru รฎnregistrฤri. Reศineศi cฤ puteศi crea รฎnregistrฤri cu o valoare duplicatฤ รฎn oricare dintre coloane, deoarece nu existฤ constrรขngeri.
T-SQL: Crearea unui tabel nou folosind un tabel existent
Sฤ presupunem cฤ doriศi un alt tabel similar tabelului CURS creat mai sus, dar aveศi nevoie doar de coloana Nume_curs ศi nu de ID_curs.
Sintaxฤ:
SELECT (Column 1, โฆ) INTO <New Table name> FROM <Old Table name>;
Exemplu de interogare:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
Pas 1) Executaศi interogarea fฤcรขnd clic pe Executare. Se creeazฤ un tabel nou numit NUME_CURSURI cu o coloanฤ ศi patru รฎnregistrฤri copiate din tabelul mai vechi, aศa cum se aratฤ mai jos.
Exemplu de interogare:
SELECT * FROM COURSE_NAMES;
Rezultatul de mai jos listeazฤ cele patru รฎnregistrฤri Course_Name din noul tabel COURSE_NAMES.
Folosind Table Designer
De asemenea, puteศi crea un tabel din SQL Server Management Studio IDE folosind Table Designer.
Pas 1) Faceศi clic dreapta pe Tabel > Nou > Tabel, aศa cum se aratฤ mai jos.
Pas 2) Introduceศi numele coloanelor ศi tipuri de dateศi alegeศi dacฤ fiecare coloanฤ permite valori nule.
Pas 3) Apฤsaศi CTRL+S pentru a salva tabelul ศi introduceศi numele ca Titlu_curs.
Dupฤ ce faceศi clic pe Reรฎmprospฤtare, noul tabel apare cu numele Titlul_cursului ศi o coloanฤ numitฤ Nume_curs, aศa cum se aratฤ mai jos.
Modificaศi tabelul รฎn SQL Server
Existฤ douฤ modalitฤศi de a modifica un tabel รฎn SQL Server:
- T-SQL: modificฤ tabelul prin adฤugarea de noi coloane.
- Utilizarea Designerului de tabele.
T-SQL: Modificaศi tabelul prin inserarea coloanelor
Mai jos este sintaxa comenzii ALTER รฎn SQL:
Sintaxฤ:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Solicitare:
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
Pas 1) Executaศi interogarea fฤcรขnd clic pe Executare. Acum existฤ o nouฤ coloanฤ numitฤ Durata_Coursului รฎn tabelul Titlu_Coursului, aศa cum se aratฤ mai jos.
Folosind Table Designer
De asemenea, puteศi modifica un tabel din interfaศa cu utilizatorul folosind Table Designer.
Pas 1) Faceศi clic dreapta pe tabelul existent > Design, aศa cum se aratฤ mai jos.
Pas 2) Adฤugaศi numele coloanei ca Course_Start_Date ศi selectaศi tipul de date al acesteia.
Pas 3) Apฤsaศi CTRL+S pentru a salva coloana nou adฤugatฤ. O nouฤ coloanฤ numitฤ Course_Start_Date este creatฤ รฎn tabelul Course_Title, aศa cum se aratฤ mai jos.
ศtergeศi tabelul din SQL Server
ศtergeศi un tabel atunci cรขnd nu mai este necesar.
Existฤ douฤ modalitฤศi de a ศterge un tabel รฎn SQL Server:
- Utilizarea SQL Server Management Studio.
- T-SQL: ศterge tabelul cu DROP TABLE.
Utilizarea SQL Server Management Studio
Pas 1) Faceศi clic dreapta pe tabelul existent > ศtergere, pentru tabelul numit Titlul_cursului, aศa cum se aratฤ mai jos.
Pas 2) รn fereastra ศtergere obiect, faceศi clic pe OK.
Tabelul Course_Title este acum ศters din lista de tabele, aศa cum se aratฤ mai jos.
T-SQL: ศtergerea tabelului
Mai jos este sintaxa pentru eliminarea unui tabel.
Sintaxฤ:
DROP TABLE <tableName>;
Parametrul tableName este numele tabelului care urmeazฤ sฤ fie ศters.
Solicitare:
DROP TABLE COURSE_NAMES;
Pas 1) Executaศi interogarea fฤcรขnd clic pe Executare. Tabelul COURSE_NAMES este ศters din lista de tabele, aศa cum se aratฤ mai jos.
Alternativ, sursa afiศeazฤ o comandฤ DELETE TABLE menitฤ sฤ elimine doar rรขndurile (datele), lฤsรขnd structura tabelului intactฤ, astfel รฎncรขt tabelul sฤ poatฤ fi reutilizat ulterior.
Sintaxฤ:
DELETE TABLE <Table name>;
Notฤ: รn T-SQL standard, rรขndurile sunt eliminate cu DELETE FROM <table>ศi o masฤ este golitฤ rapid cu TRUNCATE TABLE <table>; รฎntregul tabel este eliminat cu comanda DROP TABLE, aศa cum se aratฤ mai sus.
Fapte interesante!
- Fiศiere mari, cum ar fi XML sau imagini, pot fi stocate รฎntr-o coloanฤ folosind tipuri de date pentru obiecte mari, cum ar fi VARBINARY(MAX), VARCHAR(MAX) sau tipul XML (SQL Server nu utilizeazฤ Oracle-nume BLOB ศi CLOB).
- DELETE eliminฤ doar rรขndurile ศi poate fi derulatฤ รฎnapoi รฎn cadrul unei tranzacศii, รฎn timp ce DROP eliminฤ รฎntreaga structurฤ a tabelului; รฎn SQL Server, chiar ศi DROP poate fi derulatฤ รฎnapoi atunci cรขnd ruleazฤ รฎn interiorul unei tranzacศii explicite.
























