PostgreSQL ఆటో-ఇంక్రిమెంట్ ప్రాథమిక కీని ఎలా సెటప్ చేయాలి?

How Setup Postgresql Auto Increment Primary Key



మీరు అభ్యర్థనపై రూపొందించబడిన కాలమ్ కోసం నిర్దిష్ట విలువలు కావాలనుకున్నప్పుడు మీరు PostgreSQL లో పట్టికలను నిర్మించి, నిర్వహించే సందర్భాలు ఉండవచ్చు. పట్టిక యొక్క ప్రాథమిక కీగా పనిచేసే ఐడి కాలమ్‌లకు ఇది ప్రత్యేకంగా వర్తిస్తుంది. అదృష్టవశాత్తూ, సీరియల్ సూడో-రకం స్వయం-పెంచే పూర్ణాంక శ్రేణిని సౌకర్యవంతంగా చేయడానికి అనుమతిస్తుంది. సిరీస్ అనేది పోస్ట్‌గ్రెస్‌స్క్యూఎల్‌లోని ఒక రకమైన డేటాబేస్ వస్తువు, ఇది ఇండెక్స్‌లు లేదా పూర్ణాంకాల శ్రేణిని ఉత్పత్తి చేస్తుంది. పోస్ట్‌గ్రెస్‌స్క్యూఎల్ సీక్వెన్స్ విభిన్న పూర్ణాంకాల స్ట్రింగ్‌ను ఉత్పత్తి చేస్తుంది, కొత్త పట్టికను ఉత్పత్తి చేసేటప్పుడు ప్రాథమిక కీగా ఉపయోగించడానికి ఇది సరిపోతుంది. PostgreSQL లో ఆటో-ఇంక్రిమెంట్ మెనాస్ ఏమిటో మేము మీకు ప్రదర్శిస్తాము మరియు ఈ గైడ్ అంతటా మేము సీరియల్ సూడో-టైప్‌ను ఉపయోగిస్తాము.

వాక్యనిర్మాణం:

ఆటో-ఇంక్రిమెంట్ ప్రాథమిక కీని సృష్టించడానికి సాధారణ వాక్యనిర్మాణం క్రింది విధంగా ఉంది:







>>టేబుల్_పేరును సృష్టించండి( idక్రమ);

ఇప్పుడు మరింత వివరంగా క్రియేట్ టేబుల్ డిక్లరేషన్‌ని చూద్దాం:



  • PostgreSQL ముందుగా సిరీస్ ఎంటిటీని ఉత్పత్తి చేస్తుంది. ఇది సిరీస్‌లో తదుపరి విలువను ఉత్పత్తి చేస్తుంది మరియు దానిని ఫీల్డ్ డిఫాల్ట్ రిఫరెన్స్ విలువగా సెట్ చేస్తుంది.
  • PostgreSQL ఒక సంఖ్యా విలువలను ఉత్పత్తి చేస్తుంది కాబట్టి ఒక id క్షేత్రానికి పూర్తిగా నిషేధించబడదు.
  • సిరీస్ హోల్డర్‌గా ID ఫీల్డ్ కేటాయించబడుతుంది. ఐడి ఫీల్డ్ లేదా టేబుల్ కూడా విస్మరించబడితే, క్రమం విస్మరించబడుతుంది.

ఆటో-ఇంక్రిమెంట్ భావనను పొందడానికి, దయచేసి ఈ గైడ్‌లోని దృష్టాంతాలతో కొనసాగే ముందు మీ సిస్టమ్‌లో PostgreSQL మౌంట్ చేయబడి, కాన్ఫిగర్ చేయబడిందని నిర్ధారించుకోండి. డెస్క్‌టాప్ నుండి PostgreSQL కమాండ్-లైన్ షెల్‌ని తెరవండి. మీరు పని చేయదలిచిన మీ సర్వర్ పేరును జోడించండి, లేకుంటే డిఫాల్ట్‌గా వదిలేయండి. మీరు పని చేయాలనుకుంటున్న మీ సర్వర్‌లో ఉండే డేటాబేస్ పేరును వ్రాయండి. మీరు దానిని మార్చకూడదనుకుంటే డిఫాల్ట్‌గా వదిలేయండి. మేము పరీక్ష డేటాబేస్‌ను ఉపయోగిస్తాము, అందుకే మేము దానిని జోడించాము. మీరు డిఫాల్ట్ పోర్ట్ 5432 లో కూడా పని చేయవచ్చు, కానీ మీరు దాన్ని కూడా మార్చవచ్చు. చివరికి, మీరు ఎంచుకున్న డేటాబేస్ కోసం మీరు వినియోగదారు పేరును అందించాలి. మీరు దానిని మార్చకూడదనుకుంటే డిఫాల్ట్‌గా వదిలేయండి. ఎంచుకున్న వినియోగదారు పేరు కోసం మీ పాస్‌వర్డ్‌ను టైప్ చేయండి మరియు కమాండ్ షెల్ ఉపయోగించడం ప్రారంభించడానికి కీబోర్డ్ నుండి ఎంటర్ నొక్కండి.







సీరియల్ కీవర్డ్‌ని డేటా టైప్‌గా ఉపయోగించడం:

మేము పట్టికను సృష్టించినప్పుడు, మేము సాధారణంగా ప్రాథమిక కాలమ్ ఫీల్డ్‌లో సీరియల్ కీవర్డ్‌ని జోడించము. దీని అర్థం మేము INSERT స్టేట్‌మెంట్‌ను ఉపయోగిస్తున్నప్పుడు ప్రాథమిక కీ కాలమ్‌కు విలువలను జోడించాలి. పట్టికను సృష్టించేటప్పుడు మా ప్రశ్నలో సీరియల్ కీవర్డ్‌ని ఉపయోగించినప్పుడు, విలువలను చొప్పించేటప్పుడు మేము ప్రాథమిక కాలమ్ విలువలను జోడించాల్సిన అవసరం లేదు. దానిని ఒకసారి చూద్దాం.

ఉదాహరణ 01:

రెండు నిలువు వరుసల ఐడి మరియు పేరుతో పట్టిక పరీక్షను సృష్టించండి. కాలమ్ ఐడి ప్రాథమిక డేటా కాలమ్‌గా నిర్వచించబడింది, ఎందుకంటే దాని డేటాటైప్ సీరియల్. మరోవైపు, కాలమ్ పేరు TEXT NOT NULL డేటా రకంగా నిర్వచించబడింది. పట్టికను సృష్టించడానికి క్రింది ఆదేశాన్ని ప్రయత్నించండి మరియు దిగువ చిత్రంలో చూపిన విధంగా పట్టిక సమర్ధవంతంగా సృష్టించబడుతుంది.



>>టేబుల్ పరీక్షను సృష్టించండి( idసీరియల్ ప్రైమరీ కీ, పేరు టెక్స్ట్ శూన్యమైనది కాదు);

కొత్తగా సృష్టించిన టేబుల్ TEST యొక్క కాలమ్ పేరుకు కొన్ని విలువలను చొప్పించండి. మేము కాలమ్ ఐడికి ఎటువంటి విలువను జోడించము. దిగువ పేర్కొన్న విధంగా INSERT ఆదేశాన్ని ఉపయోగించి విలువలు విజయవంతంగా చేర్చబడ్డాయని మీరు చూడవచ్చు.

>>పరీక్షలో చేర్చండి(పేరు)విలువలు('అక్సా'),('రింషా'),('ఖాన్');

పట్టిక 'టెస్ట్' రికార్డులను తనిఖీ చేయడానికి ఇది సమయం. కమాండ్ షెల్‌లోని దిగువ ఎంపిక ఎంపికను ప్రయత్నించండి.

>>ఎంచుకోండి*పరీక్ష నుండి;

దిగువ అవుట్‌పుట్ నుండి, కాలమ్ ఐడి కోసం మేము పేర్కొన్న డేటాటైప్ సీరియల్ కారణంగా మేము INSERT కమాండ్ నుండి ఎటువంటి విలువలను జోడించనప్పటికీ, కాలమ్ id స్వయంచాలకంగా దానిలో కొన్ని విలువలను పొందిందని మీరు గమనించవచ్చు. డేటాటైప్ సీరియల్ దానికదే పనిచేస్తుంది.

ఉదాహరణ 02:

సీరియల్ డేటా టైప్ కాలమ్ విలువను తనిఖీ చేయడానికి మరొక మార్గం INSERT కమాండ్‌లోని రివర్నింగ్ కీవర్డ్‌ని ఉపయోగించడం. దిగువ డిక్లరేషన్ టెస్ట్ టేబుల్‌లో కొత్త లైన్‌ను సృష్టిస్తుంది మరియు id ఫీల్డ్ కోసం విలువను అందిస్తుంది:

>>పరీక్షలో చేర్చండి(పేరు)విలువలు('హాసం')తిరిగి వస్తోందిid;

SELECT ప్రశ్నను ఉపయోగించి టేబుల్ టెస్ట్ యొక్క రికార్డులను తనిఖీ చేయడం ద్వారా, చిత్రంలో ప్రదర్శించబడిన విధంగా మేము దిగువ అవుట్‌పుట్‌ను పొందాము. ఐదవ రికార్డు సమర్ధవంతంగా పట్టికలో చేర్చబడింది.

>>ఎంచుకోండి*పరీక్ష నుండి;

ఉదాహరణ 03:

పై ఇన్సర్ట్ ప్రశ్న యొక్క ప్రత్యామ్నాయ వెర్షన్ డెఫాల్ట్ కీవర్డ్‌ని ఉపయోగిస్తోంది. మేము INSERT ఆదేశంలో కాలమ్ id పేరును ఉపయోగిస్తాము మరియు VALUES విభాగంలో, మేము దాని విలువగా DEFAULT కీవర్డ్‌ని ఇస్తాము. కింది ప్రశ్న అమలు చేసిన తర్వాత అదే పని చేస్తుంది.

>>పరీక్షలో చేర్చండి(id, పేరు)విలువలు(వైఫల్యం, 'రేస్');

ఈ క్రింది విధంగా SELECT ప్రశ్నను ఉపయోగించి పట్టికను మళ్లీ తనిఖీ చేద్దాం:

>>ఎంచుకోండి*పరీక్ష నుండి;

దిగువ అవుట్‌పుట్ నుండి మీరు చూడవచ్చు, కాలమ్ ఐడి డిఫాల్ట్‌గా పెంచబడినప్పుడు కొత్త విలువ జోడించబడింది.

ఉదాహరణ 04:

సీరియల్ కాలమ్ ఫీల్డ్ యొక్క సీక్వెన్స్ నంబర్ పోస్ట్‌గ్రెస్‌స్క్యూఎల్‌లోని టేబుల్‌లో చూడవచ్చు. దీనిని సాధించడానికి pg_get_serial_equence () పద్ధతి ఉపయోగించబడుతుంది. మేము pg_get_serial_venue () పద్ధతితో పాటు curvval () ఫంక్షన్‌ని ఉపయోగించాలి. ఈ ప్రశ్నలో, పట్టిక పేరు మరియు దాని సీరియల్ కాలమ్ పేరు ఫంక్షన్ pg_get_serial_equence () యొక్క పారామితులలో అందిస్తాము. మీరు గమనిస్తే, మేము పేర్కొన్న టేబుల్ టెస్ట్ మరియు కాలమ్ ఐడిని కలిగి ఉన్నాము. దిగువ ప్రశ్న ఉదాహరణలో ఈ పద్ధతి ఉపయోగించబడింది:

>>వక్రతను ఎంచుకోండి(pg_get_serial_ పర్యవసానం('పరీక్ష', 'id'));

ఇది గమనించదగ్గ విషయం ఏమిటంటే, మా వక్రత () ఫంక్షన్ సీక్వెన్స్ యొక్క ఇటీవలి విలువను సేకరించడంలో మాకు సహాయపడుతుంది, ఇది 5. పనితీరు ఎలా ఉంటుందనే దానికి దిగువ చిత్రం ఒక ఉదాహరణ.

ముగింపు:

ఈ గైడ్ ట్యుటోరియల్‌లో, PostgreSQL లో సీరియల్ సూడో-టైప్‌ని ఆటో-ఇంక్రిమెంట్‌గా ఎలా ఉపయోగించాలో మేము ప్రదర్శించాము. PostgreSQL లో ఒక శ్రేణిని ఉపయోగించి, స్వయంచాలకంగా పెంచే సంఖ్యల సమూహాన్ని రూపొందించడం సులభం. ఆశాజనక, మీరు మా దృష్టాంతాలను సూచనగా ఉపయోగించి పట్టిక వివరణలకు సీరియల్ ఫీల్డ్‌ను వర్తింపజేయగలరు.