# Kaip naudoti MariaDB CREATE TABLE

MariaDB duomenų bazėje komanda `CREATE TABLE` naudojama naujoms lentelėms kurti. Kad kiekviena lentelė duomenų bazėje būtų unikali, galima naudoti parinktis `OR REPLACE` ir `IF NOT EXISTS`, kad būtų išvengta dubliavimosi ir klaidų pranešimų.

## Kas yra `CREATE TABLE` MariaDB?

MariaDB komanda `CREATE TABLE` naudojama **naujos lentelės**, į kurią vėliau galima įvesti duomenis, **sukūrimui**. Kaip reliacinė duomenų bazių valdymo sistema (DBMS), MariaDB naudoja šias lenteles kaip pagrindą visoms saugojimo operacijoms. Sukuriant lentelę, apibrėžiamos atskiros stulpeliai ir nurodomi kiekvieno stulpelio duomenų tipai. Lentelės yra unikalios naujai sukurtoje duomenų bazėje – [MariaDB CREATE DATABASE](https://www.ionos.com/lt-lt/digitalguide/priegloba/techniniai-klausimai/mariadb-duomenu-bazes-kurimas/) – todėl, jei lentelė su tuo pačiu pavadinimu jau egzistuoja, bus generuojamas klaidos pranešimas. Toliau aprašysime, kaip naudoti `CREATE TABLE` komandą MariaDB ir išnagrinėsime galimas naudoti parinktis.

## Sintaksė ir veikimo režimas

Bendroji MariaDB `CREATE TABLE` sintaksė visada atitinka šį principą:

```sql
CREATE TABLE Name_of_table(
	Name_of_first_column Data_type_of_first_column,
	Name_of_second_column Data_type_of_second_column
	…
);
```

Norėdami tai padaryti, pirmiausia sukurkite naują lentelę ir suteikite jai savo pavadinimą vietoj laikinojo pavadinimo „Name\_of\_table“. Leidžiami visi ASCII kodo simboliai. Tada reikia nurodyti atskiras stulpelius. Kiekvienam iš šių stulpelių suteikiamas **savo pavadinimas ir duomenų tipas**, kuris gali būti saugomas šiame stulpelyje. Visi stulpeliai atskiriami vienas nuo kito kableliais.

## `OR REPLACE` ir `IF NOT EXISTS`

Kadangi lentelės turi būti unikalūs, **jei lentelė su tuo pačiu pavadinimu jau egzistuoja**, gausite klaidos pranešimą. Norėdami išvengti šios problemos, turite dvi galimybes: `OR REPLACE` galimybė patikrina, ar duomenų bazėje jau egzistuoja lentelė su tuo pačiu pavadinimu. Jei taip, **senoji lentelė pakeičiama nauja**. Kitaip, tiesiog sukurta nauja lentelė. Šio teiginio sintaksė atrodo taip:

```sql
CREATE OR REPLACE TABLE Name_of_table(
	Name_of_first_column Data_type_of_first_column,
	Name_of_second_column Data_type_of_second_column,
	…
);
```

Tačiau atkreipkite dėmesį, kad senoji lentelė bus perrašyta, o jos turinys bus prarastas. Ši parinktis veikia kaip trumpas šio kodo variantas:

```sql
DROP TABLE IF EXISTS Name_of_table;
CREATE TABLE Name_of_table (
	Name_of_first_column Data_type_of_first_column,
	Name_of_second_column Data_type_of_second_column
	…
);
```

Kitas būdas išvengti dubliavimosi ar vėlesnių klaidų pranešimų yra `IF NOT EXISTS` variantas. Jis patikrina, ar duomenų bazėje jau yra lentelė su tuo pačiu pavadinimu. Jei taip, gausite tik pranešimą, o **lentelė nebus perrašyta**. Jei lentelės su šiuo pavadinimu nėra, bus sukurta nauja lentelė. Atitinkama sintaksė atrodo taip:

```sql
CREATE TABLE IF NOT EXISTS Name_of_table (
	Name_of_first_column Data_type_of_first_column,
	Name_of_second_column Data_type_of_second_column
	…
);
```

## Pavyzdys `CREATE TABLE` MariaDB

`CREATE TABLE` funkciją MariaDB galima geriausiai iliustruoti paprastu pavyzdžiu. Sukursime lentelę fiktyviam projektų sąrašui, kuriame yra aštuonios stulpeliai. Jos struktūra yra tokia:

```sql
CREATE TABLE Projects(
	Project_number INT AUTO_INCREMENT,
	surname VARCHAR(50) NOT NULL,
	first_name VARCHAR(50),
	start DATE,
	end DATE,
	costs DOUBLE,
	tasks VARCHAR(255) NOT NULL,
	created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY (Project_number)
);
```

Pirmame žingsnyje sukuriame naują lentelę ir pavadiname ją „Projektai“. Toliau esančiose eilutėse nurodome atskiras stulpelius:

- **project\_number**: Šioje skiltyje projektui priskiriamas individualus numeris. Jis laikomas pirminiu raktu, todėl naudojamas aiškiai priskirti kiekvieną atskirą eilutę. Skaičiumi `AUTO_INCREMENT` nurodome programai automatiškai tęsti įrašus „projekto numeris“, kad būtų užtikrinta vienoda seka.
- **pavardė**: čia įrašoma kliento pavardė. Įrašas gali būti iki 50 simbolių ilgio. Apribojimas NOT NULL užtikrina, kad ši skiltis negali būti palikta tuščia.
- **first\_name**: Stulpelis „first\_name“ veikia panašiai kaip ir ankstesnis stulpelis. Tačiau, kadangi vardas nėra reikalingas sąskaitai išrašyti, šis stulpelis gali būti paliktas tuščias.
- **pradžia**: Šioje dalyje įrašoma nuolatinio projekto pradžia. Priimtini reikšmės yra data nurodytu datos formatu arba nulinė reikšmė.
- **end**: „end“ apibūdina projekto terminą arba faktinį užbaigimą. Šios reikšmės taip pat gali būti `DATE` arba `NULL` formatu.
- **costs**: Šioje skiltyje nurodyta sąskaitos suma. Ji saugoma formatu `DOUBLE`.
- **užduotys**: skiltyje „užduotys“ yra vietos trumpam aprašyti projekto metu atliktas paslaugas. Skiltyje yra vietos iki 255 simbolių ir ji neturi būti palikta tuščia.
- **created\_at**: paskutinėje skiltyje saugoma atitinkamo projekto sukūrimo data. Ji pagrįsta dabartiniu sistemos laiku ir data.

Tip Mūsų skaitmeniniame vadove sužinosite viską, ką reikia žinoti apie MariaDB. Pavyzdžiui, paaiškiname, kaip naudoti [MariaDB CREATE USER](https://www.ionos.com/lt-lt/digitalguide/priegloba/techniniai-klausimai/mariadb-create-user/) komandą. Taip pat rasite išsamų MariaDB ir MySQL palyginimą bei viską, ką reikia žinoti apie MariaDB diegimą.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/priegloba/techniniai-klausimai/mariadb-sukurti-lentele/](https://www.ionos.com/lt-lt/digitalguide/priegloba/techniniai-klausimai/mariadb-sukurti-lentele/) for AI/LLM consumption.