Εισαγωγή
Υπάρχουν διάφοροι λόγοι για τους οποίους μπορεί να θέλετε να ελέγξετε εάν υπάρχει μια στήλη NULL
στη MySQL:
-
Προς την φίλτρο αποτελεσμάτων ερωτήματος – Ίσως θέλετε να εξαιρέσετε σειρές με
NULL
τιμές από τα αποτελέσματα του ερωτήματός σας. Για παράδειγμα, μπορεί να θέλετε να λάβετε μια λίστα με όλους τους χρήστες που έχουν δώσει τις διευθύνσεις ηλεκτρονικού ταχυδρομείου τους, αλλά να εξαιρέσετε αυτούς που δεν τις έχουν δώσει. -
Προς την ενημέρωση ή διαγραφή σειρών – Ίσως θέλετε να ενημερώσετε ή να διαγράψετε μόνο εκείνες τις σειρές που έχουν
NULL
τιμές σε μια συγκεκριμένη στήλη. Για παράδειγμα, μπορεί να θέλετε να ορίσετε μια τιμή κράτησης θέσης για όλους τους χρήστες που δεν την έχουν παράσχει. -
Προς την χειριστεί τα δεδομένα που λείπουν - Σε πολλές περιπτώσεις,
NULL
Οι τιμές μπορεί να υποδεικνύουν δεδομένα που λείπουν λανθασμένα ή άγνωστα. Έλεγχος γιαNULL
Οι τιμές μπορούν να σας βοηθήσουν να χειριστείτε σωστά αυτά τα δεδομένα στην εφαρμογή σας. -
Προς την επιβολή της ακεραιότητας των δεδομένων – Ίσως θέλετε να βεβαιωθείτε ότι ορισμένες στήλες δεν είναι
NULL
προκειμένου να διατηρήσετε την ακεραιότητα των δεδομένων σας. Για παράδειγμα, μπορεί να θέλετε να διασφαλίσετε ότι όλοι οι χρήστες έχουν μηNULL
διεύθυνση ηλεκτρονικού ταχυδρομείου.
Συνολικά, έλεγχος για NULL
Οι τιμές μπορούν να είναι ένα σημαντικό μέρος της εργασίας με δεδομένα στη MySQL.
Σε αυτό το σύντομο άρθρο, θα ρίξουμε μια ματιά σε τι
NULL
στο MySQL είναι και πώς να ελέγξετε εάν μια στήλη είναιNULL
. Επιπλέον, θα εξετάσουμε ένα παράδειγμα ερωτήματος που βρίσκει και τα δύοNULL
και άδεια πεδία στην καθορισμένη στήλη.
Τι είναι Τιμή NULL σε MySQL
Στην MySQL, NULL
είναι μια ειδική τιμή που αντιπροσωπεύει το απουσία αξίας. Δεν είναι το ίδιο με μια κενή συμβολοσειρά ή με τον αριθμό 0, για παράδειγμα.
Μια στήλη σε έναν πίνακα MySQL μπορεί να οριστεί ως NULL
, που σημαίνει ότι μπορεί να αποθηκεύσει NULL
αξίες. Αυτό είναι διαφορετικό από μια στήλη που ορίζεται ως NOT NULL
, που σημαίνει ότι δεν μπορεί να αποθηκεύσει NULL
τιμές και πρέπει να δοθεί μια τιμή όταν εισάγεται μια νέα σειρά στον πίνακα, μήπως προκύψει σφάλμα.
Πώς να ελέγξετε εάν υπάρχει στήλη Τιμή NULL σε MySQL
Τώρα, μπορούμε να μεταβούμε στο πραγματικό ερώτημα που θα φιλτράρει όλα NULL
τιμές από τη στήλη του παραδείγματος. Για να ελέγξετε αν υπάρχει στήλη NULL
στη MySQL, μπορείτε να χρησιμοποιήσετε το IS NULL
χειριστής:
SELECT * FROM table_name WHERE column_name IS NULL;
Αυτό θα επιστρέψει όλες τις σειρές από table_name
όπου η αξία μέσα column_name
is NULL
.
Μπορείτε επίσης να χρησιμοποιήσετε το IS NOT NULL
χειριστή για έλεγχο για μηNULL
αξίες:
SELECT * FROM table_name WHERE column_name IS NOT NULL;
Αυτό θα επιστρέψει όλες τις σειρές από table_name
όπου η αξία μέσα column_name
δεν είναι NULL
.
Σημείωση: Λάβετε υπόψη ότι NULL
είναι μια ειδική τιμή στη MySQL που αντιπροσωπεύει την απουσία τιμής. Δεν είναι το ίδιο με μια κενή συμβολοσειρά ή με τον αριθμό 0.
Επιπλέον, μπορούμε να φροντίσουμε όλες τις ειδικές τιμές που ενδέχεται να αντιπροσωπεύουν την απουσία της καταχώρισης στήλης (NULL
, 0
, και κενή συμβολοσειρά) σε ένα μόνο ερώτημα:
SELECT * FROM table_name WHERE column_name IS NULL OR column_name = '' OR column_name=0;
Αυτό θα φιλτράρει όλες τις σειρές από table_name
όπου η αξία μέσα column_name
είναι ένα από τα ακόλουθα: NULL
, 0
ή μια κενή συμβολοσειρά.
Συμπέρασμα
Συμπερασματικά, ο έλεγχος εάν μια στήλη είναι μηδενική στη MySQL μπορεί να γίνει χρησιμοποιώντας το IS NULL
χειριστής σε α SELECT
δήλωση. Αυτός ο τελεστής μπορεί να χρησιμοποιηθεί σε α WHERE
ρήτρα για να φιλτράρετε το σύνολο αποτελεσμάτων και να επιστρέψετε μόνο σειρές όπου βρίσκεται η καθορισμένη στήλη NULL
.
Είναι επίσης δυνατή η χρήση του IS NOT NULL
τελεστής για να επιστρέψει σειρές όπου δεν βρίσκεται η στήλη NULL
. Είναι σημαντικό να σημειωθεί ότι NULL
Οι τιμές αντιπροσωπεύουν δεδομένα που λείπουν ή άγνωστα και διαφέρουν από το μηδέν ή μια κενή συμβολοσειρά. Με τη χρήση του IS NULL
και IS NOT NULL
χειριστές, μπορείτε να χειριστείτε αποτελεσματικά NULL
τιμές στα ερωτήματά σας MySQL και βεβαιωθείτε ότι τα αποτελέσματά σας είναι ακριβή και ουσιαστικά.