2. Πως αλλάζουμε τη δομή ενός πίνακα
Τύποι δεδομένων στην MySQL
Εισαγωγή δεδομένων από αρχείο
Πρόσθετοι τρόποι σύνταξης της Select
2
3. Αλλαγές στη δομή πίνακα γίνονται με την εντολή alter
Υπάρχουν διαφορετικοί τρόποι σύνταξης της alter ανάλογα με το τι θέλουμε να κάνουμε
alter table old_name rename new_name;
alter table table_name drop column column_name;
alter table table_name add column_name column_type;
alter table table_name change old_column_name new_column_name
new_column_type;
1. Να αλλάξετε το όνομα του πίνακα students σε student
2. Να καταργήσετε την κολώνα age
3. Προσθέστε μία στήλη με όνομα ilikia , επιβεβαιώστε τις μέχρι τώρα αλλαγές
4. Ενημερώστε τις εγγραφές ώστε η στήλη ilikia να έχει τη ίδια τιμή δηλ. 22
5. Αλλάξτε το όνομα της στήλης ΑΜ σε regnum και τον τύπο της σε int
3
4. 1. Να αλλάξετε το όνομα του πίνακα students σε student
mysql> alter table students rename student;
2. Να καταργήσετε την κολώνα age
mysql> alter table student drop column age;
3. Προσθέστε μία στήλη με όνομα ilikia , επιβεβαιώστε τις μέχρι τώρα αλλαγές
mysql> alter table student add ilikia tinyint;
4. Ενημερώστε τις εγγραφές ώστε η στήλη ilikia να έχει τη ίδια τιμή δηλ. 22
mysql> Update student set ilikia = 22;
5. Αλλάξτε το όνομα της στήλης ΑΜ σε regnum και τον τύπο της σε int
mysql> alter table student change AM regnum int;
6. Αλλάξτε το όνομα της στήλης ilikia σε age
mysql>alter table student change ilikia age tinyint;
Columns: (regnum, int), name, semester, (age, tinyint)
4
5. Γενικά οι τύποι δεδομένων στη MySQL μπορεί να χωριστούν σε τρεις κατηγορίες:
αριθμητικοί τύποι (γενικά προτιμάτε τους μεγαλύτερους)
αλφαριθμητικοί τύποι και
τύποι ημερομηνίας και χρόνου
5
10. msql>load data [local] infile “filename.ext” into table table_name;
$ pwd
/home/users/34567
filename.ext : full-path name
/home/users/34567/data.txt
$ gedit
Αρχείο κειμένου που
- σε κάθε γραμμή αντιστοιχεί μία εγγραφή και
- οι στήλες του χωρίζονται με tab
10
11. Στη συνέχεια διαγράψτε όλες τις εγγραφές του πίνακα student
Καταχωρήστε σε αρχείο κειμένου τις εγγραφές που βλέπετε παρακάτω και
φορτώστε τις στον πίνακα student
regnum, name, semester, age
121 Steve A 33
145 Graham B 45
646 Yanis A 37
756 Pye B 28
913 Evi A 30
152 George B 33
123 David A 60
178 Paul B 28
199 Eve A 28
11
12. Με τη Select μπορούμε να ταξινομήσουμε ένα πίνακα χωρίς να γράψουμε κώδικα!
Συνήθως οι γλώσσες προγραμματισμού δεν έχουν το sort στα βασικά τους εργαλεία, αλλά
σε libraries όπως η C++ η καθόλου όπως η C
Η μόνη από τις παλαιές γλώσσες που το είχε στα βασικά της εργαλεία ήταν
η COBOL, αλλά και εκεί για να ταξινομηθεί ένας πίνακας χρειάζεται να γράψουμε περίπου
μία σελίδα κώδικα!
select * from table_name order by column1_name,…, columnN_name;
Να ταξινομήσετε τους σπουδαστές ως προς το regnum
Select * from student order by regnum;
Το ίδιο κατά φθίνουσα σειρά
Select * from student order by regnum desc;
12
13. Έκφραση limit
Mπορούμε να περιορίσουμε τα αποτελέσματα μιας αναζήτησης ώστε
να επιστρέφει μόνο το πρώτο record του answer set
select * from students limit 1;
Χαρακτήρες μπαλαντέρ: % και _
Μπορούμε να αναζητήσουμε εγγραφές με βάση μέρος ενός αλφαριθμητικού
- Βρείτε όσα ονόματα περιέχουν ‘a’
select * from student where name like ‘%a%’;
- Όσα αρχίζουν από ‘e’
select * from student where name like ‘e%’;
- Όσα τελειώνουν σε ‘e’
select * from student where name like ‘%e’;
13
14. - Όσα ονόματα έχουν 3 ακριβώς χαρακτήρες
select * from student where name like ‘___’;
- Όσα ονόματα έχουν πρώτο χαρακτήρα το ‘E’ και τρίτο το ‘I’
select * from student where name like ‘E_i%’;
14