MySQL ક્વેરી ડુપ્લિકેટ ડેટાને કેવી રીતે હેન્ડલ કરે છે?ડુપ્લિકેટ ડેટા સ્ટેટમેન્ટ દૂર કરવા માટે ફિલ્ટર કરો

MySQLક્વેરીઝ ડુપ્લિકેટ ડેટાને કેવી રીતે હેન્ડલ કરે છે?ડુપ્લિકેટ ડેટા સ્ટેટમેન્ટ દૂર કરવા માટે ફિલ્ટર કરો

MySQL ડુપ્લિકેટ ડેટાનું સંચાલન

કેટલાક MySQL ડેટા કોષ્ટકોમાં ડુપ્લિકેટ રેકોર્ડ્સ હોઈ શકે છે. કેટલાક કિસ્સાઓમાં, અમે ડુપ્લિકેટ ડેટાના અસ્તિત્વને મંજૂરી આપીએ છીએ, પરંતુ કેટલીકવાર અમારે આ ડુપ્લિકેટ ડેટાને કાઢી નાખવાની પણ જરૂર પડે છે.

આ પ્રકરણમાં, અમે ડેટા કોષ્ટકમાં ડુપ્લિકેટ ડેટાને કેવી રીતે અટકાવવો અને ડેટા કોષ્ટકમાં ડુપ્લિકેટ ડેટાને કેવી રીતે કાઢી નાખવો તે રજૂ કરીશું.


કોષ્ટકોમાં ડુપ્લિકેટ ડેટાને અટકાવો

તમે MySQL ડેટા ટેબલમાં ઉલ્લેખિત ફીલ્ડને આ રીતે સેટ કરી શકો છો પ્રાથમિક કી અથવા UNIQUE (અનન્ય) ડેટાની વિશિષ્ટતા સુનિશ્ચિત કરવા માટે અનુક્રમણિકા.

ચાલો એક ઉદાહરણ અજમાવીએ: નીચેના કોષ્ટકમાં કોઈ અનુક્રમણિકા અને પ્રાથમિક કી નથી, તેથી કોષ્ટક બહુવિધ ડુપ્લિકેટ રેકોર્ડ્સને મંજૂરી આપે છે.

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

જો તમે કોષ્ટકમાં પ્રથમ_નામ અને છેલ્લું_નામ ફીલ્ડ સેટ કરવા માંગો છો, તો ડેટાનું પુનરાવર્તન કરી શકાતું નથી, તમે ડેટાની વિશિષ્ટતા સેટ કરવા માટે ડબલ પ્રાથમિક કી મોડ સેટ કરી શકો છો. જો તમે ડબલ પ્રાથમિક કી સેટ કરો છો, તો તે કીની મૂળભૂત કિંમત NULL ન હોઈ શકે, પરંતુ NOT 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)

INSERT ignore INTO ડેટા દાખલ કરતી વખતે, રેકોર્ડની વિશિષ્ટતા સેટ કર્યા પછી, જો ડુપ્લિકેટ ડેટા દાખલ કરવામાં આવે, તો કોઈ ભૂલ પરત કરવામાં આવશે નહીં, પરંતુ માત્ર એક ચેતવણી પરત કરવામાં આવશે.અને REPLACE INTO માં જો પ્રાથમિક અથવા અનન્ય રેકોર્ડ હોય, તો તે પહેલા કાઢી નાખવામાં આવશે.નવો રેકોર્ડ દાખલ કરો.

તમારા ડેટાની વિશિષ્ટતા સુયોજિત કરવાની બીજી રીત આના જેવી અનન્ય અનુક્રમણિકા ઉમેરવાની છે:

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 BY કલમમાં સૂચિબદ્ધ કૉલમ.
  • 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 KEY (પ્રાથમિક કી) પણ ઉમેરી શકો છો.નીચે મુજબ પદ્ધતિઓ:

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 ટૂલ વપરાશ માર્ગદર્શિકા" મેળવનારા પ્રથમ બનો! 🌟
📚 આ માર્ગદર્શિકામાં ઘણું મૂલ્ય છે, 🌟આ એક દુર્લભ તક છે, તેને ચૂકશો નહીં! ⏰⌛💨
ગમે તો શેર કરો અને લાઈક કરો!
તમારી શેરિંગ અને લાઈક્સ એ અમારી સતત પ્રેરણા છે!

 

评论 评论

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. જરૂરી ક્ષેત્રો વપરાય છે * લેબલ

ટોચ પર સ્ક્રોલ કરો