Ποιοι είναι οι περιορισμοί SQL και οι διαφορετικοί τύποι του;



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

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

Τα ακόλουθα θέματα θα καλυφθούν σε αυτό το άρθρο:





  1. Τι είναι οι περιορισμοί;
  2. Περιορισμοί διαθέσιμοι σε SQL:

Τι είναι οι περιορισμοί SQL;

Οι περιορισμοί SQL χρησιμοποιούνται για τον καθορισμό των κανόνων για τα δεδομένα σε έναν πίνακα. Αυτά χρησιμοποιούνται για τον περιορισμό του τύπου δεδομένων που πρέπει να αποθηκευτούν στη βάση δεδομένων και στοχεύουν στην αύξηση της ακρίβειας και της αξιοπιστίας των δεδομένων που είναι αποθηκευμένα στη βάση δεδομένων.

Έτσι, οι περιορισμοί διασφαλίζουν ότι δεν υπάρχει παραβίαση όσον αφορά τη συναλλαγή των δεδομένων, αλλά υπάρχει οποιαδήποτε παραβίαση που διαπιστώνεται ότι η ενέργεια τερματίζεται.



Υπάρχουν δύο τύποι περιορισμών που μπορούν να εφαρμοστούν:

  1. Περιορισμοί σε επίπεδο στήλης - Αυτοί οι περιορισμοί εφαρμόζονται σε μία στήλη
  2. Περιορισμοί επιπέδου πίνακα - Αυτοί οι περιορισμοί είναι η εφαρμογή στον πλήρη πίνακα

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

Διαφορετικοί διαθέσιμοι περιορισμοί SQL:

ΔΕΝ NULL Περιορισμός

Ο περιορισμός NOT NULL διασφαλίζει ότι μια στήλη δεν μπορεί να έχει τιμή NULL. Μπορείτε να χρησιμοποιήσετε τον περιορισμό NOT NULL είτε δημιουργώντας τον πίνακα βάση δεδομένων ή κατά την τροποποίησή της.



Παράδειγμα

ΔΕΝ NULL Περιορισμός στο CREATE TABLE

Γράψτε ένα ερώτημα για να δημιουργήσετε τον παραπάνω πίνακα μαθητών, όπου το StudentID και το StudentName δεν μπορούν να είναι NULL.

πώς να βρείτε τον μεγαλύτερο αριθμό σε έναν πίνακα java
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Φοιτητές (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

ΔΕΝ NULL Περιορισμός στο ALTER TABLE

Γράψτε ένα ερώτημα για να αλλάξετε τον παραπάνω πίνακα μαθητών, όπου πρέπει να προστεθεί μια νέα στήλη DOB και δεν θα πρέπει να έχει τιμές NULL.

ALTER TABLE Οι μαθητές ΠΡΟΣΘΗΚΗ ΣΤΗΛΗΣ DOB έτος ΟΧΙ ΜΗΝ

Προχωρώντας σε αυτό το άρθρο σχετικά με τους περιορισμούς SQL, ας καταλάβουμε πώς να χρησιμοποιήσουμε τον ΜΟΝΑΔΙΚΟ περιορισμό.

Μοναδικός περιορισμός

Ο ΜΟΝΑΔΙΚΟΣ περιορισμός χρησιμοποιείται για να βεβαιωθείτε ότι όλες οι τιμές σε μια στήλη είναι μοναδικές. Μπορείτε να χρησιμοποιήσετε τον ΜΟΝΑΔΙΚΟ περιορισμό είτε σε πολλές στήλες είτε σε μία μόνο στήλη με. Εκτός από αυτό, μπορείτε να προχωρήσετε και να χρησιμοποιήσετε τον ΜΟΝΑΔΙΚΟ περιορισμό για να τροποποιήσετε τους υπάρχοντες πίνακες.

Σημείωση:

  1. Κατά τη δημιουργία πινάκων, ένας περιορισμός PRIMARY KEY έχει αυτόματα ένα ΜΟΝΑΔΙΚΟ περιορισμό, για να εγγυηθεί τη μοναδικότητα μιας στήλης.
  2. Ένας πίνακας μπορεί να έχει πολλούς ΜΟΝΑΔΙΚους περιορισμούς, αλλά μπορεί να έχει έναν περιορισμό πρωτεύοντος κλειδιού.

Παράδειγμα:

ΜΟΝΑΔΙΚΟΣ περιορισμός στο CREATE TABLE

Γράψτε ένα ερώτημα για να δημιουργήσετε έναν πίνακα Φοιτητές, με στήλες StudentID, StudentName, Age και City. Εδώ, το StudentID πρέπει να είναι μοναδικό για κάθε εγγραφή.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Φοιτητές (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Ονομάστε ένα ΜΟΝΑΔΙΚΟ περιορισμό σε πολλές στήλες

Για να ονομάσετε έναν μοναδικό περιορισμό και να τον ορίσετε για πολλές στήλες, μπορείτε να ανατρέξετε στο ακόλουθο παράδειγμα:

Γράψτε ένα ερώτημα για να δημιουργήσετε έναν πίνακα Φοιτητές, με στήλες StudentID, StudentName, Age και City. Εδώ, το StudentID και το StudentName πρέπει να είναι μοναδικά για κάθε εγγραφή.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ Φοιτητές (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

Εδώ, το Stu_Example είναι το όνομα που δίνεται στον μοναδικό περιορισμό που εφαρμόζεται στο StudentID και StudentName.

ΜΟΝΑΔΙΚΟΣ περιορισμός στο ALTER TABLE

Γράψτε ένα ερώτημα για να αλλάξετε τον πίνακα μαθητών, όπου πρέπει να προστεθεί ένας ΜΟΝΑΔΙΚΟΣ περιορισμός στη στήλη StudentID.

ALTER TABLE Οι μαθητές ΠΡΟΣΘΗΚΗ ΜΟΝΑΔΙΚΟ (StudentID)

Ομοίως, εάν θέλετε να χρησιμοποιήσετε το ΜΟΝΑΔΙΚΟ περιορισμό σε πολλές στήλες και να το ονομάσετε, μπορείτε να γράψετε ένα ερώτημα ως εξής:

ALTER TABLE Φοιτητές ΠΡΟΣΘΗΚΗ ΣΥΝΔΕΣΗΣ Stu_Example UNIQUE (StudentID, StudentName)

Αφήστε έναν ΜΟΝΑΔΙΚΟ περιορισμό

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

Για παράδειγμα, εάν πρέπει να γράψουμε ένα ερώτημα για να αποθέσουμε τον ΜΟΝΑΔΙΚΟ περιορισμό που δημιουργήσαμε παραπάνω, μπορείτε να γράψετε το ερώτημα ως εξής:

ALTER TABLE Οι μαθητές στέλνουν CONSTRAINT Stu_Example

Στη συνέχεια σε αυτό το άρθρο σχετικά με τους περιορισμούς SQL, ας καταλάβουμε πώς να χρησιμοποιήσουμε τον περιορισμό CHECK.

ΕΛΕΓΧΟΣ περιορισμού

Ο περιορισμός CHECK διασφαλίζει ότι όλες οι τιμές σε μια στήλη ικανοποιούν μια συγκεκριμένη συνθήκη.

Παράδειγμα:

Ελέγξτε τον περιορισμό στο ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ

Γράψτε ένα ερώτημα για να δημιουργήσετε έναν πίνακα Φοιτητές, με στήλες StudentID, StudentName, Age και City. Εδώ, η πόλη πρέπει να είναι MUmbai.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Φοιτητές (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (Πόλη == «Βομβάη»)

ΕΛΕΓΧΟΣ περιορισμού σε πολλές στήλες

Για να χρησιμοποιήσετε τον περιορισμό ελέγχου σε πολλές στήλες, μπορείτε να γράψετε ένα ερώτημα όπως παρακάτω:

πώς να χρησιμοποιήσετε το swing java

Γράψτε ένα ερώτημα για να δημιουργήσετε έναν πίνακα Φοιτητές, με στήλες StudentID, StudentName, Age και City. Εδώ, η πόλη πρέπει να είναι Βομβάη και η ηλικία των μαθητών πρέπει να είναι> 19.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ Φοιτητές (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

Ομοίως, μπορείτε επίσης να χρησιμοποιήσετε τον περιορισμό CHECK με την εντολή ALTER TABLE. Ανατρέξτε παρακάτω.

Ελέγξτε τον περιορισμό στο ALTER TABLE

Γράψτε ένα ερώτημα για να αλλάξετε τον πίνακα μαθητών, όπου πρέπει να προστεθεί ένας περιορισμός CHECK στη στήλη Πόλη. Εδώ, η πόλη πρέπει να είναι Βομβάη.

ALTER TABLE Οι μαθητές ΠΡΟΣΘΗΚΗ ΕΛΕΓΧΟΥ (Πόλη == 'Βομβάη')

Ομοίως, εάν θέλετε να χρησιμοποιήσετε τον περιορισμό CHECK δίνοντάς του ένα όνομα, μπορείτε να γράψετε ένα ερώτημα ως εξής:

ALTER TABLE Σπουδαστές ΠΡΟΣΘΗΚΗ ΠΕΡΙΓΡΑΦΗ StuCheckExample CHECK (Πόλη == 'Βομβάη')

Αφήστε έναν περιορισμό CHECK

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

Για παράδειγμα, εάν πρέπει να γράψουμε ένα ερώτημα για να μειώσουμε τον περιορισμό CHECK που δημιουργήσαμε παραπάνω, μπορείτε να γράψετε το ερώτημα ως εξής:

ALTER TABLE Οι μαθητές στέλνουν CONSTRAINT StuCheckExample

Προχωρώντας σε αυτό το άρθρο σχετικά με τους περιορισμούς SQL, ας καταλάβουμε πώς να χρησιμοποιήσουμε τον περιορισμό DEFAULT.

ΕΛΕΓΧΟΣ περιορισμός

Ο περιορισμός DEFAULT χρησιμοποιείται για να αναφέρει ένα σύνολο προεπιλεγμένων τιμών για μια στήλη όταν δεν έχει καθοριστεί τιμή. Παρόμοιο με αυτό των άλλων περιορισμών, μπορούμε να χρησιμοποιήσουμε αυτόν τον περιορισμό στην εντολή CREATE και ALTER table.

Παράδειγμα

Γράψτε ένα ερώτημα για να δημιουργήσετε έναν πίνακα Φοιτητές, με στήλες StudentID, StudentName, Age και City. Επίσης, όταν δεν έχει εισαχθεί τιμή στη στήλη Πόλη, αυτόματα το Δελχί πρέπει να συμπεριληφθεί.

ρηχό vs βαθύ αντίγραφο java
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Φοιτητές (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT ‘Delhi’)

DEFAULT Περιορισμός στο ALTER TABLE

Για να χρησιμοποιήσετε τον περιορισμό DEFAULT με το Εντολή ALTER TABLE , μπορείτε να γράψετε ένα ερώτημα ως εξής:

ALTER TABLE Φοιτητές ΠΡΟΣΘΗΚΗ ΠΕΡΙΓΡΑΦΗ StuDefau Παράδειγμα DEFAULT 'Mumbai' FOR City

Αφήστε έναν περιορισμό DEFAULT

Για να απορρίψετε τον περιορισμό DEFAULT, μπορείτε να χρησιμοποιήσετε την εντολή ALTER TABLE ως εξής:

ALTER TABLE Φοιτητές ALTER COLUMN City DROP DEFAULT

Στη συνέχεια σε αυτό το άρθρο σχετικά με τους περιορισμούς SQL, ας καταλάβουμε πώς να χρησιμοποιήσουμε τον περιορισμό INDEX.

Περιορισμός INDEX

Ο ΔΕΙΚΤΗΣΟ περιορισμός χρησιμοποιείται για τη δημιουργία ευρετηρίων στον πίνακα. Με τη βοήθεια αυτών των ευρετηρίων μπορείτε να δημιουργήσετε και να ανακτήσετε δεδομένα από τη βάση δεδομένων πολύ γρήγορα.

Σύνταξη

- Δημιουργήστε ένα ευρετήριο όπου επιτρέπονται διπλές τιμές CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N)) - Δημιουργήστε ένα ευρετήριο όπου δεν επιτρέπονται διπλές τιμές ΔΗΜΙΟΥΡΓΕΙ ΜΟΝΑΔΙΚΟ INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... Όνομα στήλης (N))

Παράδειγμα

Γράψτε ένα ερώτημα για να δημιουργήσετε ένα ευρετήριο με το όνομα Stu_index στον πίνακα Φοιτητές που αποθηκεύει το Όνομα Φοιτητή.

ΔΗΜΙΟΥΡΓΙΑ ΔΕΙΚΤΗΣ Stu_index ON Φοιτητές (StudentName)

Ομοίως, για να διαγράψετε ένα ευρετήριο από τον πίνακα, πρέπει να χρησιμοποιήσετε την εντολή DROP με το όνομα του ευρετηρίου.

DROP INDEX Φοιτητές.Stu_index

Εκτός από τους παραπάνω περιορισμούς το ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ και το FOREIGN KEY θεωρούνται επίσης ως περιορισμοί. Ο περιορισμός PRIMARY KEY χρησιμοποιείται για τον καθορισμό περιορισμών σχετικά με τον τρόπο με τον οποίο μια συγκεκριμένη στήλη προσδιορίζει μοναδικά κάθε πλειάδα. ο ΞΕΝΟ ΚΛΕΙΔΙ Ο περιορισμός χρησιμοποιείται για τη συσχέτιση δύο πινάκων με βάση μια σχέση.

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

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου σχετικά με τους περιορισμούς SQL και θα επικοινωνήσω μαζί σας.