MySQL ಪ್ರಶ್ನೆಯು ನಕಲಿ ಡೇಟಾವನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ?ನಕಲಿ ಡೇಟಾ ಹೇಳಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕಲು ಫಿಲ್ಟರ್ ಮಾಡಿ

MySQLಪ್ರಶ್ನೆಗಳು ನಕಲಿ ಡೇಟಾವನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತವೆ?ನಕಲಿ ಡೇಟಾ ಹೇಳಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕಲು ಫಿಲ್ಟರ್ ಮಾಡಿ

MySQL ನಕಲಿ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವುದು

ಕೆಲವು MySQL ಡೇಟಾ ಕೋಷ್ಟಕಗಳಲ್ಲಿ ನಕಲಿ ದಾಖಲೆಗಳು ಇರಬಹುದು. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ನಾವು ನಕಲಿ ಡೇಟಾದ ಅಸ್ತಿತ್ವವನ್ನು ಅನುಮತಿಸುತ್ತೇವೆ, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ನಾವು ಈ ನಕಲಿ ಡೇಟಾವನ್ನು ಅಳಿಸಬೇಕಾಗುತ್ತದೆ.

ಈ ಅಧ್ಯಾಯದಲ್ಲಿ, ಡೇಟಾ ಟೇಬಲ್‌ನಲ್ಲಿ ನಕಲಿ ಡೇಟಾವನ್ನು ಹೇಗೆ ತಡೆಯುವುದು ಮತ್ತು ಡೇಟಾ ಕೋಷ್ಟಕದಲ್ಲಿನ ನಕಲಿ ಡೇಟಾವನ್ನು ಹೇಗೆ ಅಳಿಸುವುದು ಎಂಬುದನ್ನು ನಾವು ಪರಿಚಯಿಸುತ್ತೇವೆ.


ಕೋಷ್ಟಕಗಳಲ್ಲಿ ನಕಲಿ ಡೇಟಾವನ್ನು ತಡೆಯಿರಿ

ನೀವು MySQL ಡೇಟಾ ಟೇಬಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ಷೇತ್ರವನ್ನು ಹೀಗೆ ಹೊಂದಿಸಬಹುದು ಪ್ರಾಥಮಿಕ ಕೀ ಅಥವಾ ಅನನ್ಯ (ಅನನ್ಯ) ಡೇಟಾದ ಅನನ್ಯತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸೂಚ್ಯಂಕ.

ಒಂದು ಉದಾಹರಣೆಯನ್ನು ಪ್ರಯತ್ನಿಸೋಣ: ಕೆಳಗಿನ ಕೋಷ್ಟಕದಲ್ಲಿ ಯಾವುದೇ ಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ಪ್ರಾಥಮಿಕ ಕೀಲಿಗಳಿಲ್ಲ, ಆದ್ದರಿಂದ ಟೇಬಲ್ ಬಹು ನಕಲಿ ದಾಖಲೆಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

CREATE TABLE person_tbl
(
    first_name CHAR(20),
    last_name CHAR(20),
    sex CHAR(10)
);

ನೀವು ಟೇಬಲ್‌ನಲ್ಲಿ ಮೊದಲ_ಹೆಸರು ಮತ್ತು ಕೊನೆಯ_ಹೆಸರನ್ನು ಹೊಂದಿಸಲು ಬಯಸಿದರೆ, ಡೇಟಾವನ್ನು ಪುನರಾವರ್ತಿಸಲಾಗುವುದಿಲ್ಲ, ಡೇಟಾದ ಅನನ್ಯತೆಯನ್ನು ಹೊಂದಿಸಲು ನೀವು ಡಬಲ್ ಪ್ರೈಮರಿ ಕೀ ಮೋಡ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು. ನೀವು ಡಬಲ್ ಪ್ರೈಮರಿ ಕೀ ಅನ್ನು ಹೊಂದಿಸಿದರೆ, ಆ ಕೀಲಿಯ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ NULL ಆಗಿರಬಾರದು, ಆದರೆ NULL ಅಲ್ಲ ಎಂದು ಹೊಂದಿಸಬಹುದು.ಕೆಳಗೆ ತಿಳಿಸಿದಂತೆ:

CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10),
   PRIMARY KEY (last_name, first_name)
);

ನಾವು ಅನನ್ಯ ಸೂಚ್ಯಂಕವನ್ನು ಹೊಂದಿಸಿದರೆ, ನಕಲಿ ಡೇಟಾವನ್ನು ಸೇರಿಸುವಾಗ, SQL ಹೇಳಿಕೆಯು ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ದೋಷವನ್ನು ಎಸೆಯುತ್ತದೆ.

INSERT IGNORE INTO ಮತ್ತು INSERT INTO ನಡುವಿನ ವ್ಯತ್ಯಾಸವೆಂದರೆ, INSERT IGNORE ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಈಗಾಗಲೇ ಇರುವ ಡೇಟಾವನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ. ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಯಾವುದೇ ಡೇಟಾ ಇಲ್ಲದಿದ್ದರೆ, ಅದು ಹೊಸ ಡೇಟಾವನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಇದ್ದರೆ, ಅದು ಈ ಡೇಟಾವನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ.ಈ ರೀತಿಯಾಗಿ, ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾವನ್ನು ಸಂರಕ್ಷಿಸಬಹುದು ಮತ್ತು ಅಂತರದಲ್ಲಿ ಡೇಟಾವನ್ನು ಸೇರಿಸುವ ಉದ್ದೇಶವನ್ನು ಸಾಧಿಸಬಹುದು.

ಕೆಳಗಿನ ಉದಾಹರಣೆಯು INSERT IGNORE INTO ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ದೋಷವಿಲ್ಲದೆ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಟೇಬಲ್‌ಗೆ ನಕಲಿ ಡೇಟಾವನ್ನು ಸೇರಿಸುವುದಿಲ್ಲ:

mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
    -> VALUES( 'Jay', 'Thomas');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
    -> VALUES( 'Jay', 'Thomas');
Query OK, 0 rows affected (0.00 sec)

ಡೇಟಾವನ್ನು ಸೇರಿಸುವಾಗ ನಿರ್ಲಕ್ಷಿಸಿ, ದಾಖಲೆಯ ಅನನ್ಯತೆಯನ್ನು ಹೊಂದಿಸಿದ ನಂತರ, ನಕಲಿ ಡೇಟಾವನ್ನು ಸೇರಿಸಿದರೆ, ಯಾವುದೇ ದೋಷವನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಎಚ್ಚರಿಕೆಯನ್ನು ಮಾತ್ರ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.ಮತ್ತು ಪ್ರಾಥಮಿಕ ಅಥವಾ ಅನನ್ಯ ದಾಖಲೆಯಿದ್ದರೆ ಅದನ್ನು ಬದಲಾಯಿಸಿ, ಅದನ್ನು ಮೊದಲು ಅಳಿಸಿ.ಹೊಸ ದಾಖಲೆಯನ್ನು ಸೇರಿಸಿ.

ನಿಮ್ಮ ಡೇಟಾದ ಅನನ್ಯತೆಯನ್ನು ಹೊಂದಿಸಲು ಇನ್ನೊಂದು ಮಾರ್ಗವೆಂದರೆ ಈ ರೀತಿಯ ವಿಶಿಷ್ಟ ಸೂಚಿಯನ್ನು ಸೇರಿಸುವುದು:

CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10)
   UNIQUE (last_name, first_name)
);

ಅಂಕಿಅಂಶಗಳು ನಕಲಿ ಡೇಟಾ

ಕೆಳಗೆ ನಾವು ಕೋಷ್ಟಕದಲ್ಲಿ ಮೊದಲ_ಹೆಸರು ಮತ್ತು ಕೊನೆಯ_ಹೆಸರಿನ ನಕಲಿ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಸುತ್ತೇವೆ:

mysql> SELECT COUNT(*) as repetitions, last_name, first_name
    -> FROM person_tbl
    -> GROUP BY last_name, first_name
    -> HAVING repetitions > 1;

ಮೇಲಿನ ಪ್ರಶ್ನೆ ಹೇಳಿಕೆಯು person_tbl ಕೋಷ್ಟಕದಲ್ಲಿ ನಕಲಿ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.ಸಾಮಾನ್ಯವಾಗಿ, ನಕಲಿ ಮೌಲ್ಯಗಳನ್ನು ಪ್ರಶ್ನಿಸಲು, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಿ:

  • ಸಂಭವನೀಯ ನಕಲಿ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಕಾಲಮ್ ಅನ್ನು ನಿರ್ಧರಿಸಿ.
  • ಆ ಕಾಲಮ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ಕಾಲಮ್ ಆಯ್ಕೆ ಪಟ್ಟಿಯಲ್ಲಿ COUNT(*) ಬಳಸಿ.
  • ಕಾಲಮ್‌ಗಳನ್ನು ಗ್ರೂಪ್ ಬೈ ಷರತ್ತುಗಳಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ.
  • HAVING ಷರತ್ತು 1 ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಪುನರಾವರ್ತನೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸುತ್ತದೆ.

ನಕಲಿ ಡೇಟಾವನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ

ನೀವು ಅನನ್ಯ ಡೇಟಾವನ್ನು ಓದಬೇಕಾದರೆ, ನಕಲಿ ಡೇಟಾವನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲು ನೀವು SELECT ಹೇಳಿಕೆಯಲ್ಲಿ DISTINCT ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಬಹುದು.

mysql> SELECT DISTINCT last_name, first_name
    -> FROM person_tbl;

ಟೇಬಲ್‌ನಿಂದ ಅನನ್ಯ ಡೇಟಾವನ್ನು ಓದಲು ನೀವು GROUP by ಅನ್ನು ಸಹ ಬಳಸಬಹುದು:

mysql> SELECT last_name, first_name
    -> FROM person_tbl
    -> GROUP BY (last_name, first_name);

ನಕಲಿ ಡೇಟಾ

ಡೇಟಾ ಕೋಷ್ಟಕದಲ್ಲಿ ನೀವು ನಕಲಿ ಡೇಟಾವನ್ನು ಅಳಿಸಲು ಬಯಸಿದರೆ, ನೀವು ಈ ಕೆಳಗಿನ SQL ಹೇಳಿಕೆಯನ್ನು ಬಳಸಬಹುದು:

mysql> CREATE TABLE tmp SELECT last_name, first_name, sex
    ->                  FROM person_tbl;
    ->                  GROUP BY (last_name, first_name, sex);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;

ಸಹಜವಾಗಿ, ನೀವು ಕೋಷ್ಟಕದಲ್ಲಿ ನಕಲಿ ದಾಖಲೆಗಳನ್ನು ಅಳಿಸಲು ಡೇಟಾ ಕೋಷ್ಟಕದಲ್ಲಿ INDEX (ಸೂಚ್ಯಂಕ) ಮತ್ತು PRIMAY ಕೀ (ಪ್ರಾಥಮಿಕ ಕೀ) ಅನ್ನು ಕೂಡ ಸೇರಿಸಬಹುದು.ಕೆಳಗಿನ ವಿಧಾನಗಳು:

mysql> ALTER IGNORE TABLE person_tbl
    -> ADD PRIMARY KEY (last_name, first_name);

ಹೋಪ್ ಚೆನ್ ವೈಲಿಯಾಂಗ್ ಬ್ಲಾಗ್ ( https://www.chenweiliang.com/ ) ಹಂಚಿಕೊಂಡ "MySQL ಹೇಗೆ ನಕಲು ಡೇಟಾವನ್ನು ಪ್ರಶ್ನಿಸುತ್ತದೆ ಮತ್ತು ನಿರ್ವಹಿಸುತ್ತದೆ?ಫಿಲ್ಟರಿಂಗ್ ಮತ್ತು ಡಿಪ್ಲಿಕೇಶನ್ ಸ್ಟೇಟ್‌ಮೆಂಟ್‌ಗಳು" ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸ್ವಾಗತ:https://www.chenweiliang.com/cwl-499.html

ಇತ್ತೀಚಿನ ನವೀಕರಣಗಳನ್ನು ಪಡೆಯಲು ಚೆನ್ ವೈಲಿಯಾಂಗ್ ಅವರ ಬ್ಲಾಗ್‌ನ ಟೆಲಿಗ್ರಾಮ್ ಚಾನಲ್‌ಗೆ ಸುಸ್ವಾಗತ!

🔔 ಚಾನಲ್ ಟಾಪ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಮೌಲ್ಯಯುತವಾದ "ChatGPT ಕಂಟೆಂಟ್ ಮಾರ್ಕೆಟಿಂಗ್ AI ಟೂಲ್ ಬಳಕೆಯ ಮಾರ್ಗದರ್ಶಿ" ಪಡೆಯುವಲ್ಲಿ ಮೊದಲಿಗರಾಗಿರಿ! 🌟
📚 ಈ ಮಾರ್ಗದರ್ಶಿಯು ದೊಡ್ಡ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ, 🌟ಇದು ಅಪರೂಪದ ಅವಕಾಶವಾಗಿದೆ, ಇದನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳಬೇಡಿ! ⏰⌛💨
ಇಷ್ಟವಾದಲ್ಲಿ ಶೇರ್ ಮಾಡಿ ಮತ್ತು ಲೈಕ್ ಮಾಡಿ!
ನಿಮ್ಮ ಹಂಚಿಕೆ ಮತ್ತು ಇಷ್ಟಗಳು ನಮ್ಮ ನಿರಂತರ ಪ್ರೇರಣೆ!

 

ಪ್ರತಿಕ್ರಿಯೆಗಳು

ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಪ್ರಕಟಿಸಲಾಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ * ಲೇಬಲ್

ಮೇಲಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ