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

MySQL में SET डेटा टाइप के विकल्प कैसे सेट करें और देखें?

SET डेटा टाइप: विकल्प परिभाषित करना और देखना

MySQL का SET डेटा टाइप एक कॉलम में पूर्वनिर्धारित विकल्पों में से शून्य या अधिक मान स्टोर करने की अनुमति देता है।

टेबल बनाना SET विकल्पों के साथ

CREATE TABLE DemoTable (
    Color SET('RED', 'GREEN', 'BLUE', 'YELLOW')
);

केस 1: DESC कमांड से विकल्प देखना

DESC DemoTable;
+-------+------------------------------------+------+-----+---------+-------+
| Field | Type                               | Null | Key | Default | Extra |
+-------+------------------------------------+------+-----+---------+-------+
| Color | set('RED','GREEN','BLUE','YELLOW') | YES  |     | NULL    |       |
+-------+------------------------------------+------+-----+---------+-------+

केस 2: INFORMATION_SCHEMA.COLUMNS से विकल्प देखना

SELECT COLUMN_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'DemoTable' AND COLUMN_NAME = 'Color';
+------------------------------------+
| COLUMN_TYPE                        |
+------------------------------------+
| set('RED','GREEN','BLUE','YELLOW') |
+------------------------------------+

SET डेटा टाइप की विशेषताएं

  • अधिकतम 64 मेंबर तक परिभाषित कर सकते हैं
  • स्टोरेज: 1-8 बाइट्स (मेंबर्स की संख्या के आधार पर)
  • एक कॉलम में कई मान कॉमा से अलग करके स्टोर होते हैं: 'RED,BLUE'
  • डुप्लीकेट मान अपने आप हट जाते हैं
  • अमान्य मान इन्सर्ट करने पर वार्निंग मिलती है और खाली स्ट्रिंग स्टोर होती है

डेटा इन्सर्ट और क्वेरी उदाहरण

INSERT INTO DemoTable VALUES('RED,GREEN');
INSERT INTO DemoTable VALUES('BLUE');
INSERT INTO DemoTable VALUES('RED,YELLOW,BLUE');

-- खास मान वाले रिकॉर्ड खोजना
SELECT * FROM DemoTable WHERE FIND_IN_SET('RED', Color) > 0;

-- सभी यूनिक मान देखना
SELECT DISTINCT Color FROM DemoTable;

SET vs ENUM

विशेषताSETENUM
एक साथ मानएकाधिक (0-64)केवल एक
स्टोरेजबिटमास्कइंडेक्स नंबर
उपयोगटैग्स, कैटेगरीजस्टेटस, टाइप
  1. - नई टेबल बनाते समय VARCHAR का आकार शामिल न करने पर क्या MySQL काम करेगा?

    नहीं, क्वेरी काम नहीं करेगी। आइए वही परिदृश्य बनाते हैं और त्रुटि जांचते हैं: mysql> create table DemoTable1821 ( Id int, FirstName varchar, LastName varchar ); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version fo

  1. - Java में MySQL LIKE के साथ खोज वेरिएबल का उपयोग करते समय उद्धरण चिह्नों का सही उपयोग

    सही सिंटैक्स String sqlQuery = SELECT * FROM yourTableName WHERE yourColumnName LIKE % + searchVariable + %; उदाहरण टेबल बनाएं: INSERT INTO demo19 (name) VALUES (John Smith), (David Miller), (Adam Smith), (Chris Brown); Java कोड String searchKeyWord = Smith; String sqlQuery = SELECT * FROM demo19

  1. - MySQL में टेबल बनाकर वर्तमान तिथि को डिफ़ॉल्ट मान के रूप में सेट करना

    DEFAULT कंस्ट्रेंट सिंटैक्स CREATE TABLE yourTableName ( yourColumnName1 dataType not null, yourColumnName2 dataType default anyValue, ... ); उदाहरण: कर्मचारी जॉइनिंग तिथि ); डेटा डालना और परिणाम insert into demo43(employee_name) values(Bob); +-------------+---------------+---------