Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

क्या SQL Server में MySQL के ENUM डेटा टाइप का समकक्ष है? CHECK कंस्ट्रेंट विकल्प

MySQL ENUM vs SQL Server: CHECK कंस्ट्रेंट से समान कार्यक्षमता प्राप्त करना

MySQL में ENUM (संस्करण 8.0.12+):

CREATE TABLE yourTableName (
    yourColumnName ENUM('Value1','Value2','Value3',...) DEFAULT 'Value1'
);

उदाहरण:

mysql> CREATE TABLE EnumInMySQL (
    -> WebCRUD ENUM('CREATE','READ','UPDATE','DELETE') DEFAULT 'CREATE'
    -> ); 
Query OK, 0 rows affected (0.60 sec)

SQL Server में समकक्ष: CHECK कंस्ट्रेंट

SQL Server में ENUM नहीं है। इसके बजाय VARCHAR + CHECK कंस्ट्रेंट उपयोग करें:

CREATE TABLE yourTableName (
    yourColumnName VARCHAR(100) 
    CHECK (yourColumnName IN ('Value1','Value2','Value3',...)) 
    DEFAULT 'Value1'
);

SQL Server उदाहरण:

CREATE TABLE EnumInSQLServer (
    WebCRUD VARCHAR(10) 
    CHECK (WebCRUD IN ('CREATE','READ','UPDATE','DELETE')) 
    DEFAULT 'CREATE'
);

तुलना:

विशेषताMySQL ENUMSQL Server CHECK
स्टोरेजकॉम्पैक्ट (1-2 बाइट्स, इंडेक्स द्वारा)पूर्ण स्ट्रिंग स्टोरेज
मान्यताऑटोमेटिक (इन्सर्ट/अपडेट पर)CHECK कंस्ट्रेंट द्वारा
मान जोड़नाALTER TABLE ... MODIFY (लॉक)ALTER TABLE ... ALTER CONSTRAINT
सॉर्टिंगपरिभाषा क्रम के अनुसारअक्षरानुक्रम (डिफ़ॉल्ट)
पोर्टेबिलिटीMySQL-विशिष्टANSI SQL मानक

MySQL में भी CHECK कंस्ट्रेंट (8.0.16+):

CREATE TABLE demo (
    status VARCHAR(20) CHECK (status IN ('active','inactive','pending'))
);

सर्वोत्तम अभ्यास:

  • MySQL: छोटे, निश्चित सेट के लिए ENUM उपयोग करें (स्टोरेज कुशल)
  • SQL Server: CHECK कंस्ट्रेंट + लुकअप टेबल (फॉरेन की) बेहतर डिजाइन
  • लुकअप टेबल दृष्टिकोण (दोनों में):
CREATE TABLE status_lookup (
    code VARCHAR(20) PRIMARY KEY,
    description VARCHAR(100)
);

CREATE TABLE main_table (
    status_code VARCHAR(20),
    FOREIGN KEY (status_code) REFERENCES status_lookup(code)
);

यह सबसे लचीला, रखरखाव योग्य और पोर्टेबल समाधान है।

  1. - SQL Server में डेटा प्रकार

    SQL Server में डेटा प्रकार नीचे SQL Server में डेटा प्रकार दिए गए हैं, जिनमें कैरेक्टर स्ट्रिंग्स, नंबर और दिनांक/समय शामिल हैं। SQL Server में कैरेक्टर स्ट्रिंग डेटा प्रकार नीचे SQL Server (Transact-SQL) में कैरेक्टर स्ट्रिंग डेटा के प्रकार दिए गए हैं। डेटा प्रकार सिंटैक्सअधिकतम आकारव्याख्या CH

  1. MS SQL Server में डेटा की प्रति बनाना (बैकअप) MS SQL Server में डेटा की प्रति बनाना (बैकअप)

    MS SQL Server में बैकअप (Backup) बैकअप डेटा बैकअप / डेटाबेस है। MS SQL Server में डेटाबेस का बैकअप लेना डेटाबेस खोने से पहले डेटा की सुरक्षा के लिए बहुत महत्वपूर्ण है। MS SQL Server में 3 मुख्य बैकअप प्रकार हैं: Full / Database, Differential / Incremental, Transactional Log / Log। MS SQL Server में

  1. MS SQL Server में डेटाबेस बनाना MS SQL Server में डेटाबेस बनाना

    MS SQL Server में डेटाबेस बनाना डेटाबेस में टेबल्स, प्रोसेस, फंक्शन्स जैसे ऑब्जेक्ट्स शामिल होते हैं। MS SQL Server में दो प्रकार के डेटाबेस होते हैं: System database (सिस्टम डेटाबेस) User database (उपयोगकर्ता डेटाबेस) System database (सिस्टम डेटाबेस) सिस्टम डेटाबेस (डेटाबेस) MS SQL Server इंस्टॉ