🧚 Άκου! Το Beekeeper Studio είναι ένα γρήγορο, σύγχρονο και open source GUI για MySQL Λήψη
29 Απριλίου 2024 Από τον Matthew Rathbone

Εισαγωγή

Σήμερα θα δούμε πώς γίνεται η αφαίρεση στη MySQL, μια δημοφιλή πλατφόρμα διαχείρισης σχεσιακών βάσεων δεδομένων. Αυτός ο οδηγός εστιάζει στην αφαίρεση στη MySQL και καλύπτει διάφορα σενάρια, από βασικές αριθμητικές πράξεις μέχρι πιο σύνθετες περιπτώσεις, όπως τον υπολογισμό διαφορών μεταξύ γραμμών ή ημερομηνιών.

Σημείωση: Παρόλο που πολλές έννοιες της SQL ισχύουν σε διαφορετικά συστήματα διαχείρισης βάσεων δεδομένων, τα παραδείγματα αυτού του άρθρου έχουν σχεδιαστεί ειδικά για τη MySQL.

Πριν συνεχίσεις το διάβασμα, ήθελα απλώς να σου πω για τον σύγχρονο MySQL client μας, το Beekeeper Studio. Ο SQL editor του με αυτόματη συμπλήρωση κάνει τη δοκιμή αυτών των υπολογισμών γρήγορη υπόθεση, και είναι δωρεάν για MySQL· κατέβασέ το εδώ.

Προαπαιτούμενα

Αυτός ο οδηγός προϋποθέτει ότι είσαι εξοικειωμένος με τη MySQL. Βεβαιώσου ότι έχεις εγκατεστημένη τη MySQL και πρόσβαση σε μια βάση δεδομένων όπου μπορείς να εκτελείς queries.

Ενότητα 1: Βασικές αριθμητικές πράξεις στη MySQL

Αφαίρεση αριθμών

Η MySQL υποστηρίζει βασικούς αριθμητικούς τελεστές απευθείας στην εντολή SELECT. Δες πώς κάνεις μια απλή αφαίρεση:

SELECT 15 - 7 AS difference;

Αναμενόμενο αποτέλεσμα

+------------+
| difference |
+------------+
|          8 |
+------------+

Αυτό το query αφαιρεί το 7 από το 15 και ονομάζει το αποτέλεσμα difference.

Αυτός είναι ο απλούστερος τρόπος για αφαίρεση στη MySQL. Ο τελεστής ‘-‘ μπορεί να χρησιμοποιηθεί για να αφαιρέσεις αριθμούς απευθείας ή αριθμητικές τιμές που είναι αποθηκευμένες σε διαφορετικές στήλες ενός πίνακα.

Αφαίρεση στηλών

Για να αφαιρέσεις δύο στήλες σε έναν πίνακα της MySQL, ας πάρουμε έναν πίνακα με όνομα financials και στήλες revenue και expenses.

SELECT revenue, expenses, (revenue - expenses) AS net_income FROM financials;

Αναμενόμενο αποτέλεσμα:

+---------+----------+------------+
| revenue | expenses | net_income |
+---------+----------+------------+
| 10000   | 7000     | 3000       |
| 15000   | 12000    | 3000       |
+---------+----------+------------+

Αυτό το query υπολογίζει το καθαρό εισόδημα αφαιρώντας τα expenses από τα revenue.

Ενότητα 2: Δουλεύοντας με ημερομηνίες

Αφαίρεση ημερομηνιών

Στη MySQL, η αφαίρεση ημερομηνιών χρησιμεύει για τον υπολογισμό διαστημάτων, όπως ο αριθμός ημερών ανάμεσα σε δύο ημερομηνίες. Για αυτό, η MySQL παρέχει τη συνάρτηση DATEDIFF().

SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_difference;

Αναμενόμενο αποτέλεσμα:

+-----------------+
| days_difference |
+-----------------+
|             364 |
+-----------------+

Η DATEDIFF() επιστρέφει τον αριθμό ημερών ανάμεσα σε δύο ημερομηνίες, κάτι ιδιαίτερα χρήσιμο σε οικονομικούς υπολογισμούς και υπολογισμούς προσωπικού.

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

Η MySQL σου επιτρέπει να αφαιρείς συγκεκριμένα χρονικά διαστήματα από ημερομηνίες με τη συνάρτηση DATE_SUB(). Δες πώς μπορείς να αφαιρέσεις 30 ημέρες από μια συγκεκριμένη ημερομηνία:

SELECT DATE_SUB('2023-12-31', INTERVAL 30 DAY) AS new_date;

Αναμενόμενο αποτέλεσμα:

+------------+
| new_date   |
+------------+
| 2023-12-01 |
+------------+

Ενότητα 3: Προχωρημένες τεχνικές αφαίρεσης

Υπολογισμός σωρευτικών συνόλων

Για να δείξουμε έναν υπολογισμό σωρευτικού συνόλου που περιλαμβάνει αφαίρεση, ας υποθέσουμε έναν πίνακα λογιστικού βιβλίου με όνομα transactions και στήλες id, date και amount.

SET @running_total := 0;

SELECT 
  id,
  date,
  amount,
  (@running_total := @running_total - amount) AS running_total
FROM transactions
ORDER BY date;

Αναμενόμενο αποτέλεσμα:

+----+------------+--------+---------------+
| id | date       | amount | running_total |
+----+------------+--------+---------------+
|  1 | 2023-01-01 | 500    | -500          |
|  2 | 2023-01-02 | 150    | -650          |
+----+------------+--------+---------------+

Αυτό το query χρησιμοποιεί μια μεταβλητή session για να παρακολουθεί το σωρευτικό σύνολο, αφαιρώντας διαδοχικά το ποσό κάθε συναλλαγής.

Αφαίρεση στη MySQL με τιμές NULL

Θυμήσου ότι η MySQL αντιμετωπίζει το NULL ως άγνωστη τιμή. Αν συμπεριλάβεις NULL σε μια αφαίρεση, το αποτέλεσμα θα είναι επίσης NULL. Για να το λύσεις, μπορείς να χρησιμοποιήσεις τη συνάρτηση COALESCE.

SELECT COALESCE(column1, 0) - COALESCE(column2, 0) AS 'result' FROM table_name;

Όταν η column1 ή η column2 περιέχει NULL, η συνάρτηση COALESCE το αντιμετωπίζει ως ‘0’, ώστε η αφαίρεση να επιστρέφει και πάλι σωστό αποτέλεσμα.

Συμπέρασμα

Στην SQL, δεν είναι όλες οι πράξεις τόσο απλές όσο φαίνονται, και η αφαίρεση είναι μία από αυτές. Η καλύτερη προσέγγιση διαφέρει ανάλογα με το αν αφαιρείς αριθμούς, στήλες, ημερομηνίες ή κάνεις πιο προχωρημένους υπολογισμούς.

Εξασκήσου μόνος σου σε αυτά τα σενάρια και πειραματίσου με άλλους πίνακες και ονόματα στηλών.

Συνέχισε να εξερευνάς, συνέχισε να μαθαίνεις!

Για πιο σύνθετα queries και πραγματικές εφαρμογές, συνέχισε να εξερευνάς την εκτενή τεκμηρίωση και τις δυνατότητες της MySQL.

Το Beekeeper Studio είναι ένα δωρεάν & open source GUI για MySQL

Χρησιμοποιώ το Beekeeper Studio για τη δουλειά μου με MySQL τον τελευταίο καιρό και έγινε γρήγορα ένα από τα αγαπημένα μου εργαλεία βάσεων δεδομένων. Το περιβάλλον είναι καθαρό, σύγχρονο και χωρίς περισπασμούς, οπότε συγκεντρώνεσαι εύκολα στα queries χωρίς την ακαταστασία που βρίσκεις σε άλλα εργαλεία. - Surendra Singh

Το Beekeeper Studio είναι ένας γρήγορος, εύχρηστος και διαισθητικός MySQL client. Υποστηρίζει και πολλές άλλες βάσεις δεδομένων και λειτουργεί άψογα σε Windows, Mac και Linux.

Η έκδοση του Beekeeper για Linux έχει 100% όλες τις λειτουργίες, χωρίς εκπτώσεις και χωρίς συμβιβασμούς.

Τι λένε οι χρήστες της MySQL για το Beekeeper Studio

Beekeeper Beekeeper Ακόμα αρχάριος

Επέλεξα αυτό το πρόγραμμα μετά από χρόνια με το phpMyAdmin — είναι σαν να μπαίνεις σε έναν κόσμο ανώτερης ποιότητας· εδώ ένιωσα πραγματικά ότι νοιάζονται ειλικρινά για τον χρήστη. Η ίδια η ιδέα, η υλοποίηση, η πρακτική εμπειρία — είμαι ειλικρινά ευγνώμων στον Matthew για όλα αυτά.

Alex M

Καταπληκτικό εργαλείο, το πιο πρακτικό IDE που έχω βρει μέχρι σήμερα για διαχείριση βάσεων Postgres και MySql - απλώς δουλεύει, χωρίς φασαρία :-)

Έτοιμος να βελτιώσεις τη ροή εργασίας σου με MySQL;

download Δωρεάν λήψη