Άσκηση 1
Γαροφαλάκη Ράνια – Πρεντάκης Παντελής
Τελευταίες αλλαγές από Γ.Μανάρα
1
 RDBMSs
 Περιβάλλον εργαστηρίου
 Δημιουργία πίνακα
 Δομή πίνακα
 Εισαγωγή εγγραφής
 SQL Conditional Expression
 Διόρθωση εγγραφής
 Διαγραφή εγγραφής
 Διαγραφή πίνακα
2
 Oracle
 DB2
 MS-SQL Server (Access)
 MySQL
 ANSI SQL-92
3
 xenia: MySQL Server
 PC 1-14: Λειτουργικό Linux – MySQL Clients
4
 Εισαγωγή στο τοπικό λειτουργικό σύστημα Linux
◦ username: <AM>
◦ password: freefriday
 Χρήση τοπικού τερματικού (terminal)
5
 Εντολή σύνδεσης από το τερματικό στην MySQL εφαρμογή της
xenia:
$ mysql –u user<AM> –p
Enter password:
password= freefriday
 Αν όλα ΟΚ παίρνουμε το MySQL prompt δηλαδή
mysql>
6
 Εντολή αναζήτησης των βάσεων δεδομένων (ΒΔ) που
υπάρχουν στην MySQL:
mysql> show databases;
 Εντολή δημιουργίας μίας νέας ΒΔ:
mysql> create database db_name;
7
Εντολή έναρξης χρήσης μίας εκ των ΒΔ
που έχουν δημιουργηθεί:
mysql> use db<ΑΜ>;
8
Όλες οι εντολές SQL τερματίζονται με το ;
Αν πατήσετε ENTER πριν τη χρήση του ; έχουμε τις
παρακάτω περιπτώσεις prompt αντί του mysql>
‘> Αναμονή για ‘ – ο επόμενος χαρακτήρας στην εντολή πρέπει να
είναι ‘
“> Αναμονή για “ – ο επόμενος χαρακτήρας στην εντολή πρέπει να
είναι “
-> Νέα Γραμμή – μπορείτε να συνεχίσετε κανονικά να γράφετε την
εντολή σας σε συνέχεια της προηγούμενης γραμμής
Εάν για κάποιο λόγο θέλουμε να ακυρώσουμε μια
εντολή, πληκτρολογούμε c.
9
 Αναζήτηση των πινάκων που υπάρχουν στην DB:
mysql> show tables;
 Δημιουργία πίνακα:
mysql> create table table_name(
column1_name column1_type,
column2_name column2_type,
……,
columnN_name columnN_type);
10
Για την δημιουργία της δομής του πίνακα students
που βλέπουμε παραπάνω, η SQL εντολή είναι:
mysql> create table students(
AM smallint, name varchar(40), age tinyint,
semester varchar(3)
);
11
ΑΜ name age semester
Εντολή απεικόνισης της δομής πίνακα:
mysql> describe table_name;
Στο παράδειγμα του πίνακα students η παραπάνω
εντολή θα έφερνε το ακόλουθο αποτέλεσμα:
mysql> describe students;
12
Εισαγωγή δεδομένων σε πίνακα:
mysql> insert into table_name(column1_name,
column2_name,...,columnN_name)
values(value1,value2,...,valueN);
13
mysql> insert into students (AM,name,age,semester)
values(28374,’John Doe’,23,’D’);
14
ΑΜ name age semester
28374 John Doe 23 D
Εκτελέστε και τις ακόλουθες εντολές:
mysql> insert into students(name,AM,semester)
values(‘John Doe’,28374,‘D’);
mysql> insert into students
values(27834,‘Jane Doe’, 21,‘F’);
mysql> insert into students values(24536,‘Student1’,24,
‘IA’),(23486,‘Student2’,19,‘D’);
mysql> insert into students(name,AM,semester) values
(‘Jake Doe’,29274,‘F’), (‘Jessica Doe’,32284,‘E’);
15
Εντολή απεικόνισης των περιεχομένων ενός πίνακα:
mysql> select * from table_name;
Για τον συγκεκριμένο πίνακα:
mysql> select * from students;
16
ΑΜ name age semester
28374 John Doe 23 D
28374 John Doe NULL D
27834 Jane Doe 21 F
24536 Student1 24 IA
23486 Student2 19 D
29274 Jake Doe NULL F
32284 Jessica Doe NULL E
mysql> select * from students where age=23;
mysql> select * from students
where age=23 and AM=28374;
mysql> select * from students
where age=23 or AM=23486;
mysql> select AM, age from students;
mysql> select AM, age from students
where age=23 and AM=28374;
17
mysql> select * from students;
mysql> select distinct * from students;
mysql> select distinct AM
from students;
mysql> select distinct AM , name
from students;
mysql> select distinct semester
from students;
18
update table_name
set column_name =value
[where condition];
mysql> update students
set semester=’E’
where AM=22222;
mysql> update students
set age = 25
where semester=’D’ and AM=28374;
19
delete from table_name
[where condition];
mysql> delete from students
where semester=’E’;
mysql> delete from students;
20
mysql> truncate students;
mysql> drop table students;
21

SQL0v4

  • 1.
    Άσκηση 1 Γαροφαλάκη Ράνια– Πρεντάκης Παντελής Τελευταίες αλλαγές από Γ.Μανάρα 1
  • 2.
     RDBMSs  Περιβάλλονεργαστηρίου  Δημιουργία πίνακα  Δομή πίνακα  Εισαγωγή εγγραφής  SQL Conditional Expression  Διόρθωση εγγραφής  Διαγραφή εγγραφής  Διαγραφή πίνακα 2
  • 3.
     Oracle  DB2 MS-SQL Server (Access)  MySQL  ANSI SQL-92 3
  • 4.
     xenia: MySQLServer  PC 1-14: Λειτουργικό Linux – MySQL Clients 4
  • 5.
     Εισαγωγή στοτοπικό λειτουργικό σύστημα Linux ◦ username: <AM> ◦ password: freefriday  Χρήση τοπικού τερματικού (terminal) 5
  • 6.
     Εντολή σύνδεσηςαπό το τερματικό στην MySQL εφαρμογή της xenia: $ mysql –u user<AM> –p Enter password: password= freefriday  Αν όλα ΟΚ παίρνουμε το MySQL prompt δηλαδή mysql> 6
  • 7.
     Εντολή αναζήτησηςτων βάσεων δεδομένων (ΒΔ) που υπάρχουν στην MySQL: mysql> show databases;  Εντολή δημιουργίας μίας νέας ΒΔ: mysql> create database db_name; 7
  • 8.
    Εντολή έναρξης χρήσηςμίας εκ των ΒΔ που έχουν δημιουργηθεί: mysql> use db<ΑΜ>; 8
  • 9.
    Όλες οι εντολέςSQL τερματίζονται με το ; Αν πατήσετε ENTER πριν τη χρήση του ; έχουμε τις παρακάτω περιπτώσεις prompt αντί του mysql> ‘> Αναμονή για ‘ – ο επόμενος χαρακτήρας στην εντολή πρέπει να είναι ‘ “> Αναμονή για “ – ο επόμενος χαρακτήρας στην εντολή πρέπει να είναι “ -> Νέα Γραμμή – μπορείτε να συνεχίσετε κανονικά να γράφετε την εντολή σας σε συνέχεια της προηγούμενης γραμμής Εάν για κάποιο λόγο θέλουμε να ακυρώσουμε μια εντολή, πληκτρολογούμε c. 9
  • 10.
     Αναζήτηση τωνπινάκων που υπάρχουν στην DB: mysql> show tables;  Δημιουργία πίνακα: mysql> create table table_name( column1_name column1_type, column2_name column2_type, ……, columnN_name columnN_type); 10
  • 11.
    Για την δημιουργίατης δομής του πίνακα students που βλέπουμε παραπάνω, η SQL εντολή είναι: mysql> create table students( AM smallint, name varchar(40), age tinyint, semester varchar(3) ); 11 ΑΜ name age semester
  • 12.
    Εντολή απεικόνισης τηςδομής πίνακα: mysql> describe table_name; Στο παράδειγμα του πίνακα students η παραπάνω εντολή θα έφερνε το ακόλουθο αποτέλεσμα: mysql> describe students; 12
  • 13.
    Εισαγωγή δεδομένων σεπίνακα: mysql> insert into table_name(column1_name, column2_name,...,columnN_name) values(value1,value2,...,valueN); 13
  • 14.
    mysql> insert intostudents (AM,name,age,semester) values(28374,’John Doe’,23,’D’); 14 ΑΜ name age semester 28374 John Doe 23 D
  • 15.
    Εκτελέστε και τιςακόλουθες εντολές: mysql> insert into students(name,AM,semester) values(‘John Doe’,28374,‘D’); mysql> insert into students values(27834,‘Jane Doe’, 21,‘F’); mysql> insert into students values(24536,‘Student1’,24, ‘IA’),(23486,‘Student2’,19,‘D’); mysql> insert into students(name,AM,semester) values (‘Jake Doe’,29274,‘F’), (‘Jessica Doe’,32284,‘E’); 15
  • 16.
    Εντολή απεικόνισης τωνπεριεχομένων ενός πίνακα: mysql> select * from table_name; Για τον συγκεκριμένο πίνακα: mysql> select * from students; 16 ΑΜ name age semester 28374 John Doe 23 D 28374 John Doe NULL D 27834 Jane Doe 21 F 24536 Student1 24 IA 23486 Student2 19 D 29274 Jake Doe NULL F 32284 Jessica Doe NULL E
  • 17.
    mysql> select *from students where age=23; mysql> select * from students where age=23 and AM=28374; mysql> select * from students where age=23 or AM=23486; mysql> select AM, age from students; mysql> select AM, age from students where age=23 and AM=28374; 17
  • 18.
    mysql> select *from students; mysql> select distinct * from students; mysql> select distinct AM from students; mysql> select distinct AM , name from students; mysql> select distinct semester from students; 18
  • 19.
    update table_name set column_name=value [where condition]; mysql> update students set semester=’E’ where AM=22222; mysql> update students set age = 25 where semester=’D’ and AM=28374; 19
  • 20.
    delete from table_name [wherecondition]; mysql> delete from students where semester=’E’; mysql> delete from students; 20
  • 21.
    mysql> truncate students; mysql>drop table students; 21