ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #5

Το θύρηο κέρος ηοσ σιηθού προέρτεηαη από δηαθάλεηες ηοσ Δ. Καηζίθαροσ ( ηολ οποίο εσταρηζηούκε ζερκά

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

MySQL Εργαστήριο #3 Structured Query Language - SQL

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστήριο Βάσεων Δεδομένων

Τμήμα Πληροφορικής ΑΠΘ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Εργαστήριο Βάσεων Δεδομένων. Triggers

Βάσεις Δεδομένων (Databases)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Τμήμα Διοίκησης Επιχειρήσεων

Σχεδιασμός Βάσεων Δεδομένων

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:


ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL


SQL Server 2005 Tutorial Αςκήςεισ. Γεράσιμος Μαρκέτος InfoLab, Τμήμα Ρληροφορικήσ, Ρανεπιςτήμιο Ρειραιϊσ (

Ηλεκτρονικοί Υπολογιστές II

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Εισαγωγή στην πληροφορική

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Σύνολα Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

Κεφ 4: Προχωρημένες Εντολές SQL

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Τεχνολογία Πολιτισμικού Λογισμικού

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαχείριση Πολιτισμικών Δεδομένων

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Ηλεκτρονικοί Υπολογιστές II

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

MySQL Εργαστήριο #2 Γλώσσα Ορισμού Δεδομένων Ακεραιότητα Δεδομένων

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #1

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Βάσεις Δεδομένων. Structured Query Language -SQL. Φροντιστήριο 5 ο

Τεχνολογία Πολιτισμικού Λογισμικού

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διαχείριση χρηστών και δικαιωμάτων

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων (Databases)

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Εργαστήριο Βάσεων Δεδομένων

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

databases linux - terminal (linux / windows terminal)

Βάσεις Δεδομένων (Databases)

Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008

Περιεχόμενα JOIN συνέχεια DELETE UPDATE DROP ALTER check assertion VIEWs

City( ID, Name, CountryCode, District, Population) Country( Code, Name, Continent, Region,...) JOINs SELECT t1.name, t2.name FROM (SELECT Name, Code FROM Country WHERE Continent ='Asia') AS t1 RIGHT OUTER JOIN (SELECT Name, CountryCode FROM City WHERE Population > 4000000) AS t2 ON t2.countrycode = t1.code; http://dev.mysql.com/doc/refman/5.0/en/join.html

City( ID, Name, CountryCode, District, Population) Country( Code, Name, Continent, Region,...) JOINs SELECT t1.name, t2.name FROM (SELECT Name, Code FROM Country WHERE Continent ='Asia') AS t1 LEFT OUTER JOIN (SELECT Name, CountryCode FROM City WHERE Population > 4000000) AS t2 ON t2.countrycode = t1.code;

Δεν υπάρχει στην MySQL 5.0 FULL OUTER JOIN JOINs Μπορεί όμως να εξομειωθεί με την χρήση UNION (το παρακάτω όμως δεν μας δίνει τις σειρές του INNER JOIN...) SELECT t1.name, t2.name FROM (SELECT Name, Code FROM Country WHERE Continent ='Asia') AS t1 RIGHT OUTER JOIN (SELECT Name, CountryCode FROM City WHERE Population > 4000000) AS t2 ON t2.countrycode = t1.code UNION SELECT t1.name, t2.name FROM (SELECT Name, Code FROM Country WHERE Continent ='Asia') AS t1 LEFT OUTER JOIN (SELECT Name, CountryCode FROM City WHERE Population > 4000000) AS t2 ON t2.countrycode = t1.code;

City( ID, Name, CountryCode, District, Population) CountryLanguage(CountryCode, Language, IsOfficial, Percentage ) JOINs SELECT t1.language, t2.name FROM (SELECT Language, CountryCode FROM CountryLanguage WHERE Percentage > 50) AS t1 NATURAL JOIN (SELECT Name, CountryCode FROM City WHERE Population > 4000000) AS t2 ;

Χρησιμοποιώντας το DELETE διαγράφονται γραμμές από τους πίνακες. DELETE DELETE [LOW_PRIORITY][QUICK][IGNORE] FROM tbl_name [WHERE where_condition] [ORDER BY...] [LIMIT row_count] http://dev.mysql.com/doc/refman/5.0/en/delete.html

Διαγραφή όλων των γραμμών ενός πίνακα DELETE DELETE FROM tbl_name; Διαγραφή ορισμένων γραμμών ενός πίνακα DELETE FROM City WHERE Population = 150; 1) Πως θα διαγράψω τις πόλεις που ξεκινούν από W; 2) Πως θα διαγράψω την πόλη με τον μικρότερο πληθυσμό;

Χρησιμοποιώντας το UPDATE αλλάζουμε το περιεχόμενο των γραμμών ενός πίνακα. UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2]... [WHERE where_condition] [ORDER BY...] [LIMIT row_count] UPDATE http://dev.mysql.com/doc/refman/5.0/en/update.html

Διαγραφή όλων των γραμμών ενός πίνακα UPDATE SELECT * FROM City WHERE Name LIKE 'Yaren'; UPDATE City SET Population = 600 WHERE Name LIKE 'Yaren'; SELECT * FROM City WHERE Name LIKE 'Yaren'; UPDATE City SET Population = Population + 10 WHERE Name LIKE 'Yaren'; SELECT * FROM City WHERE Name LIKE 'Yaren'; 1) Πως θα αυξήσω κατά 50 τον πληθυσμό των πόλεων που αρχίζουν από Z; 2) Πως θα αλλάξω το όνομα της πόλης Bantam σε Bantamm ;

Χρησιμοποιώντας το DROP σβήνουμε στοιχεία (βάσεις, πίνακες, στήλες κτλ) από τις ΒΔ. DROP DROP {DATABASE SCHEMA} [IF EXISTS] db_name DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]... [RESTRICT CASCADE] DROP INDEX index_name ON tbl_name 1) Δημιουργείστε μία ΒΔ με το όνομα example1 και τον πίνακα t(col1). Διαγράψτε πρώτα τον πίνακα και μετά την βάση. http://dev.mysql.com/doc/refman/5.0/en/data-definition.html

ALTER Χρησιμοποιώντας το ALTER αλλάζουμε στοιχεία μίας βάσης ή ενός πίνακα. ALTER {DATABASE SCHEMA} [db_name] alter_specification... alter_specification: [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name ALTER [IGNORE] TABLE tbl_name alter_specification [, alter_specification]... alter_specification: table_option... ADD DROP... http://dev.mysql.com/doc/refman/5.0/en/data-definition.html

ALTER 1) Δημιουργείστε μία ΒΔ με το όνομα example1 και τον πίνακα t(col1). Μετά προσθέστε ένα PK που να περιλαμβάνει την στήλη col1. Μετά διαγράψτε το PK.

http://dev.mysql.com/doc/refman/5.0/en/create-table.html check The CHECK clause is parsed but ignored by all storage engines.

VIEWs CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED MERGE TEMPTABLE}] [DEFINER = { user CURRENT_USER }] [SQL SECURITY { DEFINER INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED LOCAL] CHECK OPTION] πχ CREATE VIEW test.v AS SELECT * FROM t; http://dev.mysql.com/doc/refman/5.0/en/create-view.html

1) Δημιουργείστε μία ΒΔ με το όνομα example1 και τον πίνακα t(quantity, price). Εισάγετε μια γραμμή ενδεικτικά πχ (50, 3) VIEWs Δημιουργείστε ένα VIEW που εμφανίζει όες τις γραμμές του πίνακα (όλες τις στήλες). Δημιουργείστε ένα δεύτερο VIEW που εμφανίζει την τιμή, την ποσότητα και την συνολική αξία της ποσότητας που είναι καταχωρημένη.