V MariaDB se za ustvar­ja­nje novih tabel uporablja ukaz CREATE TABLE. Da bi za­go­to­vi­li, da je vsaka tabela v bazi podatkov edin­stve­na, se lahko uporabita možnosti OR REPLACE in IF NOT EXISTS, s katerima se izognemo pod­va­ja­nju in spo­ro­či­lom o napakah.

Kaj je CREATE TABLE za MariaDB?

Izjava CREATE TABLE v MariaDB se uporablja za ustvar­ja­nje nove tabele, ki jo je mogoče kasneje napolniti s podatki. Kot re­la­cij­ski sistem za upra­vlja­nje po­dat­kov­nih baz (DBMS) MariaDB uporablja te tabele kot osnovo za vse operacije shra­nje­va­nja. Med ustvar­ja­njem tabele se opre­de­li­jo posamezni stolpci in določijo po­dat­kov­ni tipi za vsak stolpec. Tabele so edin­stve­ne znotraj novo ustvar­je­ne baze podatkov – MariaDB CREATE DATABASE –, zato bo v primeru, da že obstaja tabela z enakim imenom, prikazano sporočilo o napaki. V na­sle­dnjih poglavjih bomo opisali, kako upo­ra­blja­ti ukaz CREATE TABLE v MariaDB, in raziskali raz­po­lo­žlji­ve možnosti, ki jih lahko uporabite.

Sintaksa in način delovanja

Splošna sintaksa CREATE TABLE v MariaDB vedno sledi temu načelu:

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

Za to najprej ustvarite novo tabelo in ji dodajte ime namesto začasnega imena »Name_of_table«. Dovoljeni so vsi ASCII-znaki. Nato je treba določiti posamezne stolpce. Vsakemu stolpcu se dodeli ime in tip podatkov, ki se lahko shranijo v tem stolpcu. Vsi stolpci so med seboj ločeni z vejicami.

OR REPLACE in IF NOT EXISTS

Ker morajo biti tabele edin­stve­ne, boste prejeli sporočilo o napaki , če že obstaja tabela z enakim imenom. Da bi se izognili temu problemu, imate dve možnosti: Možnost OR REPLACE preveri, ali v bazi podatkov že obstaja tabela z enakim imenom. Če je tako, se stara tabela nadomesti z novo. V na­spro­tnem primeru se nova tabela preprosto ustvari. Sintaksa te izjave je naslednja:

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,
	…
);
sql

Upo­šte­vaj­te pa, da bo stara tabela prepisana in njena vsebina iz­gu­blje­na. Ta možnost deluje kot skrajšana oblika tega kode:

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
	…
);
sql

Drugi način za iz­o­gi­ba­nje pod­va­ja­nju ali poznejšim spo­ro­či­lom o napakah je možnost IF NOT EXISTS. Ta preveri, ali v bazi podatkov že obstaja tabela z istim imenom. Če je tako, boste prejeli le obvestilo in nobena tabela ne bo prepisana. Če tabele s tem imenom ni, se ustvari nova tabela. Ustrezna sintaksa je naslednja:

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
	…
);
sql

Primer CREATE TABLE v MariaDB

Funkcijo CREATE TABLE v MariaDB lahko najbolje po­na­zo­ri­mo s pre­pro­stim primerom. Ustvarili bomo tabelo za fiktivni seznam projektov, ki vsebuje osem stolpcev. Struktura je naslednja:

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)
);
sql

V prvem koraku ustvarimo novo tabelo in jo po­i­me­nu­je­mo »Projekti«. V na­sle­dnjih vrsticah določimo posamezne stolpce:

  • project_number: V tej stolpcu je projektu dodeljena in­di­vi­du­al­na številka. Ta številka se obravnava kot primarni ključ in se zato uporablja za jasno dodelitev vsake posamezne vrstice. S AUTO_INCREMENT programu naročimo, naj samodejno nadaljuje vnos v polje »project number«, da se zagotovi enotna zaporedja.
  • priimek: Tukaj se vpiše priimek stranke. Vnos lahko vsebuje do 50 znakov. Omejitev NOT NULL za­go­ta­vlja, da ta stolpec ne more ostati prazen.
  • ime: Stolpec »ime« deluje podobno kot prejšnji stolpec. Ker pa ime ni potrebno za iz­sta­vi­tev računa, se ta stolpec lahko pusti prazen.
  • začetek: V tem delu se zabeleži začetek ne­pre­ki­nje­ne­ga projekta. Spre­je­mlji­ve vrednosti so datum v določenem datumu ali ničelna vrednost.
  • end: Stolpec „end“ opisuje rok ali dejanski zaključek projekta. Te vrednosti so lahko tudi v formatu DATE ali NULL.
  • costs: V tej stolpcu je naveden znesek računa. Shranjen je v formatu DOUBLE.
  • naloge: Pod „naloge“ je prostor za kratek opis storitev, ki so bile opra­vlje­ne za projekt. Stolpec ponuja prostor za do 255 znakov in ne sme biti prazen.
  • created_at: V zadnjem stolpcu je shranjen datum ustvar­ja­nja po­sa­me­zne­ga projekta. Ta temelji na trenutnem času in datumu sistema.
Go to Main Menu