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

MySQL में टेबल कॉलम को VARCHAR से NULL अनुमति वाले में बदलना

ALTER TABLE CHANGE से कॉलम को NULL अनुमति देना

मौजूदा VARCHAR कॉलम को NULL वैल्यू अनुमति देने के लिए (अगर पहले NOT NULL था) ALTER TABLE ... CHANGE का उपयोग करें।

सिंटैक्स

ALTER TABLE yourTableName 
CHANGE yourColumnName yourColumnName datatype NULL DEFAULT NULL;

टेबल बनाना

CREATE TABLE DemoTable1356 (FirstName VARCHAR(30));

नोट: डिफॉल्ट रूप से VARCHAR NULL अनुमति देता है। यह उदाहरण दिखाता है कि कैसे स्पष्ट रूप से NULL DEFAULT NULL सेट करें।

कॉलम को NULL DEFAULT NULL में बदलना

ALTER TABLE DemoTable1356 
CHANGE FirstName FirstName VARCHAR(30) NULL DEFAULT NULL;
Query OK, 0 rows affected (0.17 sec)
Records: 0  Duplicates: 0  Warnings: 0

डेटा इन्सर्ट करना (NULL और खाली स्ट्रिंग सहित)

INSERT INTO DemoTable1356 VALUES('Adam');
INSERT INTO DemoTable1356 VALUES('John');
INSERT INTO DemoTable1356 VALUES();        -- डिफॉल्ट NULL
INSERT INTO DemoTable1356 VALUES('Bob');
INSERT INTO DemoTable1356 VALUES(NULL);    -- स्पष्ट NULL

आउटपुट

+-----------+
| FirstName |
+-----------+
| Adam      |
| John      |
| NULL      |
| Bob       |
| NULL      |
+-----------+

महत्वपूर्ण बिंदु

  • CHANGE के लिए पुराना और नया नाम दोनों देने पड़ते हैं (यहां समान)
  • NULL कॉलम को NULL अनुमति देता है
  • DEFAULT NULL डिफॉल्ट वैल्यू NULL सेट करता है
  • अगर कॉलम पहले NOT NULL था, तो मौजूदा डेटा में NULL नहीं होना चाहिए

NOT NULL से NULL में बदलना (डेटा होने पर)

ALTER TABLE DemoTable1356 MODIFY FirstName VARCHAR(30) NULL DEFAULT NULL;

MODIFY में कॉलम नाम दोहराने की जरूरत नहीं।

वेरिफाई करना

DESC DemoTable1356;
SHOW CREATE TABLE DemoTable1356;
  1. - MySQL में ALTER TABLE DROP INDEX का उपयोग करके टेबल से इंडेक्स हटाना

    MySQL में इंडेक्स हटाना: ALTER TABLE DROP INDEX MySQL टेबल से मौजूदा इंडेक्स हटाने के लिए, इंडेक्स नाम के साथ ALTER TABLE ... DROP INDEX स्टेटमेंट का उपयोग करें। उदाहरण: इंडेक्स बनाना और हटाना DESC DemoTable1469; +-------------+-------------+------+-----+---------+----------------+ | Field |

  1. - MySQL में DISTINCT कॉलम से औसत कैसे चुनें?

    MySQL में विशिष्ट (DISTINCT) मानों के आधार पर औसत निकालने के लिए, सबक्वेरी में DISTINCT का उपयोग करके डुप्लिकेट हटाएं, फिर बाहरी क्वेरी में AVG() लागू करें। उदाहरण: विशिष्ट छात्र-मान संयोजनों का औसत डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1934 ( StudentName VARCHAR(20), StudentMa

  1. - MySQL में VARCHAR कॉलम से अधिकतम मान कैसे प्राप्त करें

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO