ડ્રોપ અને ટ્રુનકેટ વચ્ચેનો તફાવત

Anonim

ડ્રોપ વિ ટનકાટ

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

જો આપણે ડેટાબેઝમાં ટેબલને તેના તમામ ડેટા સાથે અવગણવા માંગતા હોઈએ, તો એસક્યુએલ અમને ડ્રૉપ સ્ટેટમેંટનો ઉપયોગ કરીને સહેલાઈથી કરવા દે છે. ડ્રોપ આદેશ એ ડીડીએલ (ડેટા ડેફિનેશન લેન્ગવેજ) આદેશ છે, અને તેનો ઉપયોગ હાલના ડેટાબેઝ, કોષ્ટક, ઇન્ડેક્સ અથવા દૃશ્યને નાશ કરવા માટે કરી શકાય છે. તે કોષ્ટકમાં સમગ્ર માહિતી, તેમજ ડેટાબેઝમાંથી કોષ્ટક માળખું કાઢી નાખે છે. ઉપરાંત, આપણે કોષ્ટકમાં તમામ ડેટા છુટકારો મેળવવાની ઇચ્છા રાખી શકીએ છીએ, પરંતુ કોષ્ટક વગર, અને અમે એસક્યુએલમાં ટુંકાટ સ્ટેટમેન્ટ વાપરી શકીએ છીએ. ટ્રુનેકેટ પણ ડીડીએલ આદેશ છે અને તે કોષ્ટકમાં બધી હરોળોને દૂર કરે છે પરંતુ ભાવિ ઉપયોગ માટે તે કોષ્ટકની વ્યાખ્યા સાચવે છે.

ડ્રોપ કમાન્ડ

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

ડ્રોપ કોષ્ટક

આપણે ફક્ત ટેબલ નામને બદલવા જ જોઈએ કે જે આપણે ડ્રોપ કમાન્ડના ઉપરોક્ત ઉદાહરણમાં ડેટાબેઝમાંથી દૂર કરવા માંગીએ છીએ.

તે નિર્દેશ આપવો અગત્યનો છે કે ડ્રોપ સ્ટેટમેન્ટનો ઉપયોગ કોઈ ટેબલ કાઢી નાખવા માટે કરી શકાતો નથી, જે પહેલેથી વિદેશી કી સંમતિ દ્વારા સંદર્ભિત છે. તે કિસ્સામાં, સંદર્ભિત ફોરેન કી અવરોધ, અથવા તે ચોક્કસ ટેબલને પ્રથમ મૂકવા જોઈએ. ઉપરાંત, ડ્રોપ સ્ટેટમેન્ટ ડેટાબેઝમાં સિસ્ટમ કોષ્ટકો પર લાગુ કરી શકાતું નથી.

ડ્રોપ કમાંડ એ ઓટો કમિટનું નિવેદન છે, એકવાર પકવવામાં આવતાં ઓપરેશનને પાછું ખેંચી શકાતું નથી અને કોઈ ટ્રિગર્સ છોડવામાં આવશે નહીં. જ્યારે કોષ્ટક ઘટી જાય છે, ટેબલ પરનાં બધા સંદર્ભો માન્ય રહેશે નહીં, અને તેથી, જો આપણે કોષ્ટકને ફરી ઉપયોગમાં લેવા માગીએ છીએ, તો તે બધા એકીકરણ અવરોધ અને ઍક્સેસ વિશેષાધિકારો સાથે ફરીથી બનાવવું પડશે. અન્ય કોષ્ટકો સાથેનાં તમામ સંબંધો ફરીથી ફરીથી સ્થિત થયેલ છે.

આદેશને કાપી નાંખવો

ટ્રીકેટ આદેશ એ ડીડીએલ આદેશ છે, અને તે કોઈપણ વપરાશકર્તા ઉલ્લેખિત શરતો વિના કોષ્ટકમાં બધી હરોળોને દૂર કરે છે, અને કોષ્ટક દ્વારા ઉપયોગમાં લેવાતી જગ્યા પ્રકાશિત કરે છે, પરંતુ તેના કૉલમ, અનુક્રમણિકાઓ અને પરિમાણો સાથેનું ટેબલ માળખું તે જ રહેકાપવા કોષ્ટકમાંથી માહિતીને ટેબલ ડેટાને સંગ્રહિત કરવા માટે વપરાતા ડેટા પૃષ્ઠોને ડિલૉક કરીને ડેટાને દૂર કરે છે, અને ફક્ત આ પૃષ્ઠ ડિલોક્શન્સ ટ્રાંઝેક્શન લૉગમાં રાખવામાં આવે છે. તેથી તે અન્ય સંબંધિત SQL આદેશો જેમ કે કાઢી નાંખોની તુલનામાં ઓછા વ્યવહાર લોગ સ્રોતો અને સિસ્ટમ સ્રોતોનો ઉપયોગ કરે છે. તેથી ટુંકાટ અન્ય કરતાં થોડી વધુ ઝડપી નિવેદન છે. ટ્રુનેકેટ આદેશ માટે વિશિષ્ટ વાક્યરચના નીચે મુજબ છે.

ટ્રૅકકેટ ટેબલ

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

કાપલીનો ઉપયોગ કોષ્ટક પર ઉપયોગમાં લઇ શકાતો નથી જે વિદેશી કી અવરોધ દ્વારા સંદર્ભિત છે. તે કાર્ય કરે તે પહેલા આપમેળે એક કમિટનો ઉપયોગ કરે છે અને બીજાને પછીથી મોકલવામાં આવે છે જેથી વ્યવહારના રોલબેક અશક્ય છે, અને કોઈ ટ્રિગર્સ બરતરફ કરવામાં આવે છે. જો આપણે ટેબલનો ફરીથી ઉપયોગ કરવા માગીએ છીએ તો ડેટાબેઝમાં હાલની કોષ્ટક વ્યાખ્યાને ઍક્સેસ કરવાની જરૂર છે.

ડ્રોપ અને ટ્રુનેકેટ વચ્ચે શું તફાવત છે?

ડ્રોપ અને ટ્રુનેકેટ આદેશો બંને ડીડીએલ આદેશો છે અને ઓટોમેટિક સ્ટેટમેંટો પણ છે તેથી આ આદેશોનો ઉપયોગ કરીને કરેલા લેવડદેવડો પાછા વળેલ નથી.

ડ્રોપ અને ટ્રુનેકેટ વચ્ચેનું પ્રાથમિક તફાવત એ છે કે ડ્રોપ કમાન્ડ દૂર કરે છે, માત્ર ટેબલમાંના તમામ ડેટાને જ નહીં, પરંતુ તે બધા સંદર્ભો સાથે ડેટાબેઝમાંથી ટેબલ માળખાને કાયમી ધોરણે દૂર કરે છે, જ્યારે Truncate આદેશ ફક્ત બધી પંક્તિઓને દૂર કરે છે કોષ્ટકમાં, અને તે કોષ્ટક માળખું અને તેના સંદર્ભો સાચવે છે.

જો કોષ્ટક ઘટી જાય તો, અન્ય કોષ્ટકો સાથેના સંબંધો હવે માન્ય રહેશે નહીં, અને અખંડિતતા મર્યાદાઓ અને ઍક્સેસ વિશેષાધિકારો પણ દૂર કરવામાં આવશે. તેથી જો કોષ્ટકને ફરીથી ઉપયોગમાં લેવાની જરૂર હોય તો, તે સંબંધો, સંકલનની મર્યાદાઓ અને ઍક્સેસ વિશેષાધિકારો સાથે પુનઃનિર્માણ કરવું પડશે. પરંતુ જો કોષ્ટક કાપવામાં આવે છે, તો કોષ્ટકનું માળખું અને તેની મર્યાદા ભવિષ્યના ઉપયોગ માટે રહે છે, અને તેથી, ઉપરોક્ત કોઈપણ ઉપયોગને ફરીથી ઉપયોગમાં લેવા માટે જરૂરી નથી.

જ્યારે આ આદેશો લાગુ થાય છે, ત્યારે અમે તેમને વાપરવા માટે સાવચેત રહેવું જોઈએ. આ ઉપરાંત, આ આદેશોની પ્રકૃતિ વિશે વધુ સારી સમજ હોવી જોઈએ, તેઓ કેવી રીતે કામ કરે છે, અને કેટલીક જરૂરી યોજનાઓમાંથી બચવા માટે તેમને ઉપયોગ કરતા પહેલા સાવચેતી રાખવી જોઈએ. છેલ્લે, આ બંને આદેશોનો ઉપયોગ ડેટાબેઝોને ઝડપથી અને સહેલાઈથી સાફ કરવા માટે કરી શકાય છે, ઓછા સંસાધનો મેળવે છે.