You are on page 1of 3

ΑΣΚΗΣΗ 1 – Ορισμός Δεδομένων με SQL

Δημιουργία – Διαγραφή πίνακα


Στόχος
Πως να δημιουργήσουμε ένα πίνακα και να βάλουμε δεδομένα.
Η απλή εκδοχή της Create table

Θυμηθείτε από τη θεωρία:

Η σύνταξη της CREATE TABLE (απλούστερη μορφή) είναι

CREATE TABLE ονομα_πίνακα


(όνομα_πεδίου1 τύπος_δεδομένων [NOT NULL],
όνομα_πεδίου2 τύπος_δεδομένων [NOT NULL],
……………………………………………)

Επεξήγηση:
ονομα_πίνακα: το όνομα του πίνακα μπορεί να περιέχει αριθμούς και γράμματα καθώς και τους ειδικούς
χαρακτήρες @ # $ _ Δεν επιτρέπεται να αρχίζει από αριθμό, να περιέχει κενά και να είναι μεγαλύτερο από 18
χαρακτήρες.
όνομα_πεδίου: Το όνομα του πεδίου ακολουθεί τους ίδιους περιορισμούς με το όνομα του πίνακα.
τύπος_δεδομένων: Καθορίζεται ο τύπος των δεδομένων που θα περιέχει το πεδίο (πχ INTEGER, CHAR(5) κλπ. Οι
δυνατοί τύποι αναφέρονται στον πιο κάτω πίνακα.

Ο τύπος δεδομένων (data type) καθορίζει τι είδος δεδομένων θα περιέχει η στήλη. Ο παρακάτω πίνακας περιέχει
τους πιο συνηθισμένους τύπους δεδομένων της SQL :

Τύπος Δεδομένων Περιγραφή (Description)


(Data Type)

char(size) Περιέχει ένα string σταθερού μήκους που μπορεί να περιέχει γράμματα, αριθμούς και ειδικούς
χαρακτήρες. Το σταθερό μέγεθος καθορίζεται στις παρενθέσεις.

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

Integer ή int Περιέχει έναν ακέραιο αριθμό μεγέθους 4 bytes. Οι τιμές που μπορούν να πάρουν είναι από -
2.147.483.648 έως 2.147.483.648

smallint Μικρός ακέραιος μεγέθους 2 bytes. Οι τιμές που μπορούν να πάρουν είναι από -32.767 έως
32.767.

Decimal(m,n) Δεκαδικός αριθμός με m ψηφία ακέραιο μέρος και n ψηφία δεκαδικό μέρος. Το μέγεθός του
είναι (1+m)/2 bytes

Number(size) Περιέχει έναν αριθμό, όπου ο μέγιστος αριθμός των ψηφίων καθορίζεται στις παρενθέσεις.

Number(size, d) Περιέχει έναν αριθμό, όπου ο μέγιστος αριθμός των ψηφίων καθορίζεται στο size και ο
μέγιστος αριθμός των ψηφίων στα δεξιά της υποδιαστολής καθορίζεται στο d.

Datetime Περιέχει μια ημερομηνία και την ώρα .


1. Δημιουργήστε τους παρακάτω πίνακες

foititis
f_id name surname
Varchar(15) varchar(30) varchar(50)

simmetoxi
s_id f_id m_id
integer Varchar(15) integer
2.

mathima

m_id title semeste Ores_ana_ebdomada


r
integer varchar(80) Char(2) integer

3. Εισάγετε δεδομένα INSERT από lab1_db

Ερωτήματα
Στόχος: Να εξασκηθούν στην υλοποίηση ερωτημάτων στην SQL
Θεωρία

Ένα τυπικό ερώτημα SQL έχει τη μορφή:


select A1,A2,..An
from r1,r2,..rm
where συνθήκη όπου Α1,Α2,..
Αn πεδία από τις σχέσεις (πίνακες) r1,r2…rm

Ο όρος Where
Ο όρος where αντιστοιχεί στη συνθήκη επιλογής. Η συνθήκη εμφανίζεται μετά το where και περιλαμβάνει ιδιότητες των
σχέσεων που εμφανίζονται στο from. Η SQL χρησιμοποιεί τους λογικούς συνδέσμους and, or, not τους τελεστές σύγκρισης
<, >,=, <=, >= και <>. Επίσης περιλαμβάνει τον τελεστή between για να απλουστεύσει τις where που καθορίζουν ότι μια
τιμή είναι μικρότερη και ίση με κάποια τιμή και μεγαλύτερη ή ίση με κάποια άλλη τιμή.

4. Ασκήσεις με SELECT
a. Εμφάνισε όλους τους φοιτητές
b. Εμφάνισε όνομα και κωδικό κάθε φοιτητή
c. Όλους τους φοιτητές που λέγονται George
d. Εμφάνισε όνομα και κωδικό κάθε φοιτητή και μετονομάστε την στήλη F_ID σε ΑΜ
e. Τρέξτε την εντολή SELECT * FROM foititis WHERE surname > 'oinopotis'; σχολιάστε το αποτέλεσμα
f. Εμφάνισε τους τίτλους των μαθημάτων που δεν ανήκουν στο Α εξάμηνο
g. Εμφάνισε το όνομα των φοιτητών που το επίθετό τους αρχίζει με papa
h. Εμφάνισε όλα τα στοιχεία των φοιτητών που το επίθετό τους εμπεριέχει τους χαρακτήρες lo
i. Εμφάνισε τα μαθήματα όπου το id τους να είναι είτε 02 είτε 03
j. Εμφάνισε τους φοιτητές που το όνομά τους ξεκινάει με g και το επίθετό τους αρχίζει με pap ή τελειώνει με ou
k. Εμφάνισε το όνομα και το επώνυμο των φοιτητών που το όνομά τους δεν ξεκινάει με g
l. Εμφάνισε το αποτέλεσμα της πράξης 5*8
m. Εμφάνισε τα ονόματα των φοιτητών που εμφανίζονται μια μόνο φορά
n. Πόσους φοιτητές έχει το ιεκ
o. Πόσους φοιτητές έχει το ιεκ που το επίθετό τους εμπεριέχει το papa
p. Πόσα ονόματα φοιτητών έχουμε
q. Πόσα είναι τα μοναδικά ονόματα των φοιτητών
r. Όλους τους φοιτητές όπου το id τους αρχίζει με 321Μ
s. Εμφάνισε τα ονόματα των φοιτητών που βρίσκονται στον πίνακα συμμετοχή
t. Εμφάνισε τον κωδικό φοιτητή το όνομά του και το μάθημα το οποίο συμμετέχει
u. Εμφάνισε τον κωδικό φοιτητή το όνομά του και το μάθημα το οποίο συμμετέχει και το όνομά του είναι George

5. Σχολιάστε τις παρακάτω δηλώσεις


a. SELECT f_id,name,surname FROM foititis
b. SELECT title,semester,ores_ana_evdomada FROM mathima
c. SELECT name,surname,title,semester,ores_ana_evdomada
FROM foititis,mathima,simmetoxi
WHERE foititis.f_id = simmetoxi.f_id
AND simmetoxi.m_id = mathima.m_id
d. SELECT foititis.f_id, foititis.name, foititis.surname, mathima.title, mathima.semester,
mathima.ores_ana_evdomada FROM foititis,mathima,simmetoxi
WHERE foititis.f_id = simmetoxi.f_id AND simmetoxi.m_id = mathima.m_id
e. SELECT foititis.name, foititis.surname FROM foititis, simmetoxi, mathima
WHERE foititis.f_id = simmetoxi.f_id AND simmetoxi.m_id = mathima.m_id AND mathima.title = 'Βάσεις
Δεδομένων Ι'

You might also like