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

MySQL में टेबल कॉलम का डिफ़ॉल्ट मान कैसे बदलें?


MySQL में ALTER TABLE ... CHANGE COLUMN का उपयोग करके कॉलम का डिफ़ॉल्ट मान बदलें।

सिंटैक्स

ALTER TABLE yourTableName 
CHANGE COLUMN yourColumnName yourColumnName dataType NOT NULL DEFAULT defaultValue;

उदाहरण

टेबल बनाना (डिफ़ॉल्ट NULL)

mysql> create table DefaultDemo (
-> ArrivalTime timestamp
-> ); Query OK, 0 rows affected (0.65 sec)

वर्तमान डिफ़ॉल्ट देखना

mysql> desc DefaultDemo;
+-------------+-----------+------+-----+---------+-------+
| Field       | Type      | Null | Key | Default | Extra |
+-------------+-----------+------+-----+---------+-------+
| ArrivalTime | timestamp | YES  |     | NULL    |       |
+-------------+-----------+------+-----+---------+-------+

डिफ़ॉल्ट मान CURRENT_TIMESTAMP पर सेट करना

mysql> ALTER TABLE DefaultDemo 
CHANGE ArrivalTime ArrivalTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 
Query OK, 0 rows affected (1.71 sec)

टेस्ट: मान डाले बिना INSERT

mysql> insert into DefaultDemo values(); 
Query OK, 1 row affected (0.15 sec)

परिणाम

mysql> select *from DefaultDemo;
+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-12-07 11:31:00 |
+---------------------+

अन्य सामान्य डिफ़ॉल्ट मान

-- संख्या के लिए
ALTER TABLE products CHANGE price price DECIMAL(10,2) NOT NULL DEFAULT 0.00;

-- स्ट्रिंग के लिए
ALTER TABLE users CHANGE status status VARCHAR(20) NOT NULL DEFAULT 'active';

-- बूलियन के लिए
ALTER TABLE users CHANGE is_active is_active BOOLEAN NOT NULL DEFAULT TRUE;

-- तारीख के लिए (केवल स्थिर मान)
ALTER TABLE events CHANGE event_date event_date DATE NOT NULL DEFAULT '2024-01-01';

-- UUID के लिए (MySQL 8.0+)
ALTER TABLE users CHANGE uuid uuid CHAR(36) NOT NULL DEFAULT (UUID());

डिफ़ॉल्ट हटाना (NULL अनुमति देना)

ALTER TABLE table_name 
CHANGE COLUMN col_name col_name dataType NULL DEFAULT NULL;

महत्वपूर्ण नोट्स

  • CHANGE COLUMN के लिए कॉलम नाम दो बार लिखना आवश्यक है
  • NOT NULL के साथ DEFAULT देना अनिवार्य है यदि कॉलम NOT NULL है
  • मौजूदा NULL मान वाले कॉलम को NOT NULL बनाने से पहले डेटा अपडेट करें
  • TIMESTAMP कॉलम पर DEFAULT CURRENT_TIMESTAMP और ON UPDATE CURRENT_TIMESTAMP दोनों उपयोग कर सकते हैं

TIMESTAMP के लिए पूर्ण उदाहरण

ALTER TABLE logs 
CHANGE created_at created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE updated_at updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 
  ON UPDATE CURRENT_TIMESTAMP;

  1. - 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 DemoTable13

  1. - MySQL में SUBSTRING_INDEX() का उपयोग करके कॉलम कैसे विभाजित करें?

    MySQL में SUBSTRING_INDEX() और LOCATE() फ़ंक्शन का उपयोग करके डिलिमिटर (जैसे अंडरस्कोर) के आधार पर कॉलम को भागों में विभाजित किया जा सकता है। सिंटैक्स 0: बाएं से count भाग -- count < 0: दाएं से |count| भाग उदाहरण: पहला भाग प्राप्त करें (पहले _ से पहले) mysql> CREATE TABLE DemoTable (Name VARCH

  1. - Python में MySQL का उपयोग करके टेबल में नया कॉलम जोड़ना

    कभी-कभी किसी मौजूदा टेबल में नया कॉलम जोड़ने की आवश्यकता होती है। मान लीजिए हमारे पास Students टेबल है जिसमें Name, Age, Roll No जैसे कॉलम हैं। हम इसमें Address नाम का एक नया कॉलम जोड़ना चाहते हैं। यह ALTER कमांड का उपयोग करके किया जा सकता है। ALTER कमांड का उपयोग डेटाबेस में कॉलम को संशोधित, ड्रॉप