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

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

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

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL

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

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

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

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

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

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

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

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

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

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

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

MySQL Εργαστήριο #1 Εισαγωγή στο ΣΔΒΔ MySQL

databases linux - terminal (linux / windows terminal)

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

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

SOAP API. Table of Contents

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

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

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

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

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

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΕΠΛ 012. JavaScripts

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Μέξνο ηνπ πιηθνύ πξνέξρεηαη από δηαθάλεηεο ηνπ Δ. Καηζίθαξνπ ( ηνλ νπνίν επραξηζηνύκε ζεξκά

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

Instruction Execution Times

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

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

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

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

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/

Visual Basic Βασικές Έννοιες

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

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

Σχεσιακό Πρότυπο Δεδομένων

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

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

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

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

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

Προγραμματισμός Παγκόσμιου Ιστού

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

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

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

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

Lecture 12: SQL DDL I

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

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

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων

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

ΕΠΛ 342 Βάσεις εδοµένων

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

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

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

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

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

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

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

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

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

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

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

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Lecture 2. Soundness and completeness of propositional logic

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

«Εισαγωγή στις ΒΔ - SQL»

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

Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων

Transcript:

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

Περιεχόμενα SQL Language Structure storage engnines δημιουργία πινάκων

shell> mysql -uroot -p

SQL Language Structure Θα δούμε κανόνες που αφορούν την σύνταξη της SQL στο RDBMS MySQL: comments < reserved words literal values user-defined variables Schema object names / identifiers Άδειο query mysql> ; http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Από το σύμβολο μέχρι το τέλος της γραμμής: # -- Ανάμεσα στα σύμβολα: /* */ SQL Language Structure :: Comment Syntax mysql> SHOW DATABASES # blah -> ; mysql> SHOW DATABASES -- blah -> ; mysql> SHOW DATABASES /* blah */ ; http://dev.mysql.com/doc/refman/5.0/en/comments.html

SQL Language Structure :: Comment Syntax Ανάμεσα στα σύμβολα: /*! */ SQL κώδικας που εκτελείται μόνο από το σύστημα MySQL: mysql> /* SHOW DATABASES */ ; mysql> /*! SHOW DATABASES */ ; http://dev.mysql.com/doc/refman/5.0/en/comments.html

SQL Language Structure Θα δούμε κανόνες που αφορούν την σύνταξη της SQL στο RDBMS MySQL: comments reserved words < literal values user-defined variables Schema object names / identifiers http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

SQL Language Structure :: Reserved Words Certain words are reserved and require special treatment for use as identifiers such as table and column names. This may also be true for the names of built-in functions. CREATE DROP DATABASE SCHEMA IF NOT EXISTS http://dev.mysql.com/doc/mysqld-version-reference/en/ mysqld-version-reference-reservedwords-5-0.html http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

SQL Language Structure Θα δούμε κανόνες που αφορούν την σύνταξη της SQL στο RDBMS MySQL: comments reserved words literal values < user-defined variables Schema object names / identifiers http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

SQL Language Structure :: Literal Values Οι literal values περιλαμβάνουν: Strings Numbers Hexadecimal Values Boolean Values NULL Values Bit-Field Values (δεν θα τα δούμε) http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Strings Ένα string είναι μια σειρά από bytes ή χαρακτήρων κλεισμένα σε μονό εισαγωγικό ' ή διπλό εισαγωγικό ". "example" 'example' mysql> SELECT 'example'; mysql> SELECT "example"; http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Strings Μέσα σε ένα string κάποιοι χαρακτήρες έχουν ειδικό νόημα. \' A single quote ( ' ) character. \" A double quote ( " ) character. \n A newline (linefeed) character. \t A tab character. \\ A backslash ( \ ) character. mysql> SELECT 'This\nIs\nFour\nLines'; mysql> SELECT 'hello'; mysql> SELECT '"hello"'; mysql> SELECT '""hello""'; mysql> SELECT 'hel''lo'; mysql> SELECT '\'hello'; hello "hello" ""hello"" hel'lo 'hello http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Strings Πως θα εμφανίσω με διπλά εισαγωγικά τα: hello 'hello' ''hello'' hel"lo "hello... http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Strings mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello"; hello 'hello' ''hello'' hel"lo "hello http://dev.mysql.com/doc/refman/5.0/en/literals.html

. float number +, - πρόσημο ακέραιοι: SQL Language Structure :: Literal Values :: Numbers mysql> SELECT 15, 0, -32, +50 ; δεκαδικοί: mysql> SELECT 15.52, -5.7, +32.8, -32.68e+10; http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Hexadecimal Values mysql> SELECT x'4d'; mysql> SELECT x'4d7953514c'; mysql> SELECT 0x4D7953514C; mysql> SELECT HEX('MySQL'); 4D 79 53 51 4C http://dev.mysql.com/doc/refman/5.0/en/literals.html

SQL Language Structure :: Literal Values :: Boolean - NULL Boolean mysql> SELECT TRUE, true, FALSE, false; NULL The NULL value means no data. NULL can be written in any lettercase. A synonym is \N (case sensitive). http://dev.mysql.com/doc/refman/5.0/en/boolean-values.html http://dev.mysql.com/doc/refman/5.0/en/null-values.html

SQL Language Structure Θα δούμε κανόνες που αφορούν την σύνταξη της SQL στο RDBMS MySQL: comments reserved words literal values user-defined variables (παραλείπεται) Schema object names / identifiers < http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

SQL Language Structure :: Identifiers Ιdentifiers: database name table name index name column name alias name Μπορούν να είναι quoted ή unquoted. backtick "`" πχ: `blahblah` http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

SQL Language Structure :: Identifiers Ιdentifier Qualifiers Επιτρέπεται η χρήση ονομάτων με ένα ή περισσότερα identifier col_name The column col_name from whichever table used in the statement contains a column of that name. tbl_name.col_name The column col_name from table tbl_name of the default database. db_name.tbl_name.col_name The column col_name from table tbl_name of the database db_name. http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

Storage Engines Τι είναι το storage engine? Αφαιρετικό μοντέλο RDMSQ: http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Storage Engines Αφαιρετικό μοντέλο μηχανής αποθήκευσης: http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Storage Engines Διαφορές Storage Engines: Ταχύτητα λόγω της ύπαρξης ή μη κάποιων χαρακτηριστικών πχ transactions Άλλες Storage Engines έχουν την δυνατότητα μόνο να γράψουν και όχι να σβήσουν δεδομένα. κτλ. κτλ. http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Storage Engines MyISAM non-transactional Δεν είχε foreign keys. InnoDB transaction-safe υποστηρίζει foreign keys. http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Δημιουργία πινάκων Για να ορίσουμε σε ποιά βάση δεδομένων θα δουλεψουμε, θα χρησιμοποιήσουμε την εντολή USE Πάμε στο manual να δούμε για αυτήν την εντολή...

Δημιουργία πινάκων Θα χρησιμοποιήσουμε την εντολή CREATE TABLE Πάμε στο manual να δούμε για αυτήν την εντολή...

Δημιουργία πινάκων CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_option]... Or: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_option]... select_statement Or: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name { LIKE old_tbl_name (LIKE old_tbl_name) } http://dev.mysql.com/doc/refman/5.0/en/create-table.html

table_option: {ENGINE TYPE} [=] engine_name κτλ Δημιουργία πινάκων create_definition: col_name column_definition κτλ col_name: Όνομα στήλης column_definition: Ορσιμός στήλης http://dev.mysql.com/doc/refman/5.0/en/create-table.html

Δημιουργία πινάκων column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY] [COMMENT 'string'] [reference_definition] data_type: Τύπος δεδομένων http://dev.mysql.com/doc/refman/5.0/en/create-table.html

Δημιουργία πινάκων CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_option]... create_definition: col_name column_definition column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY] [COMMENT 'string'] [reference_definition] http://dev.mysql.com/doc/refman/5.0/en/create-table.html

mysql> CREATE TABLE table1 > (col1 INT NOT NULL, > col2 INT); Δημιουργία πινάκων mysql> SHOW TABLES; mysql> DESCRIBE table1;

Δημιουργία πινάκων CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_option]... create_definition: col_name column_definition column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY] [COMMENT 'string'] [reference_definition] http://dev.mysql.com/doc/refman/5.0/en/create-table.html

mysql> CREATE TABLE table2 > (col1 INT NOT NULL, > col2 INT, > col3 INT, > PRIMARY KEY(col1,col2)); Δημιουργία πινάκων mysql> DESCRIBE table2;

Δημιουργία πινάκων CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_option]... create_definition: col_name column_definition [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] table_option: {ENGINE TYPE} [=] engine_name AUTO_INCREMENT [=] value http://dev.mysql.com/doc/refman/5.0/en/create-table.html

mysql> CREATE TABLE table3 > (col1 INT NOT NULL, > col2 INT, > col3 INT, > PRIMARY KEY(col1,col2)) > ENGINE=InnoDB; Δημιουργία πινάκων mysql> DESCRIBE table3;