MariaDB-s ka­su­ta­takse uute tabelite loomiseks käsku CREATE TABLE. Et tagada iga tabeli uni­kaal­sus and­me­baasis, saab kasutada valikuid OR REPLACE ja IF NOT EXISTS, et vältida dub­lee­ri­mist ja vea­tea­teid.

Mis on CREATE TABLE MariaDB jaoks?

MariaDB-s ka­su­ta­takse käsku CREATE TABLE uue tabeli loomiseks, mida saab hiljem andmetega täita. MariaDB on re­lat­sioo­ni­line and­me­ba­asi hal­dus­süs­teem (DBMS), mis kasutab neid tabeleid kõigi sal­ves­tusope­rat­sioo­nide alusena. Tabeli loomisel mää­rat­le­takse üksikud veerud ja täp­sus­ta­takse iga veeru andmetüüp. Tabelid on uues and­me­baasis uni­kaal­sed – MariaDB CREATE DATABASE –, seega kui sama nimega tabel juba olemas on, kuvatakse veateade. Järg­mis­tes jaotistes kir­jel­dame, kuidas kasutada MariaDB-s käsku CREATE TABLE, ja tut­vus­tame sellega seotud võimalusi.

Süntaks ja töörežiim

MariaDB-s järgib CREATE TABLE üldine süntaks alati järgmist põhimõtet:

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

Selleks looge esmalt uus tabel ja andke sellele oma nimi asemel paiga­hoidja „Name_of_table”. Lubatud on kõik ASCII-koodi tä­he­mär­gid. Seejärel tuleb määrata üksikud veerud. Iga veerg saab oma nime ja and­me­tüübi, mida selles veerus võib sal­ves­tada. Kõik veerud on üks­tei­sest komadega eraldatud.

OR REPLACE ja IF NOT EXISTS

Kuna tabelid peavad olema uni­kaal­sed, saate veateate , kui sama nimega tabel juba olemas on. Selle probleemi väl­ti­miseks on teil kaks võimalust: OR REPLACE võimalus kont­rol­lib, kas sama nimega tabel juba and­me­baasis olemas on. Kui see on nii, asen­da­takse vana tabel uuega. Muidu luuakse lihtsalt uus tabel. Selle käsu süntaks on järgmine:

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

Pange siiski tähele, et vana tabel kir­ju­ta­takse üle ja selle sisu kaob. See valik toimib selle koodi lühendina:

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

Teine viis dub­lee­ri­mise või sellest tu­le­ne­vate vea­tea­dete väl­ti­miseks on valik IF NOT EXISTS. See kont­rol­lib, kas and­me­baasis on juba olemas sama nimega tabel. Kui see on nii, saate ainult teate ja tabelit ei kirjutata üle. Kui sellise nimega tabelit ei ole, luuakse uus tabel. Vastav süntaks näeb välja järgmine:

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

Näide CREATE TABLE MariaDB-s

MariaDB-s olevat funkt­siooni CREATE TABLE saab kõige paremini il­lust­ree­rida lihtsa näite abil. Loome tabelit väl­ja­mõel­dud pro­jek­tide nimekirja jaoks, mis sisaldab kaheksat veergu. Struktuur on järgmine:

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

Esimeses etapis loome uue tabeli ja nimetame selle „Projektid”. Järg­mis­tes ridades määrame kindlaks üksikud veerud:

  • project_number: Selles veerus antakse pro­jek­tile in­di­vi­duaalne number. Seda kä­sit­le­takse pri­maar­võt­mena ja seetõttu ka­su­ta­takse seda iga üksiku rea selgeks mää­ra­miseks. Numbriga AUTO_INCREMENT anname prog­ram­mile juhise jätkata au­to­maat­selt „projekti numbri” si­ses­ta­mist, et tagada ühtne järjekord.
  • pe­re­kon­na­nimi: Siia kantakse kliendi pe­re­kon­na­nimi. Sisestus võib olla kuni 50 tähemärki pikk. Piirang NOT NULL tagab, et seda veergu ei saa tühjaks jätta.
  • eesnimi: Veerg „eesnimi” toimib sarnaselt eelmise veeruga. Kuna eesnimi ei ole ar­vel­da­miseks vajalik, võib selle veeru tühjaks jätta.
  • start: Selles osas sal­ves­ta­takse pideva projekti algus. Lubatud väärtused on kuupäev määratud kuu­päe­va­for­maa­dis või null­väär­tus.
  • end: „end” kirjeldab projekti tähtaega või tegelikku lõ­pe­ta­mist. Need väärtused võivad olla ka formaadis DATE või NULL.
  • costs: Selles veerus on kirjas arve summa. See on sal­ves­ta­tud formaadis DOUBLE.
  • tasks: „tasks” all on ruumi projekti raames osutatud teenuste lü­hi­kir­jel­duseks. Veerg mahutab kuni 255 tähemärki ja seda ei tohi tühjaks jätta.
  • created_at: Viimases veerus on sal­ves­ta­tud vastava projekti loomise kuupäev. See põhineb süsteemi praegusel kellaajal ja kuupäeval.
Go to Main Menu