MySQL ప్రశ్న నకిలీ డేటాను ఎలా నిర్వహిస్తుంది?నకిలీ డేటా స్టేట్‌మెంట్‌ను తీసివేయడానికి ఫిల్టర్ చేయండి

MySQLప్రశ్నలు నకిలీ డేటాను ఎలా నిర్వహిస్తాయి?నకిలీ డేటా స్టేట్‌మెంట్‌ను తీసివేయడానికి ఫిల్టర్ చేయండి

MySQL నకిలీ డేటాను నిర్వహించడం

కొన్ని MySQL డేటా పట్టికలలో నకిలీ రికార్డులు ఉండవచ్చు. కొన్ని సందర్భాల్లో, మేము నకిలీ డేటా ఉనికిని అనుమతిస్తాము, కానీ కొన్నిసార్లు మేము ఈ నకిలీ డేటాను కూడా తొలగించాల్సి ఉంటుంది.

ఈ అధ్యాయంలో, డేటా టేబుల్‌లోని డూప్లికేట్ డేటాను ఎలా నిరోధించాలో మరియు డేటా టేబుల్‌లోని నకిలీ డేటాను ఎలా తొలగించాలో మేము పరిచయం చేస్తాము.


పట్టికలలో నకిలీ డేటాను నిరోధించండి

మీరు MySQL డేటా పట్టికలో పేర్కొన్న ఫీల్డ్‌ని ఇలా సెట్ చేయవచ్చు ప్రాథమిక కీ లేదా UNIQUE (ప్రత్యేకమైనది) డేటా యొక్క ప్రత్యేకతను నిర్ధారించడానికి సూచిక.

ఒక ఉదాహరణను ప్రయత్నిద్దాం: దిగువ పట్టికలో సూచికలు మరియు ప్రాథమిక కీలు లేవు, కాబట్టి పట్టిక బహుళ డూప్లికేట్ రికార్డ్‌లను అనుమతిస్తుంది.

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(*) ఉపయోగించండి.
  • GROUP బై క్లాజ్‌లో నిలువు వరుసలు జాబితా చేయబడ్డాయి.
  • 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 టూల్ యూసేజ్ గైడ్"ని పొందిన మొదటి వ్యక్తి అవ్వండి! 🌟
📚 ఈ గైడ్‌లో భారీ విలువ ఉంది, 🌟ఇది ఒక అరుదైన అవకాశం, దీన్ని మిస్ చేయకండి! ⏰⌛💨
నచ్చితే లైక్ చేసి షేర్ చేయండి!
మీ భాగస్వామ్యం మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!

 

发表 评论

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు ఉపయోగించబడతాయి * లేబుల్

పైకి స్క్రోల్ చేయండి