In MariaDB wordt het commando CREATE TABLE gebruikt om nieuwe tabellen aan te maken. Om ervoor te zorgen dat elke tabel uniek is binnen de database, kunnen de opties OR REPLACE en IF NOT EXISTS worden gebruikt om du­pli­ca­tie en fout­mel­din­gen te voorkomen.

Wat is CREATE TABLE voor MariaDB?

De CREATE TABLE -in­struc­tie in MariaDB wordt gebruikt om een nieuwe tabel aan te maken die later met gegevens kan worden gevuld. Als re­la­ti­o­neel da­ta­ba­se­be­heer­sys­teem (DBMS) gebruikt MariaDB deze tabellen als basis voor alle op­slag­be­wer­kin­gen. Tijdens het aanmaken van de tabel worden af­zon­der­lij­ke kolommen ge­de­fi­ni­eerd en worden de ge­ge­vens­ty­pen voor elke kolom ge­spe­ci­fi­ceerd. Tabellen zijn uniek binnen een nieuw aan­ge­maak­te database – MariaDB CREATE DATABASE – dus als er al een tabel met dezelfde naam bestaat, wordt er een fout­mel­ding ge­ge­ne­reerd. In de volgende pa­ra­gra­fen be­schrij­ven we hoe u de CREATE TABLE in MariaDB kunt gebruiken en verkennen we de be­schik­ba­re opties die u kunt gebruiken.

Syntaxis en wer­kings­mo­dus

De algemene syntaxis van CREATE TABLE in MariaDB volgt altijd dit principe:

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

Om dit te doen, maakt u eerst een nieuwe tabel aan en geeft u deze een eigen naam in plaats van de tij­de­lij­ke aan­dui­ding ‘Naam_van_tabel’. Alle ASCII-co­de­te­kens zijn toe­ge­staan. Ver­vol­gens moeten de af­zon­der­lij­ke kolommen worden ge­spe­ci­fi­ceerd. Elk van deze kolommen krijgt een eigen naam en ge­ge­vens­ty­pe dat in deze kolom kan worden op­ge­sla­gen. Alle kolommen worden van elkaar ge­schei­den door komma’s.

OR REPLACE en IF NOT EXISTS

Aangezien tabellen uniek moeten zijn, krijgt u een fout­mel­ding als er al een tabel met dezelfde naam bestaat. Om dit probleem te voorkomen, hebt u twee opties: De optie OR REPLACE con­tro­leert of er al een tabel met dezelfde naam in de database bestaat. Als dit het geval is, wordt de oude tabel vervangen door de nieuwe. Anders wordt de nieuwe tabel gewoon aan­ge­maakt. De syntaxis van deze in­struc­tie ziet er als volgt uit:

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

Houd er echter rekening mee dat de oude tabel wordt over­schre­ven en dat de inhoud ervan verloren gaat. De optie werkt als een verkorte vorm van deze code:

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

Een andere manier om du­pli­ca­ties of de daar­op­vol­gen­de fout­mel­din­gen te vermijden, is optie IF NOT EXISTS. Deze con­tro­leert of er al een tabel met dezelfde naam in de database bestaat. Als dit het geval is, ontvangt u alleen een melding en wordt er geen tabel over­schre­ven. Als er geen tabel met deze naam bestaat, wordt er een nieuwe tabel aan­ge­maakt. De bij­be­ho­ren­de syntaxis ziet er als volgt uit:

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

Voorbeeld van CREATE TABLE in MariaDB

De functie CREATE TABLE in MariaDB kan het beste worden ge­ïl­lu­streerd aan de hand van een eenvoudig voorbeeld. We maken een tabel voor een fictieve pro­ject­lijst met acht kolommen. De structuur is als volgt:

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

In de eerste stap maken we een nieuwe tabel aan en noemen deze ‘Projecten’. In de volgende rijen spe­ci­fi­ce­ren we de af­zon­der­lij­ke kolommen:

  • project_number: In deze kolom wordt een in­di­vi­du­eel nummer aan het project toegekend. Dit wordt behandeld als een primaire sleutel en wordt daarom gebruikt om elke af­zon­der­lij­ke regel duidelijk toe te wijzen. Met AUTO_INCREMENT geven we het programma de opdracht om de invoer in ‘project number’ au­to­ma­tisch voort te zetten om een uniforme volgorde te ga­ran­de­ren.
  • ach­ter­naam: Hier wordt de ach­ter­naam van de klant ge­re­gi­streerd. De invoer kan maximaal 50 tekens lang zijn. De NOT NULL-beperking zorgt ervoor dat deze kolom niet leeg kan blijven.
  • voornaam: De kolom ‘voornaam’ werkt op dezelfde manier als de vorige kolom. Aangezien de voornaam echter niet vereist is voor de fac­tu­re­ring, kan deze kolom leeg worden gelaten.
  • start: In dit gedeelte wordt de start van een door­lo­pend project vast­ge­legd. De toe­ge­sta­ne waarden zijn een datum in het opgegeven da­tum­for­maat of een null-waarde.
  • end: ‘end’ be­schrijft de deadline of de daad­wer­ke­lij­ke vol­tooi­ing van een project. Deze waarden kunnen ook in het formaat DATE of NULL worden weer­ge­ge­ven.
  • kosten: Het fac­tuur­be­drag wordt in deze kolom vermeld. Het wordt op­ge­sla­gen in de indeling DOUBLE.
  • taken: Onder ‘taken’ is ruimte voor een korte be­schrij­ving van de diensten die voor het project zijn uit­ge­voerd. De kolom biedt ruimte voor maximaal 255 tekens en mag niet leeg worden gelaten.
  • created_at: De datum waarop het be­tref­fen­de project is aan­ge­maakt, wordt in de laatste kolom op­ge­sla­gen. Deze is gebaseerd op de huidige tijd en datum van het systeem.
Ga naar hoofdmenu