Hoe gebruik je MariaDB CREATE TABLE
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 duplicatie en foutmeldingen te voorkomen.
Wat is CREATE TABLE voor MariaDB?
De CREATE TABLE -instructie in MariaDB wordt gebruikt om een nieuwe tabel aan te maken die later met gegevens kan worden gevuld. Als relationeel databasebeheersysteem (DBMS) gebruikt MariaDB deze tabellen als basis voor alle opslagbewerkingen. Tijdens het aanmaken van de tabel worden afzonderlijke kolommen gedefinieerd en worden de gegevenstypen voor elke kolom gespecificeerd. Tabellen zijn uniek binnen een nieuw aangemaakte database – MariaDB CREATE DATABASE – dus als er al een tabel met dezelfde naam bestaat, wordt er een foutmelding gegenereerd. In de volgende paragrafen beschrijven we hoe u de CREATE TABLE in MariaDB kunt gebruiken en verkennen we de beschikbare opties die u kunt gebruiken.
Syntaxis en werkingsmodus
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
…
);sqlOm dit te doen, maakt u eerst een nieuwe tabel aan en geeft u deze een eigen naam in plaats van de tijdelijke aanduiding ‘Naam_van_tabel’. Alle ASCII-codetekens zijn toegestaan. Vervolgens moeten de afzonderlijke kolommen worden gespecificeerd. Elk van deze kolommen krijgt een eigen naam en gegevenstype dat in deze kolom kan worden opgeslagen. Alle kolommen worden van elkaar gescheiden door komma’s.
OR REPLACE en IF NOT EXISTS
Aangezien tabellen uniek moeten zijn, krijgt u een foutmelding als er al een tabel met dezelfde naam bestaat. Om dit probleem te voorkomen, hebt u twee opties: De optie OR REPLACE controleert 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 aangemaakt. De syntaxis van deze instructie 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,
…
);sqlHoud er echter rekening mee dat de oude tabel wordt overschreven 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
…
);sqlEen andere manier om duplicaties of de daaropvolgende foutmeldingen te vermijden, is optie IF NOT EXISTS. Deze controleert 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 overschreven. Als er geen tabel met deze naam bestaat, wordt er een nieuwe tabel aangemaakt. De bijbehorende 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
…
);sqlVoorbeeld van CREATE TABLE in MariaDB
De functie CREATE TABLE in MariaDB kan het beste worden geïllustreerd aan de hand van een eenvoudig voorbeeld. We maken een tabel voor een fictieve projectlijst 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)
);sqlIn de eerste stap maken we een nieuwe tabel aan en noemen deze ‘Projecten’. In de volgende rijen specificeren we de afzonderlijke kolommen:
- project_number: In deze kolom wordt een individueel nummer aan het project toegekend. Dit wordt behandeld als een primaire sleutel en wordt daarom gebruikt om elke afzonderlijke regel duidelijk toe te wijzen. Met
AUTO_INCREMENTgeven we het programma de opdracht om de invoer in ‘project number’ automatisch voort te zetten om een uniforme volgorde te garanderen. - achternaam: Hier wordt de achternaam van de klant geregistreerd. 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 facturering, kan deze kolom leeg worden gelaten.
- start: In dit gedeelte wordt de start van een doorlopend project vastgelegd. De toegestane waarden zijn een datum in het opgegeven datumformaat of een null-waarde.
- end: ‘end’ beschrijft de deadline of de daadwerkelijke voltooiing van een project. Deze waarden kunnen ook in het formaat
DATEofNULLworden weergegeven. - kosten: Het factuurbedrag wordt in deze kolom vermeld. Het wordt opgeslagen in de indeling
DOUBLE. - taken: Onder ‘taken’ is ruimte voor een korte beschrijving van de diensten die voor het project zijn uitgevoerd. De kolom biedt ruimte voor maximaal 255 tekens en mag niet leeg worden gelaten.
- created_at: De datum waarop het betreffende project is aangemaakt, wordt in de laatste kolom opgeslagen. Deze is gebaseerd op de huidige tijd en datum van het systeem.