इस लेख में, हम CREATE TABLE
. के बारे में बात करने जा रहे हैं आज्ञा। अधिक सटीक होने के लिए, हम इस बात पर ध्यान केंद्रित करेंगे कि Oracle में एक प्राथमिक और विदेशी कुंजी के साथ एक तालिका कैसे बनाई जाए, साथ ही अशक्त और दिनांक कॉलम नहीं, मौजूदा एक के आधार पर एक नई तालिका कैसे बनाएं, इस पर करीब से नज़र डालें। , और अधिक। साथ ही, हम तालिकाओं के साथ काम करते समय Oracle के लिए dbForge Studio का उपयोग करने के लाभों और लाभों की समीक्षा करेंगे।
सामग्री
- Oracle CREATE TABLE स्टेटमेंट सिंटैक्स
- तालिका उदाहरण बनाएं
- प्राथमिक कुंजी बाधा के साथ तालिका बनाएं
- विदेशी कुंजी के साथ तालिका बनाएं
- शून्य स्तंभ के साथ तालिका बनाएं
- तारीख कॉलम के साथ तालिका बनाएं
- यदि मौजूद नहीं है तो SQL CREATE TABLE का Oracle विकल्प
- चयन के रूप में तालिका बनाएं का उपयोग करके किसी अन्य तालिका से एक नई तालिका बनाएं
- PL/SQL में सेलेक्ट से टेबल बनाएं
- अस्थायी तालिका में डेटा कैसे बनाएं और डालें
- Oracle के लिए dbForge का उपयोग करके पलक झपकते ही तालिका बनाएं
- निष्कर्ष
Oracle में टेबल बनाना डेटा को व्यवस्थित करने के तरीकों में से एक है, इसलिए CREATE TABLE
के बारे में जितना संभव हो उतना सीखना महत्वपूर्ण है। आज्ञा। Oracle में टेबल बनाने के कई अलग-अलग तरीके हैं और हम उन्हें इस गाइड में आगे कवर करेंगे।
कृपया ध्यान दें कि नई तालिका बनाने के लिए आपके पास CREATE TABLE सिस्टम विशेषाधिकार होना चाहिए। यदि आप किसी अन्य उपयोगकर्ता के स्कीमा में एक तालिका बनाना चाहते हैं, तो आपके पास कोई भी तालिका सिस्टम बनाने का विशेषाधिकार होना चाहिए। यदि आप तालिका के स्वामी हैं, तो आपके पास असीमित TABLESPACE सिस्टम विशेषाधिकार या तालिका में शामिल तालिका स्थान के लिए कोटा होना चाहिए।
इसके अतिरिक्त, यदि आप तालिका द्वारा संदर्भित सभी प्रकारों तक पहुंच प्राप्त करना चाहते हैं, तो आपके पास ऑब्जेक्ट टेबल या एक रिलेशनल टेबल बनाने के लिए EXECUTE ऑब्जेक्ट विशेषाधिकार या किसी भी प्रकार का सिस्टम विशेषाधिकार होना चाहिए। पी>
इस लेख के उदाहरण Oracle 19c संस्करण से संबंधित हैं, लेकिन उपयोग में आने वाले सभी Oracle संस्करणों (Oracle 10g, 11g, 12c, आदि सहित) के लिए विधियाँ समान हैं।
Oracle CREATE TABLE स्टेटमेंट सिंटैक्स
आइए मूल बातें शुरू करें। Oracle डेटाबेस में एक नई तालिका बनाने के लिए, CREATE TABLE
कथन का उपयोग किया जा सकता है। CREATE TABLE
Oracle में सिंटैक्स इस प्रकार है:
CREATE TABLE schema_name.table_name (
column_1 data_type column_constraint,
column_2 data_type column_constraint,
...
table_constraint
);
आइए दिए गए सिंटैक्स पर करीब से नज़र डालें:
schema_name.table_name
:तालिका और स्कीमा के नाम नई तालिका से संबंधित है।column_1
औरcolumn_2 data_type column_constraints
:कॉलम नामों के लिए प्लेसहोल्डर।data_type
:NUMBER, VARCHAR, आदि.column_constraint
:न्यूल नहीं, प्राथमिक कुंजी, चेक, आदि।table_constraint
:टेबल की कमी (प्राथमिक कुंजी, विदेशी कुंजी, चेक)।
आपको Oracle CREATE TABLE
. मिलेगा इस लेख में आगे वाक्य रचना उदाहरण।
नोट :
ओरेकल में टेबल बनाने का तरीका सीखने के अलावा, आप के बारे में अपने ज्ञान को और गहरा करना चाहेंगे। Oracle ALTER TABLE स्टेटमेंट .
टेबल उदाहरण बनाएं
अभ्यास से सीखना हमेशा बेहतर होता है। इसलिए, आइए Oracle को देखें CREATE TABLE
उदाहरण:
निम्न उदाहरण दिखाता है कि कर्मचारियों . नामक तीन-स्तंभ तालिका कैसे बनाई जाती है :
CREATE TABLE employees
( employee_id number(10) NOT NULL,
employee_name varchar2(50) NOT NULL,
city varchar2(50)
);
- कॉलम 1 नाम दिया गया है कर्मचारी_आईडी और एक संख्या डेटाटाइप (लंबाई में अधिकतम 10 अंक) है। इसमें शून्य मान नहीं हो सकते।
- कॉलम 2 नाम दिया गया है customer_name और इसमें एक varchar2 डेटाटाइप (लंबाई में 50 अधिकतम वर्ण) है और इसमें शून्य मान भी नहीं हो सकते हैं।
- कॉलम 3 शहर . नाम दिया गया है और एक varchar2 डेटाटाइप है। पिछले दो के विपरीत, इस कॉलम में शून्य मान हो सकते हैं।
प्राथमिक कुंजी बाधा के साथ तालिका बनाएं
अब, देखते हैं कि Oracle में प्राथमिक कुंजी के साथ एक तालिका कैसे बनाई जाती है। तालिका के लिए प्राथमिक कुंजी को परिभाषित करने के लिए, आप हमारी पिछली बनाई गई तालिका कर्मचारी . का उपयोग कर सकते हैं , Oracle SQL संपादित करें CREATE TABLE
कथन, और परिभाषित करें कर्मचारी_आईडी प्राथमिक कुंजी के रूप में:
CREATE TABLE employees
( employee_id number(10) NOT NULL,
employee_name varchar2(50) NOT NULL,
city varchar2(50),
CONSTRAINT employees_pk PRIMARY KEY (employee_id)
);
PRIMARY KEY
क्लॉज एक कॉलम को प्राथमिक कुंजी के रूप में निर्दिष्ट करने की अनुमति देता है। आप तालिका में प्रत्येक अद्वितीय पंक्ति की पहचान करने के लिए प्राथमिक कुंजी सिंटैक्स का उपयोग कर सकते हैं। अन्य डेटाबेस के विपरीत, Oracle केवल एक प्राथमिक कुंजी को शामिल करने के लिए एक तालिका को सक्षम करता है, और प्राथमिक कुंजी के प्रत्येक फ़ील्ड में तालिका को मान्य माने जाने के लिए NULL के अलावा अन्य मान होने चाहिए। ऊपर के उदाहरण में, हम कर्मचारी_आईडी . को परिभाषित करते हैं प्राथमिक कुंजी कॉलम . के रूप में कॉलम ।
विदेशी कुंजी के साथ तालिका बनाएं
आइए Oracle CREATE TABLE
. के सिंटैक्स पर एक नज़र डालें कथन FOREIGN
चाबी। इसे स्तंभ स्तर या तालिका स्तर दोनों पर परिभाषित किया जा सकता है:
CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ],
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
constraint <name> FOREIGN KEY (col1,col2) REFERENCES table(col1,col2)
) tablespace <tablepace name>
CREATE TABLE table_name
(
col1 datatype [ NULL | NOT NULL ] constraint <name> primary key
,
col2 datatype [ NULL | NOT NULL ],
...
col_n datatype [ NULL | NOT NULL ]
) tablespace <tablepace name>;
CREATE TABLE dept
( dept_id number(10) NOT NULL,
dept_name varchar2(50) NOT NULL,
CONSTRAINT dept_pk PRIMARY KEY (dept_id)
);
CREATE TABLE emp
( emp_no number(10) NOT NULL,
emp_name varchar2(50) NOT NULL,
dept_id number(10),
salary number(6),
CONSTRAINT emp_pk PRIMARY KEY (emp_no),
CONSTRAINT dept_fk
FOREIGN KEY (dept_id)
REFERENCES dept(dept_id) );
इस सिंटैक्स में:
- कॉलम 1 लेबल किया गया है
emp_no
, और इसे एक संख्या के रूप में स्वरूपित किया जाता है, जिसका अर्थ है कि इसमें कोई भी शून्य मान शामिल नहीं हो सकता है। - कॉलम 2 शीर्षक है
emp_name
, जिसे varchar2(50) के रूप में बनाया गया है और इसमें कोई भी शून्य मान शामिल नहीं हो सकता है। - कॉलम 3 नाम दिया गया है
dept_id
और एक संख्या डेटाटाइप है। - कॉलम 4
salary
कहा जाता है और इसे एक संख्या स्तंभ के रूप में भी स्वरूपित किया जाता है। - तालिका स्तर प्राथमिक कुंजी बाधा
emp_pk
कुंजी पर परिभाषित किया गया है (emp_no
)। - तालिका स्तर विदेशी कुंजी बाधाएं
dept_fk
कौन सा संदर्भ विभाग तालिकाdept_id
।
NOT NULL कॉलम वाली टेबल बनाएं
यदि आप यह निर्दिष्ट करना चाहते हैं कि कॉलम खाली नहीं हो सकता है और इसमें कुछ मान होना चाहिए, तो आप इसे न्यूल के रूप में परिभाषित कर सकते हैं। CREATE TABLE
के लिए वाक्य रचना खोजें नीचे Oracle में NOT NULL कॉलम के साथ कमांड:
CREATE TABLE employees_bdays
(
emp_name VARCHAR(30),
bday DATE
emp_id VARCHAR(15) NOT NULL
);
जैसा कि आप देख सकते हैं, emp_id इसका मतलब है कि डेटा की प्रत्येक पंक्ति के लिए एक मान दर्ज करना क्योंकि यह NULL नहीं है।
तारीख कॉलम के साथ तालिका बनाएं
यदि आपको Oracle में दिनांक कॉलम के साथ एक तालिका बनाने की आवश्यकता है, तो निम्न सिंटैक्स काम में आ सकता है:
CREATE TABLE employees_bdays (
bday DATE
);
कॉलम में किसी तिथि को कुशलतापूर्वक सम्मिलित करने के लिए, आपको to_date . की आवश्यकता होगी फ़ंक्शन जो दिनांक के साथ-साथ एक अन्य वर्ण स्ट्रिंग युक्त एक वर्ण स्ट्रिंग को स्वीकार करता है जो इसे प्राप्त तिथि की व्याख्या करने का निर्देश देता है।
to_date('01 December 2021','DD Month YYYY')
to_date('01/12/2021','DD/MM/YYYY')
अगर मौजूद नहीं है तो SQL CREATE TABLE का Oracle विकल्प
वे उपयोगकर्ता, जो बहुत उपयोगी SQL CREATE TABLE IF NOT EXISTS
के आदी हैं आदेश, निराश हो सकता है क्योंकि Oracle में ऐसा कोई कथन नहीं है। लेकिन अगर आपको अभी भी यह निर्धारित करने की आवश्यकता है कि Oracle में बनाने से पहले कोई तालिका पहले से मौजूद है या नहीं, तो आपको इस समस्या का वैकल्पिक समाधान नीचे मिलेगा।
यदि आपको कोई त्रुटि प्राप्त होती है (ORA-00955:नाम पहले से ही किसी मौजूदा ऑब्जेक्ट द्वारा उपयोग में है) तालिका बनाने का प्रयास करते समय, यह एक संकेतक के रूप में काम कर सकता है कि ऐसी तालिका पहले से मौजूद है।
चयन के रूप में तालिका बनाएं का उपयोग करके किसी अन्य तालिका से एक नई तालिका बनाएं
कभी-कभी, आपको एक टेबल से डेटा कॉपी करके दूसरे में डालने की आवश्यकता होती है। Oracle में किसी अन्य तालिका की तरह तालिका बनाना काफी आसान है, साथ ही यह बहुत उपयोगी है। यदि आप समान संरचना वाली तालिका बनाना चाहते हैं तो आप अपना समय और प्रयास बचाते हैं। यह परीक्षण की प्रक्रिया को भी सरल करता है।
Oracle में किसी अन्य तालिका से तालिका बनाने का तरीका देखने के लिए, नीचे दी गई स्क्रिप्ट देखें:
CREATE TABLE table_name AS (
SELECT select_query
);
इसे CREATE TABLE AS SELECT (CTAS) के रूप में भी जाना जाता है।
आप या तो table_name दर्ज कर सकते हैं अपनी नई तालिका के लिए या SELECT
. का उपयोग करें इसे कॉपी करने के लिए क्वेरी। साथ ही, आप SELECT * FROM
. दर्ज कर सकते हैं पुरानी_तालिका यदि आपको सभी डेटा को नई तालिका में कॉपी करने की आवश्यकता है। यदि आपको कॉपी किए जाने वाले मानों को प्रतिबंधित करने की आवश्यकता है, तो WHERE
क्लॉज आपके लिए मददगार होगा।
PL/SQL में सेलेक्ट से टेबल बनाएं
Oracle में, आप SELECT
. दर्ज करके दूसरे से एक टेबल भी बना सकते हैं CREATE TABLE
के अंत में कथन बयान। इस मामले में, पुरानी तालिका से सभी रिकॉर्ड नए में कॉपी किए जाएंगे। Oracle CREATE TABLE
. का सिंटैक्स SELECT
. से इस प्रकार है:
CREATE TABLE new_table
AS (SELECT * FROM old_table);
जैसा कि आप देख सकते हैं, SELECT
. से PL/SQL तालिका निर्माण आदेश बहुत मददगार है। ध्यान दें कि आप SELECT
. से एक अस्थायी तालिका भी बना सकते हैं ।
अस्थायी तालिका में डेटा कैसे बनाएं और डालें
Oracle में एक सत्र या एक लेन-देन से संबंधित डेटा को संग्रहीत करने के लिए अस्थायी तालिकाओं का उपयोग किया जाता है।
ORACLE अस्थायी तालिका सभी प्रतिबंधों के साथ एक DDL ऑब्जेक्ट है।
तो Oracle में एक अस्थायी तालिका कैसे बनाएं? आप अस्थायी तालिका बनाने के लिए वैश्विक अस्थायी तालिका बनाएँ कथन का उपयोग कर सकते हैं। यह परिभाषित करने के लिए कि तालिका में डेटा लेन-देन-विशिष्ट (डिफ़ॉल्ट) या सत्र-विशिष्ट है, ON COMMIT क्लॉज का उपयोग करें।
लेन-देन-विशिष्ट डेटा का सिंटैक्स इस प्रकार है:
CREATE GLOBAL TEMPORARY TABLE admin_work_area
(startdate DATE,
enddate DATE,
operation CHAR(20))
ON COMMIT DELETE ROWS;
Oracle के लिए dbForge का उपयोग करके पलक झपकते ही तालिका बनाएं
समय हमेशा सबसे मूल्यवान संसाधनों में से एक रहा है। इसलिए, आप अपना समय बचाने के मामले में एक उपयुक्त आईडीई का उपयोग करना उपयोगी पा सकते हैं। Oracle के लिए dbForge Studio सबसे अच्छे समाधानों में से एक है। यह एक सार्वभौमिक उपकरण है जिसका उपयोग Oracle डेटाबेस के विकास, प्रशासन और प्रबंधन के लिए किया जा सकता है। यह कुशल जीयूआई क्लाइंट डीबीए, डेटाबेस डेवलपर्स, सॉफ्टवेयर इंजीनियरों और विश्लेषकों के लिए बहुत अच्छा है। Oracle के लिए dbForge Studio कई Oracle सर्वरों के बीच डेटा सिंक्रोनाइज़ेशन की अनुमति देता है और डेटाबेस डेवलपमेंट प्रोसेस ऑटोमेशन की सुविधा देता है।
पहली बार आईडीई खोलने पर, आपको डेटाबेस कनेक्शन गुण . दिखाई देगा खिड़की। इसे मैन्युअल रूप से खोलने के लिए, डेटाबेस चुनें और नया कनेक्शन . क्लिक करें ।
उसके बाद, संबंधित फ़ील्ड भरें और कनेक्शन का परीक्षण करें hit दबाएं ।
यदि सब कुछ ठीक से कॉन्फ़िगर किया गया है, तो आपको सफलतापूर्वक कनेक्ट किया गया संदेश . दिखाई देगा जो कुछ इस तरह दिखेगा:
अपने Oracle सर्वर से कनेक्ट होने के बाद, वह उपयोगकर्ता चुनें जिसके लिए आप एक नई तालिका बनाना चाहते हैं। Oracle में एक नया उपयोगकर्ता कैसे बनाया जाए, इस पर हमारा हालिया ब्लॉग पोस्ट इस चरण में काम आ सकता है।
एक नई तालिका बनाने की दिशा में पहला कदम आवश्यक स्कीमा पर राइट-क्लिक करना है। नई वस्तु की ओर इंगित करें और पहले विकल्प पर क्लिक करें:तालिका ।
1. नाम . में तालिका संपादक . का टेक्स्ट बॉक्स , तालिका का नाम दर्ज करें। नीचे दिए गए उदाहरण में, हम कर्मचारी . शीर्षक से एक तालिका बना रहे हैं ।
2. नीचे दिए गए ग्रिड में, भविष्य के कॉलम के नाम टाइप करें, डेटा प्रकार चुनें, और क्या वे NULL नहीं होने चाहिए।
3. स्तंभ गुण तालिका संपादक . के दाईं ओर प्रदर्शित किया जाएगा ।
4. आप तालिका संपादक . में आपके द्वारा की जाने वाली सभी कार्रवाइयां देखेंगे , विंडो के निचले भाग में SQL क्वेरी में दिखाई देते हैं।
तालिका के गुण कॉन्फ़िगर हो जाने के बाद, परिवर्तन लागू करें click पर क्लिक करें और बस!
निष्कर्ष
Oracle डेटाबेस के साथ काम करते समय टेबल बनाना सबसे आम कार्यों में से एक है क्योंकि यह डेटा को व्यवस्थित करने में मदद करता है। हमारे गाइड में, हमने 10 अलग-अलग तरीकों का उपयोग करके ओरेकल में एक टेबल बनाने का एक विस्तृत वॉकथ्रू पेश किया है। आप Oracle SQL CREATE TABLE स्टेटमेंट का उपयोग कर सकते हैं और क्वेरी को मैन्युअल रूप से निष्पादित कर सकते हैं या प्रक्रिया को स्वचालित करने के लिए एक उपयुक्त IDE का उपयोग कर सकते हैं। इस मामले में, Oracle के लिए dbForge Studio सबसे अच्छा विकल्प है।
उपयोगी लिंक
- Oracle में एक डेटाबेस बनाएं
- Oracle में तालिका का नाम बदलें
- पीएल/एसक्यूएल फॉर्मेटर