PHP maakt een MySQL-database
- Vorige pagina MySQL Connect
- Volgende pagina MySQL Insert
Een database bevat een of meerdere tabellen.
Database maken
Het CREATE DATABASE-statement wordt gebruikt om een database te maken in MySQL.
Syntax
CREATE DATABASE database_name
Om de bovenstaande statement uit te voeren, moeten we de mysql_query() functie gebruiken. Deze functie wordt gebruikt om een query of opdracht naar een MySQL-verbinding te sturen.
Voorbeeld
In het volgende voorbeeld maken we een database genaamd "my_db":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database gemaakt"; } else { echo "Fout bij maken van database: " . mysql_error(); } mysql_close($con); ?>
Tabel maken
CREATE TABLE wordt gebruikt om een database tabel te maken in MySQL.
Syntax
CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
Om deze opdracht uit te voeren, moet ik de CREATE TABLE-statement toevoegen aan de mysql_query() functie.
Voorbeeld
Hier is een voorbeeld van hoe je een tabel genaamd "Persons" kunt maken, deze tabel heeft drie kolommen. De kolomnamen zijn "FirstName", "LastName" en "Age":
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // Create database if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database gemaakt"; } else { echo "Fout bij maken van database: " . mysql_error(); } // Maak tabel in database my_db mysql_select_db("my_db", $con); $sql = "CREATE TABLE Persons" ( Voornaam varchar(15), Achternaam varchar(15), Leeftijd int ); mysql_query($sql,$con); mysql_close($con); ?>
Belangrijk:Voor het maken van een tabel moet u eerst een database kiezen. Gebruik de mysql_select_db() functie om een database te kiezen.
Opmerking:Wanneer u een databaseveld van type varchar maakt, moet u de maximale lengte van dat veld aangeven, bijvoorbeeld: varchar(15).
MySQL datatypes
de verschillende MySQL datatypes die beschikbaar zijn:
getaltype | Beschrijving |
---|---|
|
ondersteunt alleen integers. De maximale waarde van het getal wordt gedefinieerd in het size parameter. |
|
ondersteunt getallen met decimalen. defineert de maximale waarde van het getal in het size parameter. In het d parameter wordt de maximale waarde van de cijfers na de komma gedefinieerd. |
tekstgegevens-type | Beschrijving |
---|---|
char(size) |
ondersteunt strings met vaste lengte. (Kan letters, cijfers en speciale symbolen bevatten). defineert een vaste lengte in het size parameter. |
varchar(size) |
ondersteunt strings met variabele lengte. (Kan letters, cijfers en speciale symbolen bevatten). defineert de maximale lengte in het size parameter. |
tinytext | ondersteunt strings met variabele lengte, met een maximale lengte van 255 karakters. |
|
ondersteunt strings met variabele lengte, met een maximale lengte van 65535 karakters. |
|
ondersteunt strings met variabele lengte, met een maximale lengte van 16777215 karakters. |
|
ondersteunt strings met variabele lengte, met een maximale lengte van 4294967295 karakters. |
datumgegevens-type | Beschrijving |
---|---|
|
Ondersteunt datum of tijd |
Algemene datatypes | Beschrijving |
---|---|
enum(value1,value2,ect) | ENUM is een afkorting voor ENUMERATED lijst. Tot 65535 waarden kunnen in haakjes worden opgenomen. |
set | SET is vergelijkbaar met ENUM. Maar SET kan maximaal 64 lijstitems hebben en kan meer dan één keuze bevatten |
Hoofdindex en Auto Increment velden
Elke tabel moet een hoofdindexveld hebben.
Hoofdindexen worden gebruikt om rijen in een tabel uniek te identificeren. Elke waarde van de hoofdindex moet in de tabel uniek zijn. Bovendien kan het hoofdindexveld niet leeg zijn, omdat de database-engine een waarde nodig heeft om de records te lokaliseren.
Hoofdindexvelden moeten altijd worden geïndexeerd. Deze regel heeft geen uitzonderingen. Je moet het hoofdindexveld indexeren, zodat de database-engine snel de rijen met de bijbehorende sleutelwaarden kan lokaliseren.
Het volgende voorbeeld stelt het personID-veld in als hoofdindexveld. Hoofdindexvelden zijn meestal ID-nummers en worden meestal ingesteld op AUTO_INCREMENT. AUTO_INCREMENT zal de waarde van dit veld één voor één verhogen bij het toevoegen van nieuwe records. Om ervoor te zorgen dat het hoofdindexveld niet leeg kan zijn, moeten we NOT NULL instellen op dit veld.
Voorbeeld
$sql = "CREATE TABLE Persons" ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), Voornaam varchar(15), Achternaam varchar(15), Leeftijd int ); mysql_query($sql,$con);
- Vorige pagina MySQL Connect
- Volgende pagina MySQL Insert