SQL Táblázat létrehozása - példa szintaxissal

Az SQL az egyik legmegbízhatóbb és legegyszerűbb lekérdező nyelv. Világos szintaxist biztosít, amely könnyen olvasható anélkül, hogy elvonná a funkcionalitás jelentését.

Ha szeretne némi előzményt a nyelvről, valamint néhány érdekes tényt, olvassa el az SQL Update Statement cikkem bevezető részét.  

Ebben a cikkben áttekintjük a táblázat SQL-ben történő létrehozásának fontos elemeit. Az SQL előnyben részesített „íze” az SQL Server, de a táblázat létrehozásával kapcsolatos információk meglehetősen mindenütt megtalálhatók az összes SQL-változatban.  

Ha még soha nem használta az SQL-t, vagy nem tudja, mi az a táblázat, ne féljen! Röviden (és nagy vonalakban) a tábla olyan adatbázis-objektum, amely az adatbázis adott részében található összes adatot tartalmazza, vagy tartalmazza. Ezeket az adatokat megnevezett oszlopokban és számozott sorokban tárolja, ami nem ismeretlen, ha valaha is alkalmazott valamilyen táblázatkezelő programot. Minden sor egy teljes adatbázis-rekordot képvisel.

Ha az adatok doboz formában lennének, akkor egy táblázat a raktár polcainak egy része lenne, amelyben ezeket a dobozokat tároljuk.

Nagyban leegyszerűsítem a magyarázatot, és még sok minden más van az SQL táblákban, de ez kívül esik a cikk keretein. Ha a táblázatok részletesebb magyarázatára vágyik, javasoljuk, hogy merüljön el a Microsoft Database Design dokumentációjában.

Mielőtt megtanulnánk, hogyan kell létrehozni a táblázatot, fontos, hogy megtanuljuk, milyen típusú adatokat tárolhatnak ezek az oszlopok és sorok.

Adattípusok

Az SQL táblák tartalmazhatnak szöveget, számokat, szöveg és számok kombinációját, valamint képeket és hivatkozásokat.

Táblázatunk létrehozásakor kijelöljük a sorai és oszlopai által tárolt adatok típusát. Itt vannak az adatok átfogó osztályozása:

  • Hozzávetőleges számok
  • Húrok
  • Dátum idő
  • Unicode karakterláncok
  • Pontos számok
  • Egyéb

Az alábbiakban felsorolok néhány leggyakrabban használt adattípust, de ha többet szeretne az összes adattípusról, akkor felkérem, hogy olvassa el ezt a kimerítő cikket a Microsoft minden típusáról.

Itt vannak a tapasztalataim szerint leggyakrabban használt adattípusok, nem külön sorrendben:

  • char (méret) - rögzített hosszúságú karakterlánc, amely betűket, számokat, speciális karaktereket tartalmazhat
  • varchar (méret) - változó hosszúságú karakterlánc, amely betűket, számokat és speciális karaktereket tartalmazhat
  • logikai érték - A nulla (vagy a 0-val egyenlő értékek) hamis, a nulla nélküli érték igaz
  • int ( méret opcionális ) - legfeljebb 10 karakter hosszúságú szám, negatív és pozitív számokat fogad el
  • bigint ( méret opcionális ) - legfeljebb 19 karakter hosszúságú szám, negatív és pozitív számokat fogad el
  • float (méret, d) - a számot számát mérete által képviselt mérete és a karakterek száma, miután a tizedes képviseli a d
  • dátum - dátum ÉÉÉÉ-HH-NN formátumban
  • dátumidő - dátum idő ÉÉÉ-HH-NN óó: pp: ss formátumban
  • idő - idő hh: mm: ss formátumban

Rendben, most, hogy már tudjuk, hogy a sorok és oszlopok milyen típusú adatokat tartalmazhatnak, térjünk át a szórakoztató részekre!

Tábla létrehozása

Mielőtt elkezdenénk, fontos megjegyezni, hogy minden példámat minden programtól függetlenül bemutatom.

Ha azonban el akarja kezdeni a lekérdezések írását, és nem biztos benne, hogy hol kezdje, nézze meg az SQL Server Management Studio oldalt. Ez egy ingyenes, robusztus program, amelyet széles körben használnak és támogatnak a közösségben.

Alternatív megoldásként számos lehetőség közül választhat, köztük a DB Fiddle, amely lehetővé teszi sémák felépítését és lekérdezések írását közvetlenül a böngészőben.  

Kezdjük egy egyszerű utasítással egy alaptábla létrehozásához:

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

Az datatypeoszlopok bővítése érdekében további paramétereket is felvehetünk :

  • NOT NULL- Ha átadja ezt a paramétert, akkor biztos lehet abban, hogy az oszlop nem tartalmazhat NULLértéket
  • UNIQUE - ennek a paraméternek a megadása megakadályozza, hogy az oszlop többször is megtartsa ugyanazt az értéket
  • UNIQUE KEY- ha átadja ezt a paramétert, akkor az oszlopot egyedi azonosítóként jelöli meg. Lényegében az előző két paraméter kombinációja.

Most létrehozunk egy táblázatot (doggo_info néven, amelynek be kell tartania az adatbázisok azonosító szabványait), hogy információkat tárolhassak a Woof Woof Retreat lakóiról, egy kitalált kutyus napközi gondozásáról :)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

És itt van a most létrehozott vadonatúj asztal:

NévSzínFajtaKorSúlyMagasságFav_FoodFav_ToyNem kedveliAllergiák

Észre fogja venni, hogy a táblázatunk teljesen üres, és ez azért van, mert még nem adtunk hozzá adatokat. Ez meghaladja a cikk kereteit, de azt szerettem volna, ha tisztában van vele.

Hozzon létre egy táblázatot egy meglévő táblázatból

Lehetőség van egy új tábla létrehozására is egy meglévő tábla alapján.

Elég egyszerű, és nem igényel sokkal több szintaxist. Ki kell választanunk a táblázatot és az oszlopokat, amelyekből "másolunk":

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

Tehát a célszerűség kedvéért felvettem néhány adatot a doggo_infotáblázatunkba, és most úgy néz ki, mint az alábbi példa:

NévSzínFajtaKorSúlyMagasságFav_FoodFav_ToyNem kedveliAllergiák
Százszorszéppirosszokásos tacskó1146.lazac ízű darálékgöndör labdamadarak repülnek át az udvaronmacskák, fürdők, tisztaság
fekete / barnásrottweiler34117.szó szerint bármikötélhúzásmaradva a kanapénhallgatni, viselkedni, nem rágalmazni mindent
sammiekönnyű édesemarany retriever9.4619.marhahús ízű ropogóságyalármás kölyköksenki se tudja

Most létrehozhatunk egy másik táblázatot a táblázatban lévő adatok alapján az doggo_infoalábbi lekérdezés futtatásával:

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

Új táblázatot szeretnénk létrehozni a táblázat összes oszlopával, doggo_infode csak ott, ahol az Ageérték kisebb, mint 4. A lekérdezés futtatása után az új táblázatunk így fog kinézni:

NévSzínFajtaKorSúlyMagasságFav_FoodFav_ToyNem kedveliAllergiák
Százszorszéppirosszokásos tacskó1146.lazac ízű darálékgöndör labdamadarak repülnek át az udvaronmacskák, fürdők, tisztaság
fekete / barnásrottweiler34117.szó szerint bármikötélhúzásmaradva a kanapénhallgatni, viselkedni, nem rágalmazni mindent

Remélem, meglátja, milyen erős lehet ez a kijelentés. Lekérdezésünk néhány sorával lényegében adatokat másoltunk át az egyik táblából a másikba, de csak azokat a sorokat, amelyeket kívántunk.  

Ez nem csak egy praktikus eszköz, amelyet a fejlesztői szerszámöv tartalmazhat - ez megmondhatatlan időt takarít meg, amikor adatokat kell mozgatnia a táblák körül.

Csomagolás

Most, hogy tudja, hogyan készítsen (vagy másoljon) egy táblázatot az SQL-ben, függetlenül attól, hogy milyen helyzetben van, megkezdheti az oszlopok és sorok tárolására szolgáló adatokat!

Az CREATE TABLEállítás rendkívül hasznos és erőteljes. Készen áll a jó hasznára.

Ha hasznosnak találta ezt a cikket, nézze meg a blogomat, ahol gyakran teszek közzé cikkeket a webfejlesztésről, az életről és a tanulásról.

Amíg ott vagy, miért nem iratkozol fel a hírlevelemre? Ezt megteheti a fő blogoldal jobb felső sarkában. Szeretnék időnként érdekes cikkeket (az enyémet és másokat), erőforrásokat és eszközöket küldeni a fejlesztőknek.

Ha kérdése van ezzel a cikkel kapcsolatban, vagy csak általánosságban tudassa velem - jöjjön el köszönni a Twitteren vagy bármely más közösségi médiafiókomon, amelyet a hírlevél alatt talál, iratkozzon fel a blogom főoldalára vagy a profilomra itt: fCC :)

Van egy fantasztikus napod! Boldog tanulást és boldog kódolást, barátom!