Εισαγωγή στην MySQL
Οι βάσεις δεδομένων είναι σημαντικές γιατί μπορούμε να αποθηκεύουμε δεδομένα και να τα επεξεργαζόμαστε θέτοντας ερωτήματα (sql queries). Το μεγάλο ερώτημα είναι για ποιόν λόγο να χρησιμοποιούμε βάσεις δεδομένων για την αποθήκευση δεδομένων και οχι απλά αρχεία. Η απάντηση είναι απλή. Γιατί στις βάσεις δεδομένων μπορούμε εύκολα, γρήγορα και αποτελεσματικά να επεξεργαζόμαστε δεδομένα χωρίς να απαιτείται η ανάπτυξη αλγορίθμων αρχειοθέτησης και αναζήτησης στοιχείων. Είναι όλα έτοιμα ανεπτυγμένα στις πλατφόρμες των βάσεων δεδομένων. Μια από αυτές τις πλατφόρμες είναι και η mysql.
Συνεπώς, πρώτα θα μάθουμε να χρησιμοποιούμε την Mysql, και στη συνέχεια θα προγραμματίσουμε web εφαρμογές σε php. Το μόνο που χρειάζεται να κάνουμε είναι να συνδέσουμε το πρόγραμμά μας (που είναι γραμμένο σε php) με την πλατφόρμα της mysql.
Τί είναι η MySQL;
Η mysql είναι λογισμικό που εκτελείται ως server σε κάποιο μηχάνημα το οποίο είναι συνδεδεμένο στο δίκτυο. Για να συνδεθούμε στον mysql server χρειάζεται να γνωρίζουμε την δικτυακή διεύθυνση, το username & password του mysql server.
Εφόσον επιτευχθεί η σύνδεση στον mysql server χρησιμοποιώντας εντολές της php, θέτουμε ερωτήματα για να επεξεργαστούμε τα δεδομένα μας.
Βέβαια, όταν πειραματιζόμαστε με τον mysql server, δεν είναι απαραίτητο να έχουμε ένα μηχάνημα ξεχωριστό για αυτή την δουλειά. Μπορούμε να έχουμε εγκατεστημένο τον mysql server τοπικά στο μηχάνημά μας και να δουλεύουμε απευθείας καλώντας απλώς την τοπική διεύθυνση του Η/Υ μας ως localhost (ip: 127.0.0.1).
Εγκατάσταση της MySQL
Η mysql μπορεί να εγκατασταθεί είτε μέσω της πλατφόρμας της MySQL τοπικά στον Η/Υ μας, είτε χρησιμοποιώντας λογισμικό εγκατάστασης που εγκαθιστά μια σειρά απο servers εύκολα και γρήγορα στον Η/Υ μας. Τέτοια εργαλεία είναι το XAMPP και το WAMPP τα οποία διανέμονται δωρεάν. Μπορείτε να επιλέξετε αυτό που σας βολεύει καλύτερα και να το χρησιμοποιήσετε. Στα παραδείγματά μας εμείς θα χρησιμοποιήσουμε τον XAMPP.
Μπορείτε να τα κατεβάσετε από τις παρακάτω διευθύνσεις:
XAMPP -> https://www.apachefriends.org/download.html
WAMPP -> http://www.wampserver.com/en/
Διαχείριση MySQL
Όπως αναφέρθηκε προηγουμένως, η mysql είναι μια πλατφόρμα διαχείρισης βάσεων δεδομένων η οποία εκτελείται ως server. Αυτό σημαίνει οτι για να διαχειριστούμε την βάση δεδομένων μας, θα πρέπει να συνδεθούμε με κάποιον τρόπο στον server. Εφόσον συνδεθούμε, θα πρέπει να δηλώσουμε εντολές για να δημιουργήσουμε μια βάση δεδομένων, αλλά και γενικότερα για να διαχειριστούμε τις βάσεις μας. Υπάρχουν διάφοροι τρόποι διαχείρισης βάσεων δεδομένων σε mysql. Συγκεκριμένα:
- Μέσω command line (hardcore καταστάσεις!)
- phpMyAdmin (μέσω web browser)
- MySqlWorkbench (Desktop εφαρμογή)
Διαχείριση με Command Line των windows (cmd.exe)
Στο command line πληκτρολογούμε εντολές και εκτελούνται απευθείας στον mysql server. Είναι ο πιο απλός, γρήγορος και άμεσος τρόπος διαχείρισης ενός mysql server. Το μειονέκτημα είναι οτι χρειάζεται να πληκτρολογούμε εντολές και αυτός ο τρόπος είναι αρκετά χρονοβόρος. Για αυτό τον λόγο δημιουργήθηκαν εργαλεία εύκολης και γρήγορης διαχείρισης του mysql server όπως αυτά που θα δούμε παρακάτω.
Για να ανοίξουμε το command line πηγαίνουμε στην Έναρξη > Αναζήτηση και πληκτρολογούμε cmd (enter). Θα εμφανιστεί το μαύρο παράθυρο όπως φαίνεται στην παρακάτω εικόνα.
Για να εκτελέσουμε εντολές στην πλατφόρμα της mysql, χρειάζεται να εισέλθουμε στην γραμμή εντολών του Mysql server. Αυτό μπορεί να επιτευχθεί πολύ εύκολα εφόσον έχετε εγκαταστήσει τον XAMPP. Αρχικά θα πάτε στον υποκατάλογο που βρίσκεται η mysql. Συνήθως, βρίσκεται στο path C:\XAMPP\mysql\bin. Για να πάτε εκεί θα πρέπει να πληκτρολογήσετε στο command line την εντολή
cd \xampp\mysql\bin
Στη συνέχεια για να συνδεθείτε στην πλατφόρμα της mysql θα πρέπει πρώτα να έχετε ενεργοποιήσει στον XAMPP τον Apache και την MySQL όπως φαίνεται στην παρακάτω εικόνα.
Για να προχωρήσετε στη σύνδεση θα πληκτρολογήσετε την εντολή:
mysql -u root -p
Όταν σας ζητηθεί κωδικός θα πατήσετε απλώς ENTER και θα βρεθείτε στο παρακάτω περιβάλλον.
Δημιουργία Βάσης Δεδομένων
Μέσω της κονσόλας, μπορούμε απευθείας με εντολές να δημιουργήσουμε μία βάση δεδομένων με το παρακάτω query. Θα ονομάσουμε την Βάση μας myNewDB. Βέβαια, μπορείτε να χρησιμοποιήσετε ένα όνομα της επιλογής σας.
CREATE DATABASE myNewDB;
Στη συνέχεια για να δούμε αν όντως δημιουργήθηκε η Βάση Δεδομένων μας, πληκτρολογούμε την εντολή
SHOW DATABASES;
Το αποτέλεσμα φαίνεται στην παρακάτω εικόνα.
Δημιουργία πίνακα
Πριν δημιουργήσουμε τους πίνακες στην Βάση Δεδομένων μας, πρέπει πρώτα να ενημερώσουμε την mysql σε ποιά Βάση Δεδομένων θα εργαστούμε. Αυτό το δηλώνουμε με την εντολή:
USE myNewDB;
Στη συνέχεια, θα δημιουργούμε έναν πίνακα με όνομα Students
που θα αποθηκεύουμε τις email διευθύνσεις των φοιτητών.Θα δημιουργήσουμε τον πίνακά μας με την εντολή CREATE
συγκεκριμένα:
CREATE TABLE `Students` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`email` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Εαν επιθυμούμε να δούμε την δομή ενός πίνακα, τότε αυτό επιτυγχάνεται με την εντολή DESCRIBE
.
DESCRIBE Students;
Δημιουργία νέας εγγραφής
Εισάγουμε εγγραφές στον πίνακά μας με την εντολή INSERT
.
INSERT INTO students (email)
VALUES ('bill@eti.edu.gr');
Σε περίπτωση όμως που θέλουμε να εισάγουμε πολλαπλά δεδομένα με ένα query, τότε η INSERT μπορεί να συνταχθεί και έτσι:
INSERT INTO students (email)
VALUES ('bill@eti.edu.gr'),
('steve@eti.edu.gr'),
('nick@eti.edu.gr'),
('john@eti.edu.gr');
Για να δούμε τα περιεχόμενα ενός πίνακα, χρησιμοποιούμε την εντολή SELECT
. Τον αστερίσκο τον χρησιμοποιούμε για να επιλέξουμε όλα τα πεδία. Στην συγκεκριμένη περίπτωση όμως έχουμε μόνο ένα πεδίο, το email. Το αποτέλεσμα θα ήταν το ίδιο αν γράφαμε SELECT email FROM Students;
.
SELECT * FROM Students;
Διαχείριση της mysql με το phpMyAdmin
Το phpMyAdmin είναι μια web εφαρμογή η οποία τρέχει στον web server. Εφόσον είναι web εφαρμογή, για την λειτουργία της χρειάζεται να τρέχει στον Η/Υ μας ένας web server (Apache) και ένας MySql server. Το καλύτερο εργαλείο που τα εγκαθιστά αυτόματα όλα αυτά είναι το XAMPP.
Από τη στιγμή που χρησιμοποιούμε το XAMPP, αυτομάτως έχουν εγκατασταθεί ο web server (Apache) και ο Database Server (mysql) τοπικά στον Η/Υ μας οπότε μέσω του web browser μπορούμε να φορτώσουμε το phpMyAdmin δίνοντας την διεύθυνση localhost/phpmyadmin.