PHP Δημιουργία MySQL Βάσης Δεδομένων

Η βάση δεδομένων περιέχει μια ή περισσότερες τάβλες.

Δημιουργία βάσης δεδομένων

Η πρόταση CREATE DATABASE χρησιμοποιείται για τη δημιουργία βάσεων δεδομένων σε MySQL.

Γλώσσα

CREATE DATABASE database_name

Για να εκτελέσει το PHP τις παραπάνω εντολές, πρέπει να χρησιμοποιήσουμε τη συνάρτηση mysql_query(). Αυτή η συνάρτηση χρησιμοποιείται για να στείλουμε ερωτήσεις ή εντολές σε μια σύνδεση MySQL.

Παράδειγμα

Στο παρακάτω παράδειγμα δημιουργούμε μια βάση δεδομένων με το όνομα "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Δεν μπορώ να συνδεθώ: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Δημιουργία βάσης δεδομένων επιτυχής";
  }
else
  {
  echo "Σφάλμα δημιουργίας βάσης δεδομένων: " . mysql_error();
  }
mysql_close($con);
?>

Δημιουργία τεμπέλων

CREATE TABLE χρησιμοποιείται για τη δημιουργία τεμπέλων σε MySQL.

Γλώσσα

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
......
)

Για να εκτελέσουμε αυτή την εντολή, πρέπει να προσθέσουμε την πρόταση CREATE TABLE στη συνάρτηση mysql_query()

Παράδειγμα

Το παρακάτω παράδειγμα δείχνει πώς να δημιουργήσουμε ένα τραπέζι με το όνομα "Persons", το οποίο έχει τρία κελιά. Οι ονόματα των κελιών είναι "FirstName", "LastName" και "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Δεν μπορώ να συνδεθώ: ' . mysql_error());
  }
// Δημιουργία βάσης δεδομένων
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Δημιουργία βάσης δεδομένων επιτυχής";
  }
else
  {
  echo "Σφάλμα δημιουργίας βάσης δεδομένων: " . mysql_error();
  }
// Δημιουργία τύμπας στη βάση δεδομένων my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons 
(
Όνομα varchar(15),
Επίθετο varchar(15),
Άνθρωπος int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

Σημαντική σημείωση:Στην δημιουργία της τύμπας, πρέπει πρώτα να επιλέξετε τη βάση δεδομένων. Χρησιμοποιήστε τη συνάρτηση mysql_select_db() για να επιλέξετε τη βάση δεδομένων.

Σημείωση:Όταν δημιουργείτε πεδίο της μορφής varchar στη βάση δεδομένων, πρέπει να καθορίσετε το μέγιστο μήκος του πεδίου, π.χ.: varchar(15).

Τύποι δεδομένων MySQL

η παρακάτω λίστα με τους διαθέσιμους τύπους δεδομένων MySQL:

μορφή δεδομένων αριθμητική Περιγραφή
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
υποστηρίζει μόνο ακέραιους αριθμούς. Καθορίζεται η μέγιστη τιμή του αριθμού στο παράμέτρο size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

υποστηρίζει αριθμούς με δεκαδικά.

καθορίζεται η μέγιστη τιμή του αριθμού στο παράμέτρο size. Καθορίζεται η μέγιστη τιμή των αριθμών στα δεξιά από το σημείο στο παράμέτρο d.

μορφή δεδομένων κειμένου Περιγραφή
char(size)

υποστηρίζει συμβολοσειρές σταθερού μήκους. (Μπορεί να περιέχει γράμματα, αριθμούς και ειδικούς χαρακτήρες).

καθορίζεται η σταθερή μήκος στο παράμέτρο size.

varchar(size)

υποστηρίζει συμβολοσειρές μεταβλητής μήκους. (Μπορεί να περιέχει γράμματα, αριθμούς και ειδικούς χαρακτήρες).

καθορίζεται η μέγιστη μήκος στο παράμέτρο size.

tinytext υποστηρίζει συμβολοσειρές μεταβλητής μήκους, με μέγιστο μήκος 255 χαρακτήρων.
  • text
  • blob
υποστηρίζει συμβολοσειρές μεταβλητής μήκους, με μέγιστο μήκος 65535 χαρακτήρων.
  • mediumtext
  • mediumblob
υποστηρίζει συμβολοσειρές μεταβλητής μήκους, με μέγιστο μήκος 16777215 χαρακτήρων.
  • longtext
  • longblob
υποστηρίζει συμβολοσειρές μεταβλητής μήκους, με μέγιστο μήκος 4294967295 χαρακτήρων.
μορφή δεδομένων ημερομηνίας Περιγραφή
  • ημερομηνία(yyyy-mm-dd)
  • χρονομετρία(yyyy-mm-dd hh:mm:ss)
  • χρονοσφίγγες(yyyymmddhhmmss)
  • χρόνος(hh:mm:ss)
Υποστηρίζει ημερομηνίες ή ώρες
Διάφοροι Δεδομένα Τύπου Περιγραφή
enum(value1,value2,ect) ENUM είναι η συντομευμένη μορφή της λέξης ENUMERATED. Μπορεί να περιέχει μέχρι 65535 τιμές.
set SET είναι παρόμοιο με ENUM. Ωστόσο, το SET μπορεί να έχει μέχρι 64 αντικείμενα λίστας και μπορεί να αποθηκεύσει περισσότερες από μια επιλογές

Κλειδί Κύριας και Αυτόματη Αύξηση

Κάθε τάβλη πρέπει να έχει ένα κλειδί κύριας.

Το κλειδί κύριας χρησιμοποιείται για την μοναδική ταυτότητα των γραμμών στη τάβλη. Κάθε τιμή κλειδιού κύριας πρέπει να είναι μοναδική στη τάβλη. Επιπλέον, το πεδίο κλειδιού κύριας δεν μπορεί να είναι κενό, καθώς ο μηχανισμός της βάσης δεδομένων χρειάζεται μια τιμή για να εντοπίσει το ρεκόδο.

Το κλειδί κύριας πρέπει πάντα να είναι καταχωρημένο στο ευρετήριο. Αυτή η ρύθμιση δεν έχει εξαίρεση. Πρέπει να καταχωρήσετε το κλειδί κύριας στο ευρετήριο, ώστε ο μηχανισμός της βάσης δεδομένων να μπορεί να εντοπίσει γρήγορα τις γραμμές που αντιστοιχούν στο κλειδί.

Το παρακάτω παράδειγμα ρυθμίζει το πεδίο personID ως κλειδί κύριας. Το κλειδί κύριας είναι συνήθως ο αριθμός ID και συνήθως χρησιμοποιείται το AUTO_INCREMENT. Το AUTO_INCREMENT αυξάνει την τιμή του πεδίου αυτόματα όταν προστίθεται νέο ρεκόδο. Για να διασφαλίσουμε ότι το πεδίο κλειδιού κύριας δεν είναι κενό, πρέπει να προσθέσουμε τη ρύθμιση NOT NULL στο πεδίο αυτό.

Παράδειγμα

$sql = "CREATE TABLE Persons 
(
personID int NOT NULL AUTO_INCREMENT, 
Πρωτεύον Κλειδί(personID),
Όνομα varchar(15),
Επίθετο varchar(15),
Άνθρωπος int
)";
mysql_query($sql,$con);