Ms sql server που γράφει ερωτήματα. Εκτέλεση ερωτημάτων SQL στο Management Studio. Προσθήκη πεδίου Μέσου υπολογισμού
Εκφράσεις πίνακαονομάζονται υποερωτήματα που χρησιμοποιούνται όπου αναμένεται η παρουσία πίνακα. Υπάρχουν δύο τύποι εκφράσεων πίνακα:
παράγωγοι πίνακες?
γενικευμένες εκφράσεις πίνακα.
Αυτές οι δύο μορφές εκφράσεων πίνακα συζητούνται στις ακόλουθες υποενότητες.
Παράγωγοι πίνακες
Παράγωγος πίνακαςείναι μια έκφραση πίνακα που περιλαμβάνεται στον όρο FROM ενός ερωτήματος. Οι παράγωγοι πίνακες μπορούν να χρησιμοποιηθούν σε περιπτώσεις όπου η χρήση ψευδωνύμων στηλών δεν είναι δυνατή επειδή ο μεταφραστής SQL επεξεργάζεται μια άλλη πρόταση πριν γίνει γνωστό το ψευδώνυμο. Το παρακάτω παράδειγμα δείχνει μια προσπάθεια χρήσης ενός ψευδωνύμου στήλης σε μια κατάσταση όπου μια άλλη ρήτρα υποβάλλεται σε επεξεργασία πριν γίνει γνωστό το ψευδώνυμο:
ΧΡΗΣΗ SampleDb; SELECT MONTH(EnterDate) as enter_month FROM Works_on GROUP BY enter_month;
Προσπαθώντας να εκτελέσετε αυτό το ερώτημα θα εμφανιστεί το ακόλουθο μήνυμα λάθους:
Μήνυμα 207, Επίπεδο 16, Κατάσταση 1, Γραμμή 5 Μη έγκυρο όνομα στήλης "enter_month". (Μήνυμα 207: Επίπεδο 16, Κατάσταση 1, Γραμμή 5 Μη έγκυρο όνομα στήλης enter_month)
Ο λόγος για το σφάλμα είναι ότι η ρήτρα GROUP BY υποβάλλεται σε επεξεργασία πριν από την επεξεργασία της αντίστοιχης λίστας της πρότασης SELECT και το ψευδώνυμο στήλης enter_month είναι άγνωστο κατά την επεξεργασία της ομάδας.
Αυτό το πρόβλημα μπορεί να λυθεί χρησιμοποιώντας έναν παράγωγο πίνακα που περιέχει το προηγούμενο ερώτημα (χωρίς τον όρο GROUP BY) επειδή ο όρος FROM εκτελείται πριν από τον όρο GROUP BY:
ΧΡΗΣΗ SampleDb; SELECT enter_month FROM (SELECT MONTH(EnterDate) as enter_month FROM Works_on) AS m GROUP BY enter_month;
Το αποτέλεσμα αυτού του ερωτήματος θα είναι το εξής:
Συνήθως, μια έκφραση πίνακα μπορεί να τοποθετηθεί οπουδήποτε σε μια πρόταση SELECT όπου μπορεί να εμφανίζεται ένα όνομα πίνακα. (Το αποτέλεσμα μιας παράστασης πίνακα είναι πάντα ένας πίνακας ή, σε ειδικές περιπτώσεις, μια έκφραση.) Το παρακάτω παράδειγμα δείχνει τη χρήση μιας παράστασης πίνακα στη λίστα επιλογής μιας πρότασης SELECT:
Το αποτέλεσμα αυτής της ερώτησης:
Γενικές εκφράσεις πίνακα
Κοινή έκφραση πίνακα (OTB)είναι μια έκφραση πίνακα με όνομα που υποστηρίζεται από τη γλώσσα Transact-SQL. Οι κοινές εκφράσεις πίνακα χρησιμοποιούνται στους ακόλουθους δύο τύπους ερωτημάτων:
μη αναδρομικό?
αναδρομικός.
Αυτοί οι δύο τύποι αιτημάτων συζητούνται στις επόμενες ενότητες.
OTB και μη αναδρομικά ερωτήματα
Η μη αναδρομική μορφή του OTB μπορεί να χρησιμοποιηθεί ως εναλλακτική λύση σε παραγόμενους πίνακες και προβολές. Τυπικά το OTB καθορίζεται από ΜΕ ρήτρεςκαι ένα πρόσθετο ερώτημα που αναφέρεται στο όνομα που χρησιμοποιείται στον όρο WITH. Στο Transact-SQL, η έννοια της λέξης-κλειδιού WITH είναι διφορούμενη. Για να αποφευχθεί η ασάφεια, η δήλωση που προηγείται της δήλωσης WITH θα πρέπει να τερματίζεται με ένα ερωτηματικό.
ΧΡΗΣΗ AdventureWorks2012; SELECT SalesOrderID FROM Sales.SalesOrderHeader WHERE TotalDue > (SELECT AVG(TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR(OrderDate) = "2005") AND Freight > (SELECT AVG(TotalDue)HederORE)FROM 2005 ")/2,5;
Το ερώτημα σε αυτό το παράδειγμα επιλέγει παραγγελίες των οποίων οι συνολικοί φόροι (TotalDue) είναι μεγαλύτεροι από τον μέσο όρο όλων των φόρων και των οποίων οι χρεώσεις ναύλων (Freight) είναι μεγαλύτεροι από το 40% των μέσων φόρων. Η κύρια ιδιότητα αυτού του ερωτήματος είναι το μήκος του, καθώς το υποερώτημα πρέπει να γραφτεί δύο φορές. Ένα από τα πιθανούς τρόπουςΗ μείωση του μεγέθους της κατασκευής ερωτήματος θα ήταν η δημιουργία μιας προβολής που περιέχει ένα δευτερεύον ερώτημα. Αλλά αυτή η λύση είναι λίγο περίπλοκη επειδή απαιτεί τη δημιουργία μιας προβολής και στη συνέχεια τη διαγραφή της μετά την ολοκλήρωση της εκτέλεσης του ερωτήματος. Μια καλύτερη προσέγγιση θα ήταν η δημιουργία ενός OTB. Το παρακάτω παράδειγμα δείχνει τη χρήση του μη αναδρομικού OTB, το οποίο συντομεύει τον παραπάνω ορισμό του ερωτήματος:
ΧΡΗΣΗ AdventureWorks2012; WITH price_calc(year_2005) AS (SELECT AVG(TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR(OrderDate) = "2005") SELECT SalesOrderID FROM Sales.SalesOrderHeader WHEREOrderHeader WHERE TotalDue >SELECTRO year ΑΠΟ τιμή_ υπολ ) /2,5;
Η σύνταξη του όρου WITH σε μη αναδρομικά ερωτήματα είναι η εξής:
Η παράμετρος cte_name αντιπροσωπεύει το όνομα OTB που ορίζει τον πίνακα που προκύπτει και η παράμετρος στήλη_list αντιπροσωπεύει τη λίστα στηλών της παράστασης πίνακα. (Στο παραπάνω παράδειγμα, το OTB ονομάζεται price_calc και έχει μία στήλη, έτος_2005.) Η παράμετρος inner_query αντιπροσωπεύει μια δήλωση SELECT που καθορίζει το σύνολο αποτελεσμάτων της αντίστοιχης παράστασης πίνακα. Η καθορισμένη έκφραση πίνακα μπορεί στη συνέχεια να χρησιμοποιηθεί στο outer_query. (Το εξωτερικό ερώτημα στο παραπάνω παράδειγμα χρησιμοποιεί OTB price_calc και τη στήλη year_2005 για να απλοποιήσει το διπλά ένθετο ερώτημα.)
OTB και αναδρομικά ερωτήματα
Αυτή η ενότητα παρουσιάζει υλικό αυξημένης πολυπλοκότητας. Επομένως, όταν το διαβάζετε για πρώτη φορά, συνιστάται να το παραλείψετε και να επιστρέψετε σε αυτό αργότερα. Τα OTB μπορούν να χρησιμοποιηθούν για την υλοποίηση αναδρομών επειδή τα OTB μπορούν να περιέχουν αναφορές στον εαυτό τους. Η βασική σύνταξη OTB για ένα αναδρομικό ερώτημα μοιάζει με αυτό:
Οι παράμετροι cte_name και στήλη_list έχουν την ίδια σημασία όπως στο OTB για μη αναδρομικά ερωτήματα. Το σώμα μιας ρήτρας WITH αποτελείται από δύο ερωτήματα που συνδυάζονται από τον τελεστή ΕΝΩΣΗ ΟΛΩΝ. Το πρώτο ερώτημα καλείται μόνο μία φορά και αρχίζει να συσσωρεύει το αποτέλεσμα της αναδρομής. Ο πρώτος τελεστής του τελεστή UNION ALL δεν αναφέρεται στο OTB. Αυτό το ερώτημα ονομάζεται ερώτημα αναφοράς ή πηγή.
Το δεύτερο ερώτημα περιέχει μια αναφορά στο OTB και αντιπροσωπεύει το αναδρομικό τμήμα του. Εξαιτίας αυτού, ονομάζεται αναδρομικό μέλος. Στην πρώτη κλήση στο αναδρομικό τμήμα, η αναφορά OTB αντιπροσωπεύει το αποτέλεσμα του ερωτήματος αναφοράς. Το αναδρομικό μέλος χρησιμοποιεί το αποτέλεσμα της πρώτης κλήσης ερωτήματος. Μετά από αυτό, το σύστημα καλεί ξανά το αναδρομικό τμήμα. Μια κλήση σε ένα αναδρομικό μέλος σταματά όταν μια προηγούμενη κλήση σε αυτό επιστρέφει ένα κενό σύνολο αποτελεσμάτων.
Ο τελεστής UNION ALL ενώνει τις τρέχουσες συσσωρευμένες σειρές, καθώς και τις πρόσθετες σειρές που προστέθηκαν από την τρέχουσα κλήση στο αναδρομικό μέλος. (Η παρουσία του τελεστή UNION ALL σημαίνει ότι οι διπλές σειρές δεν θα αφαιρεθούν από το αποτέλεσμα.)
Τέλος, η παράμετρος outer_query καθορίζει το εξωτερικό ερώτημα που χρησιμοποιεί το OTB για να ανακτήσει όλες τις κλήσεις προς την ένωση και των δύο μελών.
Για να δείξουμε την αναδρομική μορφή του OTB, χρησιμοποιούμε τον πίνακα Αεροπλάνο που ορίζεται και συμπληρώνεται με τον κωδικό που φαίνεται στο παρακάτω παράδειγμα:
ΧΡΗΣΗ SampleDb; CREATE TABLE Airplane(ContainingAssembly VARCHAR(10), ContainedAssembly VARCHAR(10), QuantityContained INT, UnitCost DECIMAL(6,2)); INSERT INTO Airplane VALUES ("Airplane", "Fuselage", 1, 10); INSERT INTO Airplane VALUES ("Airplane", "Wings", 1, 11); INSERT INTO Airplane VALUES ("Airplane", "Tail", 1, 12); INSERT INTO Airplane VALUES ("Fuselage", "Salon", 1, 13); INSERT INTO Airplane VALUES ("Fuselage", "Cockpit", 1, 14); INSERT INTO Airplane VALUES ("Fuselage", "Nose",1, 15); INSERT INTO Airplane VALUES ("Καμπίνα", NULL, 1,13). INSERT INTO Airplane VALUES ("Cockpit", NULL, 1, 14). INSERT INTO Airplane VALUES ("Nose", NULL, 1, 15). INSERT INTO Airplane VALUES ("Wings", NULL,2, 11). INSERT INTO Airplane VALUES ("Tail", NULL, 1, 12);
Ο πίνακας αεροπλάνο έχει τέσσερις στήλες. Η στήλη ContainingAssembly προσδιορίζει το συγκρότημα και η στήλη ContainedAssembly προσδιορίζει τα μέρη (ένα προς ένα) που απαρτίζουν το αντίστοιχο συγκρότημα. Το παρακάτω σχήμα δείχνει μια γραφική απεικόνιση ενός πιθανού τύπου αεροσκάφους και των εξαρτημάτων του:
Ο πίνακας αεροπλάνου αποτελείται από τις ακόλουθες 11 σειρές:
Το ακόλουθο παράδειγμα χρησιμοποιεί τον όρο WITH για να ορίσει ένα ερώτημα που υπολογίζει το συνολικό κόστος κάθε κατασκευής:
ΧΡΗΣΗ SampleDb; ΜΕ list_of_parts(συγκρότημα1, ποσότητα, κόστος) AS (SELECT ContainingAssembly, QuantityContained, UnitCost FROM Airplane WHERE ContainedAssembly IS NULL UNION ALL SELECT a.ContainingAssembly, a.QuantityAssembly, a.QuantityASTContained(2Contained. ) FROM list_of_parts l, Airplane a WHERE l.assembly1 = a.ContainedAssembly) SELECT assembly1 "Part", ποσότητα "Quantity", κόστος "Price" FROM list_of_parts;
Ο όρος WITH ορίζει μια λίστα OTB με το όνομα list_of_parts, που αποτελείται από τρεις στήλες: assembly1, quantity και cost. Η πρώτη πρόταση SELECT στο παράδειγμα καλείται μόνο μία φορά για να αποθηκεύσει τα αποτελέσματα του πρώτου βήματος της διαδικασίας αναδρομής. Η δήλωση SELECT στην τελευταία γραμμή του παραδείγματος εμφανίζει το ακόλουθο αποτέλεσμα.
Η SQL ή Structured Query Language είναι μια γλώσσα που χρησιμοποιείται για τη διαχείριση δεδομένων σε ένα σύστημα σχεσιακής βάσης δεδομένων (RDBMS). Αυτό το άρθρο θα καλύψει τις κοινές χρήσεις Εντολές SQL, που κάθε προγραμματιστής πρέπει να γνωρίζει. Αυτό το υλικό είναι ιδανικό για όσους θέλουν να βελτιώσουν τις γνώσεις τους για την SQL πριν από μια συνέντευξη για δουλειά. Για να το κάνετε αυτό, δείτε τα παραδείγματα που δίνονται στο άρθρο και θυμηθείτε ότι μελετήσατε τις βάσεις δεδομένων σε ζευγάρια.
Σημειώστε ότι ορισμένα συστήματα βάσεων δεδομένων απαιτούν ένα ερωτηματικό στο τέλος κάθε δήλωσης. Το ερωτηματικό είναι τυπικός δείκτηςστο τέλος κάθε δήλωσης στην SQL. Τα παραδείγματα χρησιμοποιούν MySQL, επομένως απαιτείται ένα ερωτηματικό.
Δημιουργία βάσης δεδομένων για παραδείγματα
Δημιουργήστε μια βάση δεδομένων για να δείξετε πώς λειτουργούν οι ομάδες. Για να εργαστείτε, θα χρειαστεί να κάνετε λήψη δύο αρχείων: DLL.sql και InsertStatements.sql. Μετά από αυτό, ανοίξτε ένα τερματικό και συνδεθείτε στην κονσόλα MySQL χρησιμοποιώντας την ακόλουθη εντολή (το άρθρο υποθέτει ότι η MySQL είναι ήδη εγκατεστημένη στο σύστημα):
Mysql -u root -p
Στη συνέχεια εισάγετε τον κωδικό πρόσβασής σας.
Εκτελέστε την ακόλουθη εντολή. Ας ονομάσουμε τη βάση δεδομένων «πανεπιστήμιο»:
ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ πανεπιστήμιο. USE πανεπιστήμιο; ΠΗΓΗ Ίσως χρειαστεί να δημιουργήσετε περιορισμούς σε ορισμένες στήλες σε έναν πίνακα. Κατά τη δημιουργία ενός πίνακα, μπορείτε να ορίσετε τους ακόλουθους περιορισμούς: Μπορείτε να καθορίσετε περισσότερα από ένα πρωτεύοντα κλειδιά. Σε αυτήν την περίπτωση, θα λάβετε ένα σύνθετο πρωτεύον κλειδί. Δημιουργήστε έναν πίνακα "instructor": Εκπαιδευτής CREATE TABLE (ID CHAR(5), όνομα VARCHAR(20) NOT NULL, dept_name VARCHAR(20), μισθός NUMERIC(8,2), PRIMARY KEY (ID), FOREIGN KEY (dept_name) REFERENCES Department(dept_name)); Μπορείτε να προβάλετε διάφορες πληροφορίες (τύπος τιμής, είτε πρόκειται για κλειδί είτε όχι) σχετικά με τις στήλες ενός πίνακα με την ακόλουθη εντολή: ΠΕΡΙΓΡΑΦΩ Όταν προσθέτετε δεδομένα σε κάθε στήλη σε έναν πίνακα, δεν χρειάζεται να καθορίσετε ονόματα στηλών. ΕΙΣΑΓΩΓΗ ΣΤΟ Το SELECT χρησιμοποιείται για την ανάκτηση δεδομένων από έναν συγκεκριμένο πίνακα: ΕΠΙΛΕΓΩ Η ακόλουθη εντολή μπορεί να εμφανίσει όλα τα δεδομένα από τον πίνακα: ΕΠΙΛΟΓΗ * ΑΠΟ Οι στήλες του πίνακα ενδέχεται να περιέχουν διπλά δεδομένα. Χρησιμοποιήστε το SELECT DISTINCT για να ανακτήσετε μόνο μη διπλότυπα δεδομένα. ΕΠΙΛΕΞΤΕ ΔΙΑΚΡΙΤΙΚΟ Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί WHERE στο SELECT για να καθορίσετε συνθήκες σε ένα ερώτημα: ΕΠΙΛΕΓΩ Οι ακόλουθες προϋποθέσεις μπορούν να καθοριστούν στο αίτημα: Δοκιμάστε τις παρακάτω εντολές. Δώστε προσοχή στις προϋποθέσεις που καθορίζονται στο ΠΟΥ: ΕΠΙΛΕΞΤΕ * ΑΠΟ μάθημα WHERE dept_name='Συν. Sci.'; ΕΠΙΛΕΞΤΕ * ΑΠΟ μάθημα WHERE μονάδες>3; SELECT * FROM course WHERE dept_name="Comp. Sci." ΚΑΙ μόρια>3; Ο τελεστής GROUP BY χρησιμοποιείται συχνά με αθροιστικές συναρτήσειςόπως COUNT, MAX, MIN, SUM και AVG για ομαδοποίηση τιμών εξόδου. ΕΠΙΛΕΓΩ Ας εμφανίσουμε τον αριθμό των μαθημάτων για κάθε σχολή: ΕΠΙΛΕΞΤΕ COUNT(αναγνωριστικό_μαθήματος), όνομα_τμήματος ΑΠΟ ΟΜΑΔΑ μαθήματος ΑΝΑ όνομα_τμήματος. Η λέξη-κλειδί HAVING προστέθηκε στην SQL επειδή το WHERE δεν μπορεί να χρησιμοποιηθεί με συγκεντρωτικές συναρτήσεις. ΕΠΙΛΕΓΩ Ας εμφανίσουμε μια λίστα με σχολές που έχουν περισσότερα από ένα μαθήματα: SELECT COUNT(course_id), dept_name FROM course GROUP BY dept_name HAVING COUNT(course_id)>1; ORDER BY χρησιμοποιείται για την ταξινόμηση των αποτελεσμάτων των ερωτημάτων σε φθίνουσα ή αύξουσα σειρά. Το ORDER BY θα ταξινομηθεί με αύξουσα σειρά, εκτός εάν έχει καθοριστεί ASC ή DESC. ΕΠΙΛΕΓΩ Ας εμφανίσουμε μια λίστα μαθημάτων με αύξουσα και φθίνουσα σειρά μονάδων: ΕΠΙΛΕΞΤΕ * ΑΠΟ ΤΑ ΜΑΘΗΜΑΤΑ ΠΑΡΑΓΓΕΛΙΑ ΚΑΤΑ πιστωτικές μονάδες. ΕΠΙΛΟΓΗ * ΑΠΟ ΤΑΞΗ μαθημάτων ΚΑΤΑ μόρια DESC; BETWEEN χρησιμοποιείται για την επιλογή τιμών δεδομένων από ένα συγκεκριμένο εύρος. Αριθμητικό και τιμές κειμένου, καθώς και ημερομηνίες. ΕΠΙΛΕΓΩ Ας εμφανίσουμε μια λίστα με εκπαιδευτές των οποίων ο μισθός είναι μεγαλύτερος από 50.000, αλλά μικρότερος από 100.000: ΕΠΙΛΕΞΤΕ * ΑΠΟ τον εκπαιδευτή ΟΠΟΥ μισθός μεταξύ 50000 ΚΑΙ 100000. Ο τελεστής LIKE χρησιμοποιείται στο WHERE για να καθορίσει ένα μοτίβο αναζήτησης για παρόμοια τιμή. Υπάρχουν δύο δωρεάν χειριστές που χρησιμοποιούνται στο LIKE: Ας εμφανίσουμε μια λίστα μαθημάτων των οποίων τα ονόματα περιέχουν "to" και μια λίστα μαθημάτων των οποίων τα ονόματα αρχίζουν με "CS-": ΕΠΙΛΟΓΗ * ΑΠΟ ΤΟ ΜΑΘΗΜΑ ΟΠΟΥ τίτλος LIKE '%to%'; SELECT * FROM course WHERE course_id LIKE "CS-___"; Χρησιμοποιώντας το IN μπορείτε να καθορίσετε πολλαπλές τιμές για τον όρο WHERE: ΕΠΙΛΕΓΩ Ας εμφανίσουμε μια λίστα φοιτητών από ειδικότητες Comp. Επιστήμη, Φυσική και Ηλεκτρ. Eng.: SELECT * FROM student WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.'); Το JOIN χρησιμοποιείται για τη σύνδεση δύο ή περισσότερων πινάκων χρησιμοποιώντας κοινά χαρακτηριστικά μέσα σε αυτούς. Η παρακάτω εικόνα δείχνει διάφορους τρόπουςενώνεται στην SQL. Σημειώστε τη διαφορά μεταξύ μιας αριστερής εξωτερικής ένωσης και μιας δεξιάς εξωτερικής ένωσης: ΕΠΙΛΕΓΩ Θα εμφανίσουμε μια λίστα με όλα τα μαθήματα και τις σχετικές πληροφορίες για τις σχολές: ΕΠΙΛΟΓΗ * ΑΠΟ ΜΑΘΗΜΑ ΕΓΓΡΑΦΕΙΤΕ στο τμήμα ON course.dept_name=department.dept_name; Θα εμφανίσουμε μια λίστα με όλα τα απαιτούμενα μαθήματα και λεπτομέρειες σχετικά με αυτά: SELECT prereq.course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTER JOIN μαθήματος ON prereq.course_id=course.course_id; Θα εμφανίσουμε μια λίστα με όλα τα μαθήματα, ανεξάρτητα από το αν απαιτούνται ή όχι: SELECT course.course_id, title, dept_name, credits, prereq_id FROM prereq RIGHT OUTER JOIN μάθημα ON prereq.course_id=course.course_id; Το View είναι ένας εικονικός πίνακας SQL που δημιουργήθηκε ως αποτέλεσμα της εκτέλεσης μιας έκφρασης. Περιέχει γραμμές και στήλες και μοιάζει πολύ με έναν κανονικό πίνακα SQL. Η προβολή εμφανίζει πάντα τις πιο πρόσφατες πληροφορίες από τη βάση δεδομένων. Ας δημιουργήσουμε μια προβολή που αποτελείται από μαθήματα με 3 μονάδες: Αυτές οι συναρτήσεις χρησιμοποιούνται για τη λήψη ενός συγκεντρωτικού αποτελέσματος που σχετίζεται με τα εν λόγω δεδομένα. Οι παρακάτω είναι συνήθως χρησιμοποιούμενες συναρτήσεις συγκεντρωτικών στοιχείων: Τα ένθετα υποερωτήματα είναι ερωτήματα SQL που περιλαμβάνουν προτάσεις SELECT , FROM και WHERE που είναι ένθετες σε άλλο ερώτημα. Ας βρούμε μαθήματα που διδάχθηκαν το φθινόπωρο του 2009 και την άνοιξη του 2010: SELECT DISTINCT course_id FROM section WHERE semester = 'Fall' AND year= 2009 AND course_id IN (SELECT course_id FROM section WHERE semester = 'Spring' AND year= 2010); SQL - Γλώσσα δομημένης ερώτησης. Περιγραφή
bigint (int 8) bigint (int 8) δυάδικος(n) δυάδικος(ιδ) ή εικών χαρακτήρας εθνικός χαρακτήραςή ntext χαρακτήρας που ποικίλλει(συνώνυμο char ποικίλλει varchar) ο εθνικός χαρακτήρας ποικίλλειή ntext Ημερομηνία ημερομηνία ώρας δεκαδικός aka αριθμητικός διπλή ακρίβεια διπλή ακρίβεια ακέραιος αριθμός (int 4) (συνώνυμο: ενθ) ακέραιος αριθμός (int 4) εθνικό χαρακτήρα(συνώνυμο: εθνικό χαρακτήρα, nchar) εθνικό χαρακτήρα Αριθμητικός(συνώνυμα: δεκαδικός, Δεκ) ο εθνικός χαρακτήρας ποικίλλει(συνώνυμα: εθνικός χαρακτήρας ποικίλλει, nvarchar) Ο εθνικός χαρακτήρας ποικίλλει Μικρή ώρα ημερομηνία ώρας ψιλόλιθος (int 2) ψιλόλιθος (int 2) Smallmoney sql_variant Δεν υποστηρίζεται πλέον Κείμενο Χρονική σήμανση Δεν υποστηρίζεται μικροσκοπικός (int 1) μικροσκοπικός (int 1) Μοναδικό αναγνωριστικό μοναδικό αναγνωριστικό βαρβινικός(n) βαρβινικός(ιδ) ή εικών smalldatetime ημερομηνία ώρας ψιλόλιθος (int 2) ψιλόλιθος (int 2) μικρά χρήματα sql_variant Δεν υποστηρίζεται χρονική σφραγίδα Δεν υποστηρίζεται μικροσκοπικός (int 1) μικροσκοπικός (int 1) μοναδικό αναγνωριστικό μοναδικό αναγνωριστικό βαρβινικός(n) βαρβινικός(ιδ) ή εικών Πίνακας τύπων δεδομένων στον SQL Server 2000 Αίτησηείναι μια εντολή που δίνετε στο πρόγραμμα της βάσης δεδομένων σας. Τα ερωτήματα αποτελούν μέρος της γλώσσας DML. Όλα τα ερωτήματα SQL αποτελούνται από μία μόνο εντολή. Η δομή αυτής της εντολής είναι παραπλανητικά απλή γιατί πρέπει να την επεκτείνετε για να εκτελέσετε εξαιρετικά περίπλοκες αξιολογήσεις και χειρισμούς δεδομένων. ΕΠΙΛΕΓΩ"Επιλογή" είναι η πιο συχνά χρησιμοποιούμενη εντολή που χρησιμοποιείται για την επιλογή δεδομένων από τον πίνακα. SELECT id, user_name, city, birth_day FROM users_base; Ένα τέτοιο ερώτημα θα εμφανίζει από τον πίνακα users_base όλες τις τιμές των στηλών που καθορίζονται διαχωρισμένες με κόμμα μετά SELECT εντολές. Επίσης, μπορείτε να εμφανίσετε όλες τις στήλες με έναν χαρακτήρα, * δηλ. SELECT * FROM users_base ; - ένα τέτοιο ερώτημα θα εμφανίσει όλα τα δεδομένα από τον πίνακα. SELECT (Ονόματα στηλών διαχωρισμένα με κόμματα που πρέπει να εμφανίζονται στο ερώτημα) FROM (όνομα πίνακα στη βάση δεδομένων) Οι τιμές μπορούν να τοποθετηθούν και να αφαιρεθούν από πεδία χρησιμοποιώντας τρεις εντολές DML (Data Manipulation Language): INSERT INTO users_base (user_name, city, birth_day) VALUES ('Alexander', 'Rostov', '06/20/1991'); ΕΝΗΜΕΡΩΣΗ users_base SET user_name = 'Alexey'; Η εντολή UPDATE ενημερώνει τις τιμές σε έναν πίνακα. Πρώτα έρχεται η ίδια η εντολή UPDATE, μετά το όνομα του πίνακα, μετά την εντολή SET (set), μετά το όνομα της στήλης και η τιμή της σε εισαγωγικά (τα εισαγωγικά τοποθετούνται εάν η τιμή είναι σε μορφή συμβολοσειράς, εάν είναι αριθμητική τιμή και η στήλη δεν συνδέεται με τον τύπο δεδομένων vchar ή άλλους τύπους συμβολοσειράς, τα εισαγωγικά δεν έχουν νόημα.) DELETE FROM users_base WHERE user_name = 'Vasily'; Η εντολή DELETE διαγράφει ολόκληρη τη σειρά και προσδιορίζει τη σειρά χρησιμοποιώντας το κριτήριο WHERE. Σε αυτήν την περίπτωση, αυτό το ερώτημα θα διαγράψει όλες τις σειρές στις οποίες η τιμή της στήλης user_name ήταν Vasily. Θα μιλήσουμε για το κριτήριο WHERE και άλλα λίγο αργότερα. Ο όρος WHERE είναι μια ρήτρα της εντολής SELECT και άλλων εντολών DML που σας επιτρέπει να ορίσετε κατηγορήματα των οποίων η συνθήκη μπορεί να είναι είτε true είτε false για οποιαδήποτε σειρά στον πίνακα. Η εντολή ανακτά μόνο εκείνες τις γραμμές από τον πίνακα για τις οποίες ισχύει αυτή η δήλωση. ORDER BY - συνθήκη για την ταξινόμηση των επιλεγμένων σειρών. Έχει 2 κριτήρια ASC και DESC. ASC (ταξινόμηση από το Α στο Ω ή από το 0 στο 9) DESC (απέναντι από ASC). Αυτή η συνθήκη μπορεί επίσης να χρησιμοποιηθεί σε συνδυασμό με την ρήτρα WHERE. Το DISTINCT είναι ένα όρισμα που σας παρέχει έναν τρόπο να εξαλείψετε διπλές τιμές από τον όρο SELECT. Εκείνοι. εάν έχετε διπλότυπες τιμές σε μια στήλη, ας πούμε user_name, τότε το DISTINCT θα σας δείξει μόνο μία τιμή, για παράδειγμα, έχετε 2 άτομα με το όνομα Alexey στη βάση δεδομένων σας, τότε ένα ερώτημα που χρησιμοποιεί τη συνάρτηση DISTINCT θα σας δείξει μόνο 1 τιμή αυτό συναντάται πρώτο... ΚΑΙ - παίρνει δύο Boolean (με τη μορφή A ΚΑΙ B) ως επιχειρήματα και τα αξιολογεί έναντι της αλήθειας εάν είναι και τα δύο αληθή. OR - παίρνει δύο Boolean (με τη μορφή A OR B) ως ορίσματα και αξιολογεί εάν ένα από αυτά είναι σωστό. SELECT * FROM users_base WHERE city = 'Rostov' OR user_name = 'Alexander';- θα εμφανίσει όλες τις τιμές από τον πίνακα όπου εμφανίζεται στη γραμμή το όνομα της πόλης του Ροστόφ ή το όνομα χρήστη Alexander. NOT - παίρνει ένα μόνο Boolean (με τη μορφή NOT A) ως ορίσματα και αλλάζει την τιμή του από false σε true ή true σε false. IN - ορίζει ένα σύνολο τιμών στο οποίο μια δεδομένη τιμή μπορεί ή όχι να περιλαμβάνεται. Το Between είναι παρόμοιο με τον τελεστή IN. Σε αντίθεση με τον ορισμό με αριθμούς από ένα σύνολο, όπως κάνει το IN, το BETWEEN ορίζει ένα εύρος του οποίου οι τιμές πρέπει να μειωθούν για να γίνει αληθές το κατηγόρημα. COUNT - Παράγει τους αριθμούς σειρών ή τις μη NULL τιμές των πεδίων που επέλεξε το ερώτημα. SUM - παράγει το αριθμητικό άθροισμα όλων των επιλεγμένων τιμών για ένα δεδομένο πεδίο. AVG - υπολογίζει κατά μέσο όρο όλες τις επιλεγμένες τιμές αυτού του πεδίου. MAX - παράγει τη μεγαλύτερη από όλες τις επιλεγμένες τιμές για αυτό το πεδίο. MIN - παράγει τη μικρότερη από όλες τις επιλεγμένες τιμές για αυτό το πεδίο. ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ user_base (ακέραιος αριθμός ID, κείμενο ονόματος_χρήστη, κείμενο πόλης, ημερομηνία γέννησης).- η εκτέλεση μιας τέτοιας εντολής θα οδηγήσει στη δημιουργία του πίνακα για τον οποίο έδωσα παραδείγματα... Όλα είναι απλά εδώ, γράφουμε την εντολή CREATE TABLE, ακολουθούμενη από το όνομα του πίνακα που θέλουμε να δημιουργήσουμε και μετά σε παρένθεση, χωρίζονται με κόμμα, τα ονόματα των στηλών και τον τύπο δεδομένων τους. Αυτός είναι ο τυπικός τρόπος δημιουργίας πίνακα σε SQL. Τώρα θα δώσω ένα παράδειγμα δημιουργίας πινάκων στον SQL Server 2005: ΕΝΕΡΓΟΠΟΙΗΣΗ ANSI_NULLS Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με αυτό το θέμα, παρακαλώ γράψτε μου Αναπτύξτε μια εφαρμογή που επιδεικνύει βασικές λειτουργίες σε δεδομένα σε μια βάση δεδομένων όπως ο MS SQL Server, και συγκεκριμένα: Ως βάση χρησιμοποιείται η βάση δεδομένων Education.dbo, η διαδικασία δημιουργίας της οποίας περιγράφεται αναλυτικά Το σχήμα 1 δείχνει τη δομή της βάσης δεδομένων Education.dbo. Όπως φαίνεται από το σχήμα, η βάση δεδομένων ονομάζεται: Εδώ "sasha-pc" είναι το αναγνωριστικό υπολογιστή στο δίκτυο, "sqlexpress" είναι το όνομα του διακομιστή βάσης δεδομένων, "Education.dbo" είναι το όνομα της βάσης δεδομένων. Ρύζι. 1. Βάση δεδομένων Education.dbo Η βάση δεδομένων περιέχει δύο πίνακες: Student και Session. Η δομή των πινάκων έχει ως εξής. Μαθητικό τραπέζι. στο MS Visual Studio ως εφαρμογή Windows Forms. Για να εμφανίσετε δεδομένα από πίνακες βάσης δεδομένων, μπορείτε να χρησιμοποιήσετε διαφορετικούς τρόπους. Ένα από αυτά είναι η δημιουργία προβολών, οι οποίες δημιουργούνται χρησιμοποιώντας το MS Visual Studio. Στην περίπτωσή μας, τα δεδομένα πίνακα θα εμφανίζονται στη φόρμα σε ένα στοιχείο ελέγχου του τύπου DataGridView. Μετά τη δημιουργία προβολών, είναι πολύ βολικό να τις συσχετίσετε με στοιχεία DataGridView. Για να δημιουργήσετε μια προβολή, πρέπει να καλέσετε την εντολή «Προσθήκη νέας προβολής» από το μενού περιβάλλοντος, η οποία καλείται κάνοντας δεξί κλικ στο στοιχείο «Προβολές» της βάσης δεδομένων Education.dbo (Εικόνα 2). Ρύζι. 2. Κλήση της εντολής για προσθήκη νέας προβολής Ως αποτέλεσμα, θα ανοίξει το παράθυρο "Προσθήκη πίνακα" (Εικόνα 3). Στο παράθυρο πρέπει να επιλέξετε τους πίνακες που προστίθενται στην προβολή. Ρύζι. 3. Επιλέγοντας τους πίνακες στους οποίους θα βασίζεται η νέα προβολή Στην περίπτωσή μας, επιλέξτε τον πίνακα Student και επιβεβαιώστε την επιλογή σας κάνοντας κλικ στο κουμπί Προσθήκη. Το επόμενο βήμα είναι να κλείσετε το παράθυρο επιλέγοντας το κουμπί Κλείσιμο. Αφού ολοκληρώσετε τα βήματα, θα δημιουργηθεί ένα παράθυρο στο οποίο πρέπει να επιλέξετε τα πεδία που πρέπει να εμφανίζονται στην προβολή (στη φόρμα). Επιλέξτε όλα τα πεδία (Εικόνα 4). Όταν επιλέγετε πεδία, τα πεδία του πίνακα Σπουδαστής εμφανίζονται στο επάνω μέρος της περιοχής εργασίας. Χρησιμοποιώντας το ποντίκι, μπορείτε να επιλέξετε τα επιθυμητά πεδία για παρουσίαση. Αντίστοιχα, η μεσαία περιοχή του παραθύρου εμφανίζει τα ονόματα των επιλεγμένων πεδίων, τον πίνακα στον οποίο υπάρχουν (βλ. Εικ. 4), τη δυνατότητα ταξινόμησης, φιλτραρίσματος κ.λπ. Στο κάτω μέρος της περιοχής εμφανίζεται το αντίστοιχο κείμενο ερωτήματος SQL που χρησιμοποιείται για τη δημιουργία της προβολής. Ρύζι. 4. Επιλέγοντας πεδία πίνακα σπουδαστών για εμφάνιση στην προβολή Μετά την επιλογή ομάδας Θα ανοίξει ένα παράθυρο στο οποίο πρέπει να καθορίσετε το όνομα της προβολής. Ορίστε το όνομα "Προβολή μαθητή" (Εικόνα 5). Ρύζι. 5. Καθορισμός ονόματος για την προβολή Μετά την ολοκλήρωση των βημάτων, το παράθυρο παρουσίασης θα μοιάζει όπως φαίνεται στην Εικόνα 6. Ρύζι. 6. Δείτε την αναπαράσταση του μαθητή στη βάση δεδομένων Τώρα μπορείτε να φιλοξενήσετε ένα στοιχείο ελέγχου DataGridView και να το συσχετίσετε με μια προβολή. Πριν τοποθετήσετε το στοιχείο ελέγχου DataGridView, πρέπει να μεταβείτε στη λειτουργία σχεδίασης φόρμας "Form1.cs". Το στοιχείο DataGridView είναι ένας πίνακας που μπορεί να εμφανίσει δεδομένα. Αυτό το στοιχείο ελέγχου βρίσκεται στον πίνακα ToolBox. Αρχικά, προσαρμόζουμε ελαφρώς το μέγεθος της φόρμας και, στη συνέχεια, τοποθετούμε το στοιχείο ελέγχου DataGridView σε αυτήν (Εικόνα 7). Αυτό θα δημιουργήσει μια παρουσία αντικειμένου με το όνομα dataGridView1 από προεπιλογή. Ρύζι. 7. Παράθυρο ελέγχου DataGridView και επιλογής πηγής δεδομένων Αφού τοποθετήσετε το στοιχείο ελέγχου DataGridView στη φόρμα, στην επάνω δεξιά γωνία μπορείτε να επιλέξετε να διαμορφώσετε την προέλευση δεδομένων. Αντίστοιχα, θα ανοίξει το παράθυρο "DataGridView Tasks". Σε αυτό το παράθυρο πρέπει να επιλέξετε το αναδυόμενο μενού «Επιλογή προέλευσης δεδομένων». Στο μενού που ανοίγει, επιλέξτε την εντολή «Add Project Data Source...» (Εικ. 7). Μετά από αυτό, ανοίγει ένα παράθυρο οδηγού, στο οποίο επιλέγεται διαδοχικά η πηγή δεδομένων. Το σχήμα 8 δείχνει το " Οδηγός διαμόρφωσης προέλευσης δεδομένων", στο οποίο επιλέγεται ο τύπος προέλευσης δεδομένων. Στην περίπτωσή μας, εγκαθιστούμε τη "Βάση δεδομένων". Ρύζι. 8. Επιλογή τύπου πηγής δεδομένων Στο επόμενο παράθυρο (Εικόνα 9) επιλέγεται το μοντέλο πηγής δεδομένων. Πρέπει να επιλέξετε DataSet. Ρύζι. 9. Επιλογή μοντέλου πηγής δεδομένων Στο παράθυρο που φαίνεται στην Εικόνα 10, πρέπει να καθορίσετε τη σύνδεση δεδομένων που θέλετε να χρησιμοποιήσετε για να συνδεθείτε στη βάση δεδομένων. Στην περίπτωσή μας, πρέπει να επιλέξουμε τη βάση δεδομένων " sasha-pc\sqlexpress\Education.dbo«.
Ρύζι. 10. Επιλογή σύνδεσης δεδομένων Το επόμενο παράθυρο (Εικόνα 11) προτείνει την αποθήκευση της συμβολοσειράς σύνδεσης στο αρχείο διαμόρφωσης της εφαρμογής. Τα αφήνουμε όλα ως έχουν και προχωράμε στο επόμενο παράθυρο. Ρύζι. 11. Πρόταση για αποθήκευση της συμβολοσειράς σύνδεσης βάσης δεδομένων Connection String στο αρχείο διαμόρφωσης της εφαρμογής Μετά τη δημιουργία μιας σύνδεσης βάσης δεδομένων, εμφανίζεται μια ποικιλία αντικειμένων βάσης δεδομένων (Εικόνα 12). Στην περίπτωσή μας, πρέπει να επιλέξουμε την προβολή «Προβολή μαθητή» και όλα τα πεδία από αυτήν. Τα επιλεγμένα πεδία θα εμφανίζονται στο στοιχείο τύπου DataGridView. Ρύζι. 12. Επιλογή των αντικειμένων της βάσης δεδομένων για εμφάνιση στο DataGridView Αφού επιλέξετε το κουμπί Finish, θα εμφανιστούν τα επιλεγμένα αντικείμενα (View Student view) της βάσης δεδομένων Education.dbo (Εικόνα 13). Ρύζι. 13. Έλεγχος DataGridView με επιλεγμένα πεδία View Student Με παρόμοιο τρόπο, μπορείτε να διαμορφώσετε προβολές που περιέχουν οποιαδήποτε πεδία από οποιονδήποτε πίνακα βάσης δεδομένων. Επίσης, τα πεδία από διαφορετικούς πίνακες μπορούν να εμφανίζονται σε μία προβολή. Εάν εκτελέσετε την εφαρμογή, θα λάβετε δεδομένα από την προβολή Προβολή μαθητή, που αντιστοιχεί στον πίνακα Student στη βάση δεδομένων (Εικόνα 14). Ρύζι. 14. Εκκίνηση της εφαρμογής για εκτέλεση Όπως μπορείτε να δείτε από το Σχήμα 14, τα δεδομένα στον πίνακα dataGridView1 εμφανίζονται κανονικά, αλλά η σχεδίαση μπορεί να προσαρμοστεί. Ένα στοιχείο ελέγχου του τύπου DataGridView σάς επιτρέπει να προσαρμόσετε την εμφάνιση των πεδίων που εμφανίζονται. Για να καλέσετε εντολές για επεξεργασία πεδίων, απλώς καλέστε το μενού περιβάλλοντος κάνοντας δεξί κλικ στο στοιχείο ελέγχου dataGridView1. Το μενού έχει διάφορα χρήσιμες εντολές, που σας επιτρέπουν να ελέγχετε την εμφάνιση και τη λειτουργία του DataGridView: Στην περίπτωσή μας, πρέπει να επιλέξετε την εντολή «Επεξεργασία στηλών...» (Εικόνα 15). Ρύζι. 15. Εντολή "Επεξεργασία στηλών..." από το μενού περιβάλλοντος Ως αποτέλεσμα, θα ανοίξει το παράθυρο «Επεξεργασία στηλών», στο οποίο μπορείτε να προσαρμόσετε την εμφάνιση των πεδίων παρουσίασης σύμφωνα με τις προτιμήσεις σας (Εικόνα 16). Ρύζι. 16. Παράθυρο για τη ρύθμιση της προβολής πεδίων στην προβολή "Προβολή μαθητή". Στο παράθυρο της Εικόνας 16, για οποιοδήποτε πεδίο μπορείτε να διαμορφώσετε το όνομα, τη στοίχιση, το πλάτος, τη δυνατότητα επεξεργασίας δεδομένων κ.λπ. Για να κάνετε αλλαγές στη βάση δεδομένων, πρέπει να λάβετε μια συμβολοσειρά σύνδεσης στη συμβολοσειρά σύνδεσης βάσης δεδομένων . Υπάρχουν διάφοροι τρόποι λήψης της συμβολοσειράς σύνδεσης βάσης δεδομένων. Ένα από αυτά βασίζεται στην ανάγνωση αυτής της γραμμής στο παράθυρο Ιδιότητες της βάσης δεδομένων Education.dbo (Εικ. 17). Ρύζι. 17. Καθορισμός συμβολοσειράς σύνδεσης Για να αποθηκεύσετε τη συμβολοσειρά στο πρόγραμμα, μια εσωτερική μεταβλητή του τύπου σειρά. Χρησιμοποιώντας το πρόχειρο, αντιγράψτε τη συμβολοσειρά σύνδεσης στην περιγραφόμενη μεταβλητή τύπου string . Στο κείμενο του αρχείου "Form1.cs" στην αρχή της περιγραφής της κλάσης Form1, πρέπει να περιγράψετε τη μεταβλητή: Αυτή τη στιγμή το κείμενο της τάξης Form1 έχει ως εξής: Για να μπορέσετε να επεξεργαστείτε τα δεδομένα της τρέχουσας εγγραφής, πρέπει να δημιουργήσετε μια νέα φόρμα. Η διαδικασία δημιουργίας μιας νέας φόρμας στο MS Visual Studio - C# περιγράφεται αναλυτικά. Η προσθήκη νέας φόρμας γίνεται με την εντολή: Στο παράθυρο «Νέο στοιχείο» που ανοίγει, πρέπει να επιλέξετε το στοιχείο «Φόρμα των Windows». Αφήστε το νέο όνομα αρχείου φόρμας ως προεπιλεγμένο "Form2.cs". Το σχήμα 18 δείχνει μια άποψη της νέας φόρμας. Τοποθετούμε τους ακόλουθους τύπους στοιχείων ελέγχου στη φόρμα: Πρέπει να διαμορφώσετε τις ακόλουθες ιδιότητες των στοιχείων ελέγχου: Διαμορφώνουμε επίσης την ορατότητα των στοιχείων ελέγχου TextBox. Για να γίνει αυτό, σε όλα τα στοιχεία ελέγχου textBox1, textBox2, textBox3, textBox4, η τιμή ιδιότητας Modifiers = "δημόσιο". Ρύζι. 18. Άποψη της νέας φόρμας Για περαιτέρω εργασία, πρέπει να χρησιμοποιήσετε το ποντίκι για να μεταβείτε στην κύρια φόρμα Form1. Προσθέστε τρία κουμπιά στην κύρια φόρμα της εφαρμογής Form1 (Button). Τρεις μεταβλητές αντικειμένων θα δημιουργηθούν αυτόματα με τα ονόματα button1, button2, button3. Σε καθένα από αυτά τα κουμπιά κάνουμε τις ακόλουθες ρυθμίσεις (παράθυρο Ιδιότητες): Ως αποτέλεσμα των αλλαγών που έγιναν, η κύρια φόρμα θα μοιάζει όπως φαίνεται στο Σχήμα 19. Ρύζι. 19. Κύρια μορφή της αίτησης Ο χειριστής συμβάντων κλικ στο κουμπί "Εισαγωγή..." μοιάζει με αυτό: Το Form2 καλείται πρώτα. Μετά τη λήψη του αποτελέσματος «OK» (πατώντας το αντίστοιχο κουμπί), στη Φόρμα2 τα συμπληρωμένα πεδία σε στοιχεία του τύπου TextBox περιλαμβάνονται στη συμβολοσειρά ερωτήματος SQL. Το ερώτημα SQL για την προσθήκη μιας νέας σειράς μοιάζει με αυτό: όπου η τιμή 1 αντιστοιχεί στον αριθμό βιβλίου βαθμού· value2 – το επώνυμο του μαθητή. value3 – ομάδα στην οποία σπουδάζει ο μαθητής. τιμή 4 – έτος εισόδου. Η συμβολοσειρά σύνδεσης βάσης δεδομένων Connection String περιγράφεται στη μεταβλητή conn_string (βλ. παράγραφο 5). Το αντικείμενο κλάσης SqlConnection συνδέει την εφαρμογή με πηγές δεδομένων. Επιπλέον, η κλάση Connection χειρίζεται τον έλεγχο ταυτότητας χρήστη, τη δικτύωση, την αναγνώριση βάσης δεδομένων, την προσωρινή αποθήκευση σύνδεσης και την επεξεργασία συναλλαγών. Η εντολή SQL που προσθέτει μια εγγραφή σε έναν πίνακα ενσωματώνεται στην κλάση SqlCommand. Ο κατασκευαστής της κλάσης SqlCommand παίρνει δύο παραμέτρους: μια συμβολοσειρά ερωτήματος SQL (μεταβλητή cmd_text) και ένα αντικείμενο της κλάσης SqlConnection. Η μέθοδος ExecuteNonQuery() υλοποιείται στη διεπαφή IDBCommand. Η μέθοδος υλοποιεί εντολές SQL που δεν επιστρέφουν δεδομένα. Τέτοιες εντολές περιλαμβάνουν εντολές INSERT, DELETE, UPDATE, καθώς και αποθηκευμένες διαδικασίες που δεν επιστρέφουν δεδομένα. Η μέθοδος ExecuteNonQuery() επιστρέφει τον αριθμό των εγγραφών που εμπλέκονται. Ο χειριστής συμβάντων κλικ στο κουμπί "Επεξεργασία..." μοιάζει με αυτό: Αυτό το πρόγραμμα χειρισμού εκτελεί μια εντολή UPDATE SQL που αλλάζει την τρέχουσα τιμή της ενεργής εγγραφής. Ο χειριστής συμβάντων κλικ στο κουμπί "Διαγραφή" μοιάζει με αυτό: Αυτός ο χειριστής εκτελεί την εντολή SQL DELETE για να διαγράψει μια εγγραφή. Το SQL Server Management Studio παρέχει ένα πλήρες εργαλείο για τη δημιουργία όλων των τύπων ερωτημάτων. Με τη βοήθειά του μπορείτε να δημιουργήσετε, να αποθηκεύσετε, να φορτώσετε και να επεξεργαστείτε ερωτήματα. Επιπλέον, μπορείτε να εργαστείτε σε ερωτήματα χωρίς να συνδεθείτε σε κανένα διακομιστή. Αυτό το εργαλείο παρέχει επίσης τη δυνατότητα ανάπτυξης ερωτημάτων για διαφορετικά έργα. Μπορείτε να εργαστείτε με ερωτήματα χρησιμοποιώντας τόσο τον Επεξεργαστή ερωτημάτων όσο και τον Εξερεύνηση λύσεων. Αυτό το άρθρο καλύπτει και τα δύο αυτά εργαλεία. Εκτός από αυτά τα δύο στοιχεία του SQL Server Management Studio, θα εξετάσουμε τον εντοπισμό σφαλμάτων κώδικα SQL χρησιμοποιώντας το ενσωματωμένο πρόγραμμα εντοπισμού σφαλμάτων. Για να ανοίξετε τον πίνακα επεξεργασίας ερωτημάτων Επεξεργαστής ερωτημάτων, στη γραμμή εργαλείων SQL Server Management Studio, κάντε κλικ στο κουμπί Νέο ερώτημα. Αυτός ο πίνακας μπορεί να επεκταθεί ώστε να εμφανίζει κουμπιά για τη δημιουργία όλων των πιθανών ερωτημάτων, όχι μόνο των ερωτημάτων του μηχανισμού βάσης δεδομένων. Από προεπιλογή δημιουργείται νέο αίτημαστοιχείο του μηχανισμού βάσης δεδομένων, αλλά κάνοντας κλικ στο αντίστοιχο κουμπί στη γραμμή εργαλείων, μπορείτε επίσης να δημιουργήσετε ερωτήματα MDX, XMLA κ.λπ. Η γραμμή κατάστασης στο κάτω μέρος του πίνακα επεξεργασίας ερωτημάτων υποδεικνύει την κατάσταση της σύνδεσης του προγράμματος επεξεργασίας με τον διακομιστή. Εάν δεν συνδεθείτε αυτόματα στον διακομιστή, όταν εκκινείτε το Επεξεργαστή ερωτημάτων, εμφανίζεται ένα πλαίσιο διαλόγου Σύνδεση με διακομιστή, το οποίο σας επιτρέπει να επιλέξετε τον διακομιστή στον οποίο θα συνδεθείτε και τη λειτουργία ελέγχου ταυτότητας. Η επεξεργασία ερωτημάτων εκτός σύνδεσης παρέχει μεγαλύτερη ευελιξία από ό,τι όταν συνδέεται σε διακομιστή. Για να επεξεργαστείτε ερωτήματα, δεν είναι απαραίτητο να συνδεθείτε στον διακομιστή και το παράθυρο του προγράμματος επεξεργασίας ερωτημάτων μπορεί να αποσυνδεθεί από έναν διακομιστή (χρησιμοποιώντας την εντολή μενού Ερώτημα --> Σύνδεση --> Αποσύνδεση) και να συνδεθεί σε άλλο χωρίς να ανοίξει άλλο παράθυρο επεξεργασίας. Για να επιλέξετε τη λειτουργία επεξεργασίας εκτός σύνδεσης, χρησιμοποιήστε το παράθυρο διαλόγου Connect to Server που ανοίγει όταν εκκινείτε το πρόγραμμα επεξεργασίας. συγκεκριμένου τύπουαιτήματα, απλώς κάντε κλικ στο κουμπί Ακύρωση. Μπορείτε να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας ερωτημάτων για να εκτελέσετε τις ακόλουθες εργασίες: δημιουργία και εκτέλεση δηλώσεων Transact-SQL. αποθήκευση δημιουργημένων δηλώσεων γλώσσας Transact-SQL σε ένα αρχείο. δημιουργία και ανάλυση σχεδίων εκτέλεσης για κοινά ερωτήματα. απεικονίζοντας γραφικά το σχέδιο εκτέλεσης του επιλεγμένου ερωτήματος. Το πρόγραμμα επεξεργασίας ερωτημάτων περιέχει ένα ενσωματωμένο επεξεργαστής κειμένουκαι μια γραμμή εργαλείων με ένα σύνολο κουμπιών για διαφορετικές ενέργειες. Το κύριο παράθυρο του προγράμματος επεξεργασίας ερωτημάτων χωρίζεται οριζόντια σε έναν πίνακα ερωτημάτων (στην κορυφή) και έναν πίνακα αποτελεσμάτων (στο κάτω μέρος). Οι δηλώσεις Transact-SQL (δηλαδή, ερωτήματα) που θα εκτελεστούν εισάγονται στο επάνω τμήμα του παραθύρου και τα αποτελέσματα της επεξεργασίας αυτών των ερωτημάτων από το σύστημα εμφανίζονται στο κάτω τμήμα. Το παρακάτω σχήμα δείχνει ένα παράδειγμα εισαγωγής ενός ερωτήματος στο πρόγραμμα επεξεργασίας ερωτημάτων και τα αποτελέσματα της εκτέλεσης αυτού του ερωτήματος: Η πρώτη δήλωση αιτήματος USE καθορίζει τη χρήση της βάσης δεδομένων SampleDb ως τρέχουσας βάσης δεδομένων. Η δεύτερη πρόταση, SELECT, ανακτά όλες τις σειρές από τον πίνακα Employee. Για να εκτελέσετε αυτό το ερώτημα και να εμφανίσετε τα αποτελέσματα, στη γραμμή εργαλείων Επεξεργασία ερωτήματος, κάντε κλικ στο κουμπί Εκτέλεση ή πατήστε F5. Μπορείτε να ανοίξετε πολλά παράθυρα του Query Editor, π.χ. πραγματοποιήστε πολλαπλές συνδέσεις σε μία ή περισσότερες παρουσίες του μηχανισμού βάσης δεδομένων. Δημιουργείται μια νέα σύνδεση κάνοντας κλικ στο κουμπί Νέο ερώτημα στη γραμμή εργαλείων SQL Server Management Studio. Η γραμμή κατάστασης στο κάτω μέρος του παραθύρου του Επεξεργαστή ερωτημάτων εμφανίζει τις ακόλουθες πληροφορίες σχετικά με την εκτέλεση των δηλώσεων ερωτήματος: την κατάσταση της τρέχουσας λειτουργίας (για παράδειγμα, "Η αίτηση ολοκληρώθηκε με επιτυχία"). όνομα διακομιστή βάσης δεδομένων. τρέχον όνομα χρήστη και αναγνωριστικό διαδικασίας διακομιστή. τρέχον όνομα βάσης δεδομένων. χρόνος που δαπανήθηκε για την εκτέλεση της τελευταίας αίτησης· αριθμός γραμμών που βρέθηκαν. Ένα από τα κύρια πλεονεκτήματα του SQL Server Management Studio είναι η ευκολία χρήσης του, η οποία ισχύει και για το Query Editor. Το Query Editor παρέχει πολλές δυνατότητες για να διευκολύνει την κωδικοποίηση των δηλώσεων Transact-SQL. Συγκεκριμένα, χρησιμοποιεί επισήμανση σύνταξης για να βελτιώσει την αναγνωσιμότητα των δηλώσεων Transact-SQL. Όλες οι δεσμευμένες λέξεις εμφανίζονται με μπλε, οι μεταβλητές εμφανίζονται με μαύρο, οι συμβολοσειρές εμφανίζονται με κόκκινο και τα σχόλια εμφανίζονται με πράσινο. Επιπλέον, το πρόγραμμα επεξεργασίας ερωτημάτων είναι εξοπλισμένο με τη βοήθεια ευαίσθητη στο περιβάλλον που ονομάζεται Δυναμική Βοήθεια, μέσω του οποίου μπορείτε να λάβετε πληροφορίες για μια συγκεκριμένη οδηγία. Εάν δεν γνωρίζετε τη σύνταξη μιας εντολής, επιλέξτε την στο πρόγραμμα επεξεργασίας και, στη συνέχεια, πατήστε το πλήκτρο F1. Μπορείτε επίσης να επισημάνετε τις παραμέτρους διαφόρων δηλώσεων Transact-SQL για να λάβετε βοήθεια σχετικά με αυτές από το Books Online. Το SQL Management Studio υποστηρίζει το SQL Intellisense, το οποίο είναι ένας τύπος εργαλείου αυτόματης συμπλήρωσης. Με άλλα λόγια, αυτή η ενότητα προτείνει την πιο πιθανή ολοκλήρωση μερικώς εισαγόμενων στοιχείων δήλωσης Transact-SQL. Ο εξερευνητής αντικειμένων μπορεί επίσης να σας βοηθήσει να επεξεργαστείτε ερωτήματα. Για παράδειγμα, εάν θέλετε να μάθετε πώς να δημιουργήσετε μια δήλωση CREATE TABLE για τον πίνακα Employee, κάντε δεξί κλικ στον πίνακα στην Εξερεύνηση αντικειμένων και στον πίνακα που προκύπτει μενού περιβάλλοντοςεπιλέξτε Πίνακας δέσμης ενεργειών ως --> ΔΗΜΙΟΥΡΓΙΑ σε --> Νέο παράθυρο επεξεργασίας ερωτημάτων. Το παράθυρο του Επεξεργαστή ερωτημάτων που περιέχει τη δήλωση CREATE TABLE που δημιουργήθηκε με αυτόν τον τρόπο φαίνεται στο παρακάτω σχήμα. Αυτή η δυνατότητα ισχύει επίσης για άλλα αντικείμενα, όπως αποθηκευμένες διαδικασίες και λειτουργίες. Το Object Browser είναι πολύ χρήσιμο για την γραφική εμφάνιση του σχεδίου εκτέλεσης ενός συγκεκριμένου ερωτήματος. Το σχέδιο εκτέλεσης ερωτήματος είναι η επιλογή εκτέλεσης που επιλέγεται από το πρόγραμμα βελτιστοποίησης ερωτημάτων μεταξύ πολλών πιθανές επιλογέςεκπλήρωση συγκεκριμένου αιτήματος. Εισαγάγετε το απαιτούμενο ερώτημα στον επάνω πίνακα του προγράμματος επεξεργασίας, επιλέξτε μια ακολουθία εντολών από το μενού Ερώτημα --> Εμφάνιση εκτιμώμενου σχεδίου εκτέλεσης και το σχέδιο εκτέλεσης για αυτό το ερώτημα θα εμφανιστεί στον κάτω πίνακα του παραθύρου του προγράμματος επεξεργασίας. Η επεξεργασία ερωτημάτων στο SQL Server Management Studio βασίζεται στη μέθοδο λύσεων. Εάν δημιουργήσετε ένα κενό ερώτημα χρησιμοποιώντας το κουμπί Νέο ερώτημα, θα βασίζεται σε μια κενή λύση. Μπορείτε να το δείτε εκτελώντας μια ακολουθία εντολών από το μενού Προβολή --> Εξερεύνηση λύσεων αμέσως μετά το άνοιγμα ενός κενού ερωτήματος. Η απόφαση μπορεί να σχετίζεται με κανένα, ένα ή περισσότερα έργα. Μια κενή λύση, που δεν σχετίζεται με κανένα έργο. Για να συσχετίσετε ένα έργο με μια λύση, κλείστε την κενή λύση, Εξερεύνηση λύσεων και Επεξεργαστής ερωτημάτων και δημιουργήστε ένα νέο έργο εκτελώντας Αρχείο --> Νέο --> Έργο. Στο παράθυρο Νέο έργο που ανοίγει, επιλέξτε την επιλογή SQL Server Scripts στο μεσαίο παράθυρο. Ένα έργο είναι ένας τρόπος οργάνωσης αρχείων σε μια συγκεκριμένη τοποθεσία. Μπορείτε να εκχωρήσετε ένα όνομα στο έργο και να επιλέξετε μια θέση για τη θέση του στο δίσκο. Όταν δημιουργείτε ένα νέο έργο, μια νέα λύση εκκινείται αυτόματα. Το έργο μπορεί να προστεθεί υπάρχουσα λύσηχρησιμοποιώντας το Solution Explorer. Για κάθε έργο που δημιουργείται, η Εξερεύνηση λύσεων εμφανίζει τους φακέλους Συνδέσεις, Ερωτήματα και Διάφορα. Για να ανοίξετε ένα νέο παράθυρο Επεξεργαστή ερωτημάτων για ένα συγκεκριμένο έργο, κάντε δεξί κλικ στο φάκελο Ερωτήματα και επιλέξτε Νέο ερώτημα από το μενού περιβάλλοντος. Ο SQL Server, ξεκινώντας με τον SQL Server 2008, διαθέτει ενσωματωμένο πρόγραμμα εντοπισμού σφαλμάτων κώδικα. Για να ξεκινήσετε μια περίοδο λειτουργίας εντοπισμού σφαλμάτων, επιλέξτε Εντοπισμός σφαλμάτων --> Έναρξη εντοπισμού σφαλμάτων από το κύριο μενού του SQL Server Management Studio. Θα εξετάσουμε πώς λειτουργεί το πρόγραμμα εντοπισμού σφαλμάτων χρησιμοποιώντας ένα παράδειγμα χρησιμοποιώντας μια παρτίδα εντολών. Μια παρτίδα είναι μια λογική ακολουθία εντολών SQL και επεκτάσεων διαδικασίας που αποστέλλεται στη Μηχανή βάσης δεδομένων για να εκτελέσει όλες τις εντολές που περιέχει. Το παρακάτω σχήμα δείχνει ένα πακέτο που μετράει τον αριθμό των εργαζομένων που εργάζονται στο έργο p1. Εάν αυτός ο αριθμός είναι 4 ή περισσότερο, τότε εμφανίζεται ένα αντίστοιχο μήνυμα. Σε αντίθετη περίπτωση εμφανίζονται το όνομα και το επίθετο των εργαζομένων. Για να σταματήσετε την εκτέλεση ενός πακέτου σε μια συγκεκριμένη εντολή, μπορείτε να ορίσετε σημεία διακοπής, όπως φαίνεται στο σχήμα. Για να το κάνετε αυτό, κάντε κλικ στα αριστερά της γραμμής στην οποία θέλετε να σταματήσετε. Όταν ξεκινά ο εντοπισμός σφαλμάτων, η εκτέλεση σταματά στην πρώτη γραμμή κώδικα, η οποία σημειώνεται με ένα κίτρινο βέλος. Για να συνεχίσετε την εκτέλεση και τον εντοπισμό σφαλμάτων, επιλέξτε την εντολή Debug --> Continue μενού. Οι οδηγίες παρτίδας θα συνεχίσουν να εκτελούνται μέχρι το πρώτο σημείο διακοπής και το κίτρινο βέλος θα σταματήσει σε αυτό το σημείο. Οι πληροφορίες που σχετίζονται με τη διαδικασία εντοπισμού σφαλμάτων εμφανίζονται σε δύο πίνακες στο κάτω μέρος του παραθύρου του Επεξεργαστή ερωτημάτων. Πληροφορίες για διαφορετικών τύπωνΟι πληροφορίες εντοπισμού σφαλμάτων ομαδοποιούνται σε αυτούς τους πίνακες σε πολλές καρτέλες. Το αριστερό παράθυρο περιέχει την καρτέλα Autos, την καρτέλα Locals και έως και πέντε καρτέλες Watch. Το δεξιό παράθυρο περιέχει τις καρτέλες Στοίβα κλήσεων, Νήματα, Σημεία διακοπής, Παράθυρο εντολών, Άμεσο παράθυρο και Έξοδος. Η καρτέλα Locals εμφανίζει τιμές μεταβλητών, η καρτέλα Call Stack εμφανίζει τιμές στοίβας κλήσεων και η καρτέλα Breakpoints εμφανίζει πληροφορίες για τα σημεία διακοπής. Για να τερματίσετε τη διαδικασία εντοπισμού σφαλμάτων, εκτελέστε μια ακολουθία εντολών από το κύριο μενού Εντοπισμός σφαλμάτων --> Διακοπή εντοπισμού σφαλμάτων ή κάντε κλικ στο μπλε κουμπί στη γραμμή εργαλείων εντοπισμού σφαλμάτων. Ο SQL Server 2012 προσθέτει πολλές νέες δυνατότητες στον ενσωματωμένο εντοπισμό σφαλμάτων στο SQL Server Management Studio. Τώρα μπορείτε να εκτελέσετε έναν αριθμό από τις ακόλουθες λειτουργίες σε αυτό: Καθορίστε μια συνθήκη σημείου διακοπής. Κατάσταση σημείου διακοπήςείναι μια έκφραση SQL της οποίας η αξιολογημένη τιμή καθορίζει εάν η εκτέλεση κώδικα θα σταματήσει σε ένα δεδομένο σημείο ή όχι. Για να καθορίσετε μια συνθήκη σημείου διακοπής, κάντε δεξί κλικ στο κόκκινο εικονίδιο σημείου διακοπής και επιλέξτε Συνθήκη από το μενού περιβάλλοντος. Ανοίγει το παράθυρο διαλόγου Συνθήκη Σημείου Διακοπής, επιτρέποντάς σας να εισαγάγετε την απαιτούμενη έκφραση Boolean. Επιπλέον, εάν πρέπει να σταματήσετε την εκτέλεση εάν η έκφραση είναι αληθής, θα πρέπει να ορίσετε το διακόπτη Is True. Εάν η εκτέλεση πρέπει να διακοπεί εάν η έκφραση έχει αλλάξει, τότε πρέπει να ρυθμίσετε το διακόπτη When Changed. Καθορίστε τον αριθμό των επισκέψεων στο σημείο διακοπής. Το πλήθος χτυπημάτων είναι η συνθήκη για τη διακοπή της εκτέλεσης σε ένα δεδομένο σημείο με βάση τον αριθμό των φορών που χτυπήθηκε αυτό το σημείο διακοπής κατά τη διάρκεια της εκτέλεσης. Όταν επιτευχθεί ο καθορισμένος αριθμός περασμάτων και οποιαδήποτε άλλη συνθήκη που καθορίζεται για ένα δεδομένο σημείο διακοπής, ο εντοπισμός σφαλμάτων εκτελεί την καθορισμένη ενέργεια. Η συνθήκη ματαίωσης εκτέλεσης με βάση τον αριθμό των επισκέψεων μπορεί να είναι μία από τις ακόλουθες: άνευ όρων (προεπιλεγμένη ενέργεια) (Διάλειμμα πάντα). εάν ο αριθμός των επισκέψεων είναι ίσος με την καθορισμένη τιμή (Διάλειμμα όταν το πλήθος του ισούται με μια καθορισμένη τιμή). εάν ο αριθμός των επισκέψεων είναι πολλαπλάσιο μιας καθορισμένης τιμής (Διακοπή όταν ο αριθμός επισκέψεων ισούται με πολλαπλάσιο μιας καθορισμένης τιμής). Σπάστε όταν το πλήθος του είναι μεγαλύτερο ή ίσο με μια καθορισμένη τιμή. Για να ορίσετε τον αριθμό των επισκέψεων κατά τον εντοπισμό σφαλμάτων, κάντε δεξί κλικ στο εικονίδιο του απαιτούμενου σημείου διακοπής στην καρτέλα Σημεία διακοπής, επιλέξτε Πλήθος επισκέψεων από το μενού περιβάλλοντος και, στη συνέχεια, επιλέξτε μία από τις συνθήκες στο πλαίσιο διαλόγου Πλήθος επισκέψεων σημείων διακοπής που ανοίγει από την προηγούμενη λίστα. Για επιλογές που απαιτούν μια τιμή, πληκτρολογήστε την στο πλαίσιο κειμένου στα δεξιά της αναπτυσσόμενης λίστας συνθηκών. Για να αποθηκεύσετε τις καθορισμένες συνθήκες, κάντε κλικ στο OK. Καθορίστε ένα φίλτρο σημείου διακοπής. Ένα φίλτρο σημείου διακοπής περιορίζει τη λειτουργία σημείου διακοπής μόνο σε καθορισμένους υπολογιστές, διεργασίες ή νήματα. Για να ορίσετε ένα φίλτρο σημείου διακοπής, κάντε δεξί κλικ στο σημείο διακοπής που θέλετε και επιλέξτε Φίλτρο από το μενού περιβάλλοντος. Στη συνέχεια, στο παράθυρο διαλόγου Φίλτρα σημείου διακοπής που ανοίγει, καθορίστε τους πόρους στους οποίους θέλετε να περιορίσετε την εκτέλεση αυτού του σημείου διακοπής. Για να αποθηκεύσετε τις καθορισμένες συνθήκες, κάντε κλικ στο OK. Καθορίστε μια ενέργεια σε σημείο διακοπής. Η συνθήκη When Hit καθορίζει την ενέργεια που πρέπει να γίνει όταν η εκτέλεση παρτίδας φτάσει σε ένα δεδομένο σημείο διακοπής. Από προεπιλογή, όταν ικανοποιούνται τόσο η συνθήκη καταμέτρησης επισκέψεων όσο και η συνθήκη διακοπής, τότε η εκτέλεση ματαιώνεται. Εναλλακτικά, μπορεί να εμφανιστεί ένα προκαθορισμένο μήνυμα. Για να καθορίσετε τι να κάνετε όταν χτυπιέται ένα σημείο διακοπής, κάντε δεξί κλικ στο κόκκινο εικονίδιο για το σημείο διακοπής και επιλέξτε Όταν χτυπάτε από το μενού περιβάλλοντος. Στο παράθυρο διαλόγου When Breakpoint is Hit που ανοίγει, επιλέξτε την ενέργεια που θέλετε να κάνετε. Για να αποθηκεύσετε τις καθορισμένες συνθήκες, κάντε κλικ στο OK. Χρησιμοποιήστε το παράθυρο Quick Watch. Μπορείτε να προβάλετε την τιμή μιας έκφρασης Transact-SQL στο παράθυρο QuickWatch και, στη συνέχεια, να αποθηκεύσετε την έκφραση στο παράθυρο Watch. Για να ανοίξετε το παράθυρο Quick Watch, επιλέξτε Quick Watch από το μενού Debug. Η έκφραση σε αυτό το παράθυρο μπορεί είτε να επιλεγεί από την αναπτυσσόμενη λίστα Έκφραση είτε να εισαχθεί σε αυτό το πεδίο. Χρησιμοποιήστε την επεξήγηση εργαλείου Γρήγορες πληροφορίες. Όταν τοποθετείτε το ποντίκι σας πάνω από ένα αναγνωριστικό κωδικού, Γρήγορες πληροφορίες ( Σύντομη ενημέρωση) εμφανίζει τη διαφήμισή του σε ένα αναδυόμενο παράθυρο.Εντολές για εργασία με βάσεις δεδομένων
1. Προβολή διαθέσιμων βάσεων δεδομένων
ΕΜΦΑΝΙΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ. 2. Δημιουργήστε μια νέα βάση δεδομένων
ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. 3. Επιλογή βάσης δεδομένων για χρήση
ΧΡΗΣΗ 4. Εισαγάγετε εντολές SQL από αρχείο .sql
ΠΗΓΗ 5. Διαγράψτε τη βάση δεδομένων
ΑΠΟΣΤΟΛΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Εργασία με τραπέζια
6. Προβάλετε τους διαθέσιμους πίνακες στη βάση δεδομένων
ΕΜΦΑΝΙΣΤΕ ΠΙΝΑΚΕΣ.
7. Δημιουργήστε έναν νέο πίνακα
ΔΗΜΙΟΥΡΓΙΑ ΤΡΑΠΕΖΙΟΥ Περιορισμοί ακεραιότητας κατά τη χρήση του CREATE TABLE
Παράδειγμα
8. Πληροφορίες πίνακα
9. Προσθήκη δεδομένων στον πίνακα
ΕΙΣΑΓΩΓΗ ΣΤΟ 10. Ενημέρωση δεδομένων πίνακα
ΕΚΣΥΓΧΡΟΝΙΖΩ 11. Αφαίρεση όλων των δεδομένων από τον πίνακα
ΔΙΑΓΡΑΦΗ ΑΠΟ 12. Διαγράψτε έναν πίνακα
ΠΤΡΑΠΕΖΙ ΠΤΩΣΗΣ Εντολές για τη δημιουργία ερωτημάτων
13. ΕΠΙΛΟΓΗ
14. ΕΠΙΛΕΞΤΕ DISTINCT
15. ΠΟΥ
Παράδειγμα
16. ΟΜΑΔΑ ΑΠΟ
Παράδειγμα
17. ΕΧΟΝΤΑΣ
Παράδειγμα
18. ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ
Παράδειγμα
19. ΜΕΤΑΞΥ
Παράδειγμα
20. LIKE
ΕΠΙΛΕΓΩ Παράδειγμα
21. ΕΙΣ
Παράδειγμα
22. ΕΓΓΡΑΦΕΙΤΕ
Παράδειγμα 1
Παράδειγμα 2
Παράδειγμα 3
23. Προβολή
Δημιουργία
ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΒΟΛΗ Μετακίνηση
ΑΠΟΣΤΟΛΗ ΠΡΟΒΟΛΗ Παράδειγμα
24. Αθροιστικές συναρτήσεις
25. Ένθετα υποερωτήματα
Παράδειγμα
ΣΕ αυτή η κριτικήΘα εξετάσουμε τους πιο συνηθισμένους τύπους ερωτημάτων SQL.
Το πρότυπο SQL ορίζεται ANSI(Αμερικανικό Εθνικό Ινστιτούτο Προτύπων).
Η SQL είναι μια γλώσσα που στοχεύει ειδικά σε σχεσιακές βάσεις δεδομένων. Διαμέριση SQL:
DDL(Γλώσσα ορισμού δεδομένων)
- η λεγόμενη γλώσσα περιγραφής σχήματος στο ANSI, αποτελείται από εντολές που δημιουργούν αντικείμενα (πίνακες, ευρετήρια, προβολές κ.λπ.) στη βάση δεδομένων.
DML(Γλώσσα χειρισμού δεδομένων) είναι ένα σύνολο εντολών που καθορίζουν ποιες τιμές αντιπροσωπεύονται σε πίνακες ανά πάσα στιγμή.
DCD(Γλώσσα διαχείρισης δεδομένων) αποτελείται από εγκαταστάσεις που καθορίζουν εάν θα επιτρέπεται σε έναν χρήστη να εκτελεί ορισμένες ενέργειες ή όχι. Αποτελούν μέρος του ANSI DDL. Μην ξεχνάτε αυτά τα ονόματα. Αυτές δεν είναι διαφορετικές γλώσσες, αλλά τμήματα εντολών SQL ομαδοποιημένα με βάση τις συναρτήσεις τους. Τύποι δεδομένων:
SQL Server - Τύποι δεδομένων
(συνώνυμο απανθρακώνω)
Ξεκινώντας με τον SQL Server 2005, δεν συνιστάται η χρήση του.
ΤΙ ΕΙΝΑΙ ΑΙΤΗΣΗ;
Εντολή SELECT:
Τύπος ερωτήματος χρησιμοποιώντας SELECT:SELECT δομή εντολών:
- Αυτός είναι ο απλούστερος τύπος αιτήματος. Υπάρχουν πρόσθετες εντολές για εύκολη ανάκτηση δεδομένων (δείτε παρακάτω «Λειτουργίες») Εντολές DML:
ΕΙΣΑΓΩ(Εισάγω)
ΕΚΣΥΓΧΡΟΝΙΖΩ(Ενημέρωση, τροποποίηση),
ΔΙΑΓΡΑΦΩ(Διαγράφω) Εντολή INSERT:
Η εντολή INSERT έρχεται με το πρόθεμα INTO (μέσα σε), στη συνέχεια στις αγκύλες είναι τα ονόματα των στηλών στις οποίες πρέπει να εισάγουμε δεδομένα, μετά έρχεται η εντολή VALUES (τιμές) και στις αγκύλες οι τιμές έρχονται με τη σειρά τους (είναι απαραίτητο για την τήρηση της σειράς των τιμών με τις στήλες, οι τιμές πρέπει να είναι με την ίδια σειρά με τις στήλες που καθορίσατε). Εντολή UPDATE:
Εντολή DELETE:
Κριτήρια, συναρτήσεις, συνθήκες κ.λπ. τι μας βοηθάει στην SQL:
Παράδειγμα:
SELECT id, city, birth_day FROM users_base WHERE user_name = ‘Alexey’;- ένα τέτοιο ερώτημα θα εμφανίζει μόνο εκείνες τις σειρές που ταιριάζουν με τη συνθήκη WHERE, δηλαδή όλες τις σειρές στις οποίες η στήλη user_name έχει την τιμή Alexey.
Παράδειγμα:
ΕΠΙΛΟΓΗ ταυτότητας, πόλη, γενέθλια ημέρα ΑΠΟ users_base ORDER BY user_name ASC; - ένα τέτοιο ερώτημα θα εμφανίζει τιμές ταξινομημένες με βάση τη στήλη user_name από Α έως Ω (A-Z; 0-9)
Παράδειγμα:
SELECT id, city, birth_day FROM users_base WHERE user_name = ‘Alexey’ ORDER BY id ASC;
Παράδειγμα:
ΕΠΙΛΕΞΤΕ ΞΕΧΩΡΙΣΤΟ όνομα_χρήστη ΑΠΟ ΤΗ βάση χρηστών_χρήστη.- ένα τέτοιο ερώτημα θα μας δείξει τις τιμές όλων των εγγραφών στη στήλη user_name, αλλά δεν θα επαναληφθούν, π.χ. αν είχατε άπειρο αριθμό επαναλαμβανόμενων τιμών, τότε δεν θα εμφανιστούν...
Παράδειγμα:
SELECT * FROM users_base WHERE city = 'Rostov' AND user_name = 'Alexander';- θα εμφανίσει όλες τις τιμές από τον πίνακα όπου εμφανίζεται το όνομα της πόλης σε μία γραμμή (σε αυτήν την περίπτωση, Rostov και το όνομα χρήστη Alexander.
SELECT * FROM users_base WHERE city = 'Rostov' OR NOT user_name = 'Alexander';- θα εμφανίσει όλες τις τιμές από τον πίνακα όπου το όνομα της πόλης Rostov εμφανίζεται σε μία γραμμή ή το όνομα χρήστη δεν είναι ακριβώς Alexander.
SELECT * FROM users_base WHERE city IN ('Vladivostok', 'Rostov');- ένα τέτοιο ερώτημα θα εμφανίσει όλες τις τιμές από τον πίνακα που περιέχουν τα ονόματα των καθορισμένων πόλεων στη στήλη της πόλης
SELECT * FROM users_base WHERE id BETWEEN 1 ΚΑΙ 10;- εμφανίζει όλες τις τιμές από τον πίνακα που θα είναι στην περιοχή από 1 έως 10 στη στήλη id
SELECT COUNT (*) FROM users_base ;- θα εμφανίσει τον αριθμό των σειρών σε αυτόν τον πίνακα.
SELECT COUNT (DISTINCT user_name) FROM users_base ;- θα εμφανίσει τον αριθμό των γραμμών με ονόματα χρηστών (δεν επαναλαμβάνεται)
SELECT SUM (id) FROM users_base ;- θα εμφανίσει το άθροισμα των τιμών όλων των σειρών της στήλης id.
SELECT AVG (id) FROM users_base ;- θα εμφανίσει τον μέσο όρο όλων των επιλεγμένων τιμών της στήλης idΔημιουργία πινάκων:
ΠΑΩ
ΕΝΕΡΓΟΠΟΙΗΣΗ QUOTED_IDENTIFIER
ΠΑΩ
ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ (ΕΠΙΛΟΓΗ * ΑΠΟ sys.objects WHERE object_id = OBJECT_ID(N."") ΚΑΙ πληκτρολογήστε (N"U"))
ΑΡΧΙΖΩ
ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΙΝΑΚΑ .(
ΟΧΙ ΜΗΧΑΝΟ,
ΟΧΙ ΜΗΧΑΝΟ,
ΟΧΙ ΜΗΧΑΝΟ,
ΚΡΕΓΑΤΟ ΚΛΕΙΔΙ ΟΜΑΔΕΣ
A.S.C.
ΤΕΛΟΣ
ΠΑΩ
ΕΝΕΡΓΟΠΟΙΗΣΗ ANSI_NULLS
ΠΑΩ
ΕΝΕΡΓΟΠΟΙΗΣΗ QUOTED_IDENTIFIER
ΠΑΩ
ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ (ΕΠΙΛΟΓΗ * ΑΠΟ sys.objects WHERE object_id = OBJECT_ID(N."") ΚΑΙ πληκτρολογήστε (N"U"))
ΑΡΧΙΖΩ
ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΙΝΑΚΑ .(
ΤΑΥΤΟΤΗΤΑ(1,1) ΟΧΙ NULL,
ΑΚΥΡΟΣ,
ΑΚΥΡΟΣ,
ΚΡΕΓΑΤΟ ΚΛΕΙΔΙ ΟΜΑΔΕΣ
A.S.C.
)ΜΕ (IGNORE_DUP_KEY = OFF) ON
) ON TEXTIMAGE_ON
ΤΕΛΟΣ
ΠΑΩ
ΕΝΕΡΓΟΠΟΙΗΣΗ ANSI_NULLS
ΠΑΩ
ΕΝΕΡΓΟΠΟΙΗΣΗ QUOTED_IDENTIFIER
ΠΑΩ
ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ (ΕΠΙΛΟΓΗ * ΑΠΟ sys.objects WHERE object_id = OBJECT_ID(N."") ΚΑΙ πληκτρολογήστε (N"U"))
ΑΡΧΙΖΩ
ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΙΝΑΚΑ .(
ΤΑΥΤΟΤΗΤΑ(1,1) ΟΧΙ NULL,
ΑΚΥΡΟΣ,
ΑΚΥΡΟΣ,
ΚΡΕΓΑΤΟ ΚΛΕΙΔΙ ΟΜΑΔΕΣ
A.S.C.
)ΜΕ (IGNORE_DUP_KEY = OFF) ON
) ΟΝ
ΤΕΛΟΣ
Η σύνταξη στον SQL Server 2005 είναι ένα άλλο θέμα, απλά ήθελα να δείξω ότι περιέγραψα τα βασικά του προγραμματισμού SQL, μπορείτε να φτάσετε στην κορυφή μόνοι σας γνωρίζοντας τα βασικά.Τραπέζι συνεδρίας.
Εκτέλεση 1. Δημιουργίανέο έργο
Δημιουργήστε ένα νέο έργο τύπου Windows Forms Application. Ένα παράδειγμα δημιουργίας ενός νέου έργου περιγράφεται λεπτομερώς
3. Τοποθετήστε το στοιχείο ελέγχου DataGridView και διαμορφώστε τη σύνδεση με τη βάση δεδομένων.
4. Ρύθμιση της εμφάνισης του στοιχείου ελέγχου DataGridView.
5. Συμβολοσειρά σύνδεσης
6. Δημιουργία νέα μορφήγια την επίδειξη εντολών χειρισμού δεδομένων.
7. Προσθήκη κουμπιών για κλήση εντολών για χειρισμό δεδομένων από τον πίνακα Student.
8. Προγραμματισμός ενός συμβάντος κλικ στο κουμπί «Εισαγωγή...».
9. Προγραμματισμός ενός συμβάντος κλικ στο κουμπί "Επεξεργασία...".
10. Προγραμματισμός ενός συμβάντος κλικ στο κουμπί «Διαγραφή».
Σχετικά Θέματα
Επεξεργαστής ερωτημάτων
Εξερεύνηση λύσεων
Εντοπισμός σφαλμάτων SQL Server