MySQL – డేటా లేనట్లయితే మాత్రమే కొత్త అడ్డు వరుసను ఎలా చొప్పించాలి

Mysql Deta Lenatlayite Matrame Kotta Addu Varusanu Ela Coppincali



MySQL అనేది డేటాబేస్‌లలో డేటాను నిల్వ చేయడానికి ప్రసిద్ధ ఓపెన్ సోర్స్ RDBMS. మీ డేటాబేస్ యొక్క పట్టికలలో డేటాను చొప్పించడం ఒక సాధారణ పని. కొన్నిసార్లు, వినియోగదారులు రిడెండెన్సీని తొలగించడానికి నకిలీ డేటాను చొప్పించకూడదు. MySQL సారూప్య డేటా ఇప్పటికే లేనట్లయితే మాత్రమే డేటాను ఇన్సర్ట్ చేయడానికి వినియోగదారులను అనుమతిస్తుంది.

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

“ఇన్సర్ట్ ఇగ్నోర్” స్టేట్‌మెంట్‌ని ఉపయోగించి డేటా లేకపోతే మాత్రమే కొత్త అడ్డు వరుసను చొప్పించండి

సరే, టైటిల్‌లోని ప్రశ్నకు సమాధానం చాలా సరళంగా మరియు సూటిగా ఉంటుంది. కేవలం 'ని ఉపయోగించండి చొప్పించు 'కీవర్డ్‌తో పాటు' పట్టించుకోకుండా ”కీవర్డ్. MySQLలో డేటా యొక్క మునుపటి నమోదు కనుగొనబడనప్పుడు మాత్రమే కొత్త డేటా లేదా ఇన్సర్ట్ ప్రశ్న అమలు చేయబడుతుందని ఇది నిర్ధారిస్తుంది. దీని గురించి సంక్షిప్త అవలోకనాన్ని పొందడానికి, కింది వాక్యనిర్మాణాన్ని పరిశీలించండి:







చొప్పించు పట్టించుకోకుండా INTO [ పట్టిక - పేరు ] ( [ కాలమ్1 - పేరు ] , [ కాలమ్2 - పేరు ] , [ కాలమ్ 3 - పేరు ] ) విలువలు ( [ విలువ1 ] , [ విలువ2 ] , [ విలువ3 ] ) ;

వినియోగదారు అడ్డు వరుస విలువను నమోదు చేయాలనుకుంటే ఒక ఉదాహరణ చూద్దాం ' 1 ',' జాన్ 'మరియు' డోయ్ ' లో ' కస్టమర్ నిలువు వరుసల పట్టిక Id ,'' మొదటి పేరు 'మరియు' చివరి పేరు ” వరుసగా. ఈ విలువలను కలిగి ఉన్న అడ్డు వరుస ఇప్పటికే లేనట్లయితే, ఈ విలువలను చొప్పించడానికి ఈ ప్రశ్నను అమలు చేయండి:



ఎంచుకోండి * నుండి కస్టమర్;
చొప్పించు పట్టించుకోకుండా INTO కస్టమర్ ( Id , మొదటి పేరు , చివరి పేరు ) విలువలు ( 1 , 'జాన్' , 'డో' ) ;

అవుట్‌పుట్ ప్రశ్నను అమలు చేయడానికి ముందు మరియు తర్వాత పట్టిక యొక్క డేటాను ప్రదర్శించే రెండు పట్టికలను కలిగి ఉంటుంది. మీరు పట్టికలో ఏమీ మారడం లేదని గమనించగలరు ఎందుకంటే అడ్డు వరుస ఇప్పటికే ఉంది కాబట్టి MySQL లోపాన్ని ప్రదర్శించకుండా చొప్పించే ప్రక్రియను విజయవంతంగా విస్మరించింది:







'ఎక్కడ లేదు' అనే నిబంధనను ఉపయోగించి డేటా లేనట్లయితే మాత్రమే కొత్త అడ్డు వరుసను చొప్పించండి

MySQLలో, ' ఎక్కడ ఉనికిలో లేదు 'నిబంధనలు పట్టికలో ఉపయోగించినప్పుడు అవి ఇప్పటికే ఉన్నట్లయితే అడ్డు వరుసల చొప్పించడాన్ని నిరోధిస్తుంది' లోపల పెట్టు షరతును నిర్వచించడానికి ఉపప్రశ్నతో కూడిన ప్రకటన. సబ్‌క్వెరీతో ఈ నిబంధన ఉపయోగించినప్పుడు ' ([టేబుల్-పేరు] [కాలమ్-పేరు]=[వ్యక్తీకరణ] నుండి * ఎంచుకోండి); ” షరతును నెరవేర్చే వరుస పట్టికలో ఉందో లేదో తనిఖీ చేస్తుంది. వరుస ఉంటే, ' ఎక్కడ లేదు 'నిబంధన తప్పుడు విలువను అందిస్తుంది, మరియు' ఎంచుకోండి ” ప్రకటన అడ్డు వరుసలను అందించదు. ఫలితంగా, వరుస పట్టికలోకి చొప్పించబడదు. వాక్యనిర్మాణం క్రింద అందించబడింది:

చొప్పించు INTO [ పట్టిక - పేరు ] ( [ కాలమ్1 - పేరు ] , [ కాలమ్2 - పేరు ] , [ కాలమ్ 3 - పేరు ] )
ఎంచుకోండి [ విలువ1 ] , [ విలువ2 ] , [ విలువ3 ]
ఎక్కడ కాదు ఉనికిలో ఉంది ( ఎంచుకోండి * నుండి [ పట్టిక - పేరు ] [ కాలమ్ - పేరు ] = [ వ్యక్తీకరణ ] ) ;

వినియోగదారుడు ఉద్యోగుల పట్టికలో విలువలను కలిగి ఉన్న అడ్డు వరుసను చొప్పించాలనుకుంటే ఒక ఉదాహరణ చూద్దాం ' 1 ',' అమెరికన్ 'మరియు' హెన్రియట్ 'కాలమ్‌లలో' id ',' కంపెనీ పేరు 'మరియు' సంప్రదింపు పేరు ” వరుసగా. కానీ ' అనే ఐడితో వరుస ఉంటే మాత్రమే 1 ” పట్టికలో కనుగొనబడలేదు లేదా అది ఉనికిలో లేదు. నిర్దిష్ట సందర్భంలో, ప్రశ్న ఇలా అవుతుంది:



ఎంచుకోండి * నుండి ఉద్యోగి;

చొప్పించు INTO ఉద్యోగి ( id , కంపెనీ పేరు , సంప్రదింపు పేరు )
ఎంచుకోండి 1 , 'అమెరికన్' , 'హెన్రియట్'
ఎక్కడ కాదు ఉనికిలో ఉంది ( ఎంచుకోండి * నుండి ఉద్యోగి ఎక్కడ id = 1 ) ;

అవుట్‌పుట్ కొత్త అడ్డు వరుసను ప్రదర్శిస్తుంది, అది ''తో అడ్డు వరుస వలె చొప్పించబడదు. id ' సమానంగా ' 1 ” ఇప్పటికే ఉనికిలో ఉంది.

“డూప్లికేట్ కీ అప్‌డేట్‌లో” క్లాజ్‌ని ఉపయోగించి డేటా లేనట్లయితే మాత్రమే కొత్త అడ్డు వరుసను చొప్పించండి

బాగా, మరొక మార్గం 'ని ఉపయోగించడం డూప్లికేట్ కీ అప్‌డేట్‌లో ” MySQLలో నిబంధన. ఈ నిబంధన 'ఇన్‌సర్ట్ ఇన్‌టు' ప్రశ్నతో 'ఇఫ్-ఎక్స్' ఎగ్జిక్యూషన్‌ని ఏర్పరుస్తుంది. కాబట్టి దీని అర్థం టేబుల్ లోపల ఉన్న డేటా ప్రత్యేకంగా ఉంటే మాత్రమే నవీకరించబడుతుంది. లేకపోతే, ఎటువంటి మార్పు జరగదు. దీని కోసం సాధారణ వాక్యనిర్మాణం క్రింది విధంగా ఉంది:

చొప్పించు INTO [ పట్టిక - పేరు ] ( [ కాలమ్1 - పేరు ] , [ కాలమ్2 - పేరు ] , [ కాలమ్ 3 - పేరు ] ) విలువలు ( [ విలువ1 ] , [ విలువ2 ] , [ విలువ3 ] )
పై నకిలీ కీ నవీకరణ [ కాలమ్1 - పేరు ] = [ కాలమ్1 - పేరు ] ;

'లో విలువలను చొప్పించడానికి ఒక ఉదాహరణ చూద్దాం. 2 ',' పాస్కేల్ ',' నిక్సన్ ',' లండన్ ',' UK ” మరియు “(171) 555-7788 ' పట్టికలో ' కస్టమర్ 'కాలమ్‌ల కోసం' Id ',' మొదటి పేరు ',' చివరి పేరు ',' నగరం ',' దేశం 'మరియు' ఫోన్ ” వరుసగా. అడ్డు వరుస ఇప్పటికే లేనట్లయితే, అది చొప్పించబడుతుంది. లేకపోతే, అది '' విలువలను నవీకరిస్తుంది Id = Id ” పరిస్థితి కలిసొచ్చింది. ఈ ప్రశ్నను అమలు చేయండి:

ఎంచుకోండి * నుండి కస్టమర్ ;
చొప్పించు INTO కస్టమర్ ( Id , మొదటి పేరు , చివరి పేరు , నగరం , దేశం , ఫోన్ )
విలువలు ( 2 , 'పాస్కేల్' , 'నిక్సన్' , 'లండన్' , 'UK' , '(171) 555-7788' )
పై నకిలీ కీ నవీకరణ Id = Id;

ప్రశ్నను అమలు చేయడానికి ముందు ఇది పట్టిక, మీరు చూడగలరు ' Id ' సమానంగా ' 2 ' ఉనికిలో లేదు:

ప్రశ్నను అమలు చేసిన తర్వాత, ఈ ప్రశ్న పట్టికలో కొత్త అడ్డు వరుసలను చొప్పిస్తుంది:

ప్రశ్నను అమలు చేయడానికి ముందు డేటా ఉనికిలో లేనందున మీరు కొత్త అడ్డు వరుసను విజయవంతంగా చొప్పించారు.

ముగింపు

MySQLలో, 'ని ఉపయోగించడం ద్వారా డేటా ఇప్పటికే లేనట్లయితే మాత్రమే కొత్త అడ్డు వరుసను చొప్పించండి. విస్మరించడాన్ని చొప్పించండి 'ప్రకటన లేదా' ఎక్కడ లేదు ''లోని నిబంధన లోపల పెట్టు ' ప్రకటన. దీన్ని చేయడానికి మరొక మార్గం “ని ఉపయోగించడం డూప్లికేట్ కీ అప్‌డేట్‌లో ''లోని నిబంధన లోపల పెట్టు వరుస ఇప్పటికే ఉంటే నవీకరించడానికి ” ప్రకటన. లేకపోతే, కొత్త అడ్డు వరుసను జోడించండి. డేటా లేనట్లయితే మాత్రమే కొత్త అడ్డు వరుసను ఎలా చొప్పించాలో పోస్ట్ చర్చించింది.