SQL भाषा का उपयोग न केवल सूचनाओं को संसाधित करने के लिए किया जाता है, बल्कि डेटाबेस और तालिकाओं के साथ सभी कार्यों को करने के लिए भी किया जाता है, जिसमें तालिकाएँ बनाना और उनके साथ काम करना भी शामिल है।
तालिकाएँ बनाने के दो तरीके हैं:
यह ध्यान देने योग्य है कि जब आप DBMS इंटरैक्टिव टूलकिट का उपयोग करते हैं, तो वास्तव में, सारा काम SQL स्टेटमेंट द्वारा किया जाता है, यानी इंटरफ़ेस स्वयं उपयोगकर्ता के लिए अदृश्य रूप से इन कमांड को बनाता है (यह Excel में मैक्रो रिकॉर्ड करने के समान है, जब मैक्रो रिकॉर्डर आपके कार्यों को रिकॉर्ड करता है और उन्हें VBA कमांड में बदल देता है)।
प्रोग्रामेटिक रूप से तालिकाएँ बनाने के लिए, ऑपरेटर CREATE TABLE का उपयोग करें। इसके लिए, आपको निम्नलिखित डेटा निर्दिष्ट करना होगा:
आइए एक नई तालिका बनाएं और इसे Customers नाम दें:
CREATE TABLE Customers (
ID CHAR(10) NOT NULL Primary key,
Custom_name CHAR(25) NOT NULL,
Custom_address CHAR(25) NULL,
Custom_city CHAR(25) NULL,
Custom_Country CHAR(25) NULL,
ArcDate CHAR(25) NOT NULL, DEFAULT NOWO)
हां, हम पहले नई तालिका का नाम निर्दिष्ट करते हैं, फिर कोष्ठक में हम उन स्तंभों को सूचीबद्ध करते हैं जिन्हें हम बनाएंगे, और उनके नाम एक ही तालिका में दोहराए नहीं जा सकते। कॉलम नामों के बाद, प्रत्येक फ़ील्ड के लिए डेटा प्रकार निर्दिष्ट किया जाता है (CHAR(10)), फिर हम इंगित करते हैं कि क्या फ़ील्ड में खाली मान हो सकते हैं (NULL या NOT NULL), और वह फ़ील्ड जो प्राथमिक कुंजी होगी (Primary key) भी निर्दिष्ट किया जाना चाहिए।
SQL भाषा आपको प्रत्येक फ़ील्ड के लिए एक डिफ़ॉल्ट मान परिभाषित करने की भी अनुमति देती है, अर्थात, यदि उपयोगकर्ता किसी निश्चित फ़ील्ड के लिए कोई मान निर्दिष्ट नहीं करता है, तो यह स्वचालित रूप से DBMS द्वारा सेट किया जाएगा। CREATE TABLE ऑपरेटर के साथ कॉलम परिभाषित करते समय डिफ़ॉल्ट मान DEFAULT कीवर्ड द्वारा परिभाषित किया जाता है।
SQL में टेबल बदलने के लिए ऑपरेटर ALTER TABLE का उपयोग किया जाता है। इस ऑपरेटर का उपयोग करते समय, आपको निम्नलिखित जानकारी दर्ज करनी चाहिए:
उदाहरण के लिए, आइए तालिका Sellers में एक नया कॉलम जोड़ें, जिसमें हम विक्रेता का फ़ोन निर्दिष्ट करेंगे:
ALTER TABLE Sellers
ADD Phone CHAR (20)
कॉलम जोड़ने के अलावा हम उन्हें हटा भी सकते हैं। आइए अब Phone फ़ील्ड को हटाएँ। ऐसा करने के लिए, हम निम्नलिखित क्वेरी लिखेंगे:
ALTER TABLE Sellers
DROP COLUMN Phone
तालिकाएँ DROP TABLE ऑपरेटर का उपयोग करके हटा दी जाती हैं। Sellers_new तालिका को हटाने के लिए, हम निम्नलिखित क्वेरी लिख सकते हैं:
DROP TABLE Sellers_new
कई DBMS में ऐसे नियम होते हैं जो उन तालिकाओं को हटाने से रोकते हैं जो पहले से ही अन्य तालिकाओं से जुड़ी हुई हैं। यदि ये नियम लागू होते हैं और आप ऐसी तालिका को हटा देते हैं, तो DBMS संबंध हटाए जाने तक हटाने की कार्रवाई को अवरुद्ध कर देता है। ऐसे उपाय आवश्यक तालिकाओं के आकस्मिक विलोपन को रोकते हैं।