..


Σύνδεσμοι διαφημιζόμενων

Κανονικές Εκφράσεις σε MySQL ερώτημα

Το άρθρο γράφτηκε από τον Max Bossi

Ο κινητήρας εσωτερικής της MySQL έχει μητρική - εκτός από τις κοινές επιχειρήσεις της ισότητας, η ανισότητα και η ομοιότητα (όπως) - ένα πολύ χρήσιμο χειριστή: regexp χειριστή.
Όπως υποδηλώνει το όνομά του, ο χειριστής regexp αξιοποιεί τη δύναμη των κανονικών εκφράσεων για να εκτελούν περίπλοκες αναζητήσεις στην MySQL βάση δεδομένων μας. Η σύνταξη είναι απλή:






 SELECT FIELD_NAME







 ΑΠΟ table_name







 ΟΠΟΥ FIELD_NAME regexp έκφραση?

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

^ Ξεκινώντας από το string
$ Τέλος της συμβολοσειράς
. Οποιοσδήποτε χαρακτήρας
[...] Οποιοσδήποτε από τους χαρακτήρες μέσα στις αγκύλες
[^...] Οποιοσδήποτε χαρακτήρας εκτός από εκείνα που σε αγκύλες
| Ξεχωριστή σειρές χαρακτήρων ή εναλλακτικές λύσεις τους
* Μηδέν ή περισσότερες επαναλήψεις του προηγούμενου χαρακτήρα ή τη συμβολοσειρά
+ Μία ή περισσότερες επαναλήψεις του προηγούμενου χαρακτήρα ή τη συμβολοσειρά
{N} "N" χαρακτήρα ή την επανάληψη της προηγούμενης σειράς
{Min, max} Επαναλαμβάνει την προηγούμενη χαρακτήρα ή string για να πολλές φορές ανάμεσα σε ένα ελάχιστο και μέγιστο

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

1) Θα βρείτε όλα τα ονόματα που αρχίζουν με "m"

 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp '^ m'?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • M ara
  • M αψίδα
  • M Ary
  • Ilena M
2) Θα βρείτε όλα τα ονόματα που τελειώνουν με "ή"
 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp "ή $»?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • Ή Philip
  • Φώτα ή
  • Marc και
  • Θάλασσες ή
  • Paul ή
3) Θα βρείτε όλα τα ονόματα που αρχίζουν με "M" και τελικά "ή"
 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp '^ m + o $ »?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • M τόξο ή
  • M Ari ή
4) Θα βρείτε όλα τα ονόματα που περιέχουν το γράμμα "R"
 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp "R"?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • Ε CLA
  • Αλλά r
  • Αλλά r συνεργασία
  • Αλλά r
5) Θα βρείτε όλα τα ονόματα που περιέχουν ομάδες γράμματα ", αλλά" ή "εγώ"
 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp 'ma | ra »?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • I luc
  • Αλλά ra
  • Αλλά ΠΕΚ
  • Αλλά r
6) Θα βρείτε όλα τα ονόματα που δεν περιέχουν τα γράμματα "m" και "a"
 



 Επιλέξτε το όνομα από το ημερολόγιο όπου όνομα regexp "[^ ma]»?

 
Ερώτημα μας θα επιστρέψει, για παράδειγμα:
  • Φίλιππος
  • Lucio
Αφήνω τον αναγνώστη να δοκιμάσει τις δυνατότητες περαιτέρω εκμετάλλευσης regexp, δεδομένου ότι η πιθανούς τομείς χρήσης είναι τόσα πολλά και είναι δύσκολο να συνοψισθεί σε ένα άρθρο, καθώς αυτή είναι γραφτό να γίνει.

Στην ίδια κατηγορία ...
E-Learning
MS Access (για προχωρημένους) MS Access (για προχωρημένους)
Μάθετε πώς να δημιουργήσετε και να διαχειριστείτε τις βάσεις δεδομένων γρήγορα και εύκολα. Ξεκινώντας από 29 €.
MySQL (Μάθημα) MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €.
SQL και βάσης δεδομένων (Μάθημα) SQL και βάσης δεδομένων (Μάθημα)
Δημιουργία και διαχείριση των σχεσιακών βάσεων δεδομένων. Από 39 €.
Σύνδεσμοι διαφημιζόμενων