MySQL ਕਈ ਫੀਲਡ ਪੋਜੀਸ਼ਨਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਐਡ ਨੂੰ ਬਦਲਦਾ ਹੈ? ਸੋਧ ਕਾਲਮ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਵਿਆਖਿਆ

MySQL ਕਈ ਫੀਲਡ ਪੋਜੀਸ਼ਨਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਐਡ ਨੂੰ ਬਦਲੋ? ਸੋਧ ਕਾਲਮ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਵਿਆਖਿਆ

MySQL ALTER ਕਮਾਂਡ

ਜਦੋਂ ਸਾਨੂੰ ਡੇਟਾ ਟੇਬਲ ਦੇ ਨਾਮ ਨੂੰ ਸੋਧਣ ਜਾਂ ਡੇਟਾ ਟੇਬਲ ਖੇਤਰਾਂ ਨੂੰ ਸੋਧਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਸਾਨੂੰ MySQL ALTER ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਇਸ ਟਿਊਟੋਰਿਅਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਆਓ ਇੱਕ ਸਾਰਣੀ ਬਣਾਈਏ: testalter_tbl.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use chenweiliang;
Database changed
mysql> create table testalter_tbl
    -> (
    -> i INT,
    -> c CHAR(1)
    -> );
Query OK, 0 rows affected (0.05 sec)
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       |
| c     | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

ਟੇਬਲ ਖੇਤਰਾਂ ਨੂੰ ਮਿਟਾਓ, ਜੋੜੋ ਜਾਂ ਸੋਧੋ

ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਉੱਪਰ ਬਣਾਏ ਟੇਬਲ ਦੇ i ਕਾਲਮ ਨੂੰ ਸੁੱਟਣ ਲਈ DROP ਧਾਰਾ ਦੇ ਨਾਲ ALTER ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ:

mysql> ALTER TABLE testalter_tbl  DROP i;

ਜੇਕਰ ਡੇਟਾ ਸਾਰਣੀ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਖੇਤਰ ਬਚਿਆ ਹੈ ਤਾਂ ਡ੍ਰੌਪ ਦੀ ਵਰਤੋਂ ਕਿਸੇ ਖੇਤਰ ਨੂੰ ਮਿਟਾਉਣ ਲਈ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।

ADD ਕਲਾਜ਼ ਨੂੰ MySQL ਵਿੱਚ ਡੇਟਾ ਟੇਬਲ ਵਿੱਚ ਕਾਲਮ ਜੋੜਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਨਿਮਨਲਿਖਤ ਉਦਾਹਰਨ ਟੇਬਲ ਵਿੱਚ i ਖੇਤਰ ਜੋੜਦੀ ਹੈ testalter_tbl ਅਤੇ ਡੇਟਾ ਕਿਸਮ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ:

mysql> ALTER TABLE testalter_tbl ADD i INT;

ਉਪਰੋਕਤ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ, i ਫੀਲਡ ਆਪਣੇ ਆਪ ਡਾਟਾ ਟੇਬਲ ਫੀਲਡ ਦੇ ਅੰਤ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।

mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

ਜੇਕਰ ਤੁਹਾਨੂੰ ਨਵੇਂ ਫੀਲਡ ਦਾ ਸਥਾਨ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ MySQL ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ FIRST ਕੀਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।ਸਥਿਤੀਪਹਿਲਾ ਕਾਲਮ), AFTER ਫੀਲਡ ਨਾਮ (ਫੀਲਡ ਤੋਂ ਬਾਅਦ ਸੈੱਟ)।

ਹੇਠਾਂ ਦਿੱਤੇ ALTER ਟੇਬਲ ਸਟੇਟਮੈਂਟ ਨੂੰ ਅਜ਼ਮਾਓ, ਅਤੇ ਸਫਲਤਾਪੂਰਵਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੋਂ ਬਾਅਦ, ਸਾਰਣੀ ਬਣਤਰ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਨੂੰ ਦੇਖਣ ਲਈ SHOW COLUMNS ਦੀ ਵਰਤੋਂ ਕਰੋ:

ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;

FIRST ਅਤੇ AFTER ਕੀਵਰਡਸ ਸਿਰਫ ADD ਕਲਾਜ਼ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ, ਇਸਲਈ ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਡੇਟਾ ਟੇਬਲ ਫੀਲਡ ਦੀ ਸਥਿਤੀ ਨੂੰ ਰੀਸੈਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਫੀਲਡ ਨੂੰ ਹਟਾਉਣ ਲਈ DROP ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਫਿਰ ਫੀਲਡ ਨੂੰ ਜੋੜਨ ਅਤੇ ਸਥਿਤੀ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ADD ਦੀ ਲੋੜ ਹੈ।


ਖੇਤਰ ਦੀ ਕਿਸਮ ਅਤੇ ਨਾਮ ਨੂੰ ਸੋਧੋ

ਜੇਕਰ ਤੁਹਾਨੂੰ ਫੀਲਡ ਦੀ ਕਿਸਮ ਅਤੇ ਨਾਮ ਨੂੰ ਸੋਧਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ ALTER ਕਮਾਂਡ ਵਿੱਚ MODIFY ਜਾਂ CHANGE ਧਾਰਾ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ ਲਈ, ਫੀਲਡ c ਦੀ ਕਿਸਮ ਨੂੰ CHAR(1) ਤੋਂ CHAR(10) ਵਿੱਚ ਬਦਲਣ ਲਈ, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਓ:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

CHANGE ਧਾਰਾ ਦੇ ਨਾਲ, ਸੰਟੈਕਸ ਬਹੁਤ ਵੱਖਰਾ ਹੈ।CHANGE ਕੀਵਰਡ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਉਸ ਖੇਤਰ ਦਾ ਨਾਮ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਸੋਧਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਅਤੇ ਫਿਰ ਨਵਾਂ ਖੇਤਰ ਦਾ ਨਾਮ ਅਤੇ ਕਿਸਮ ਦਿਓ।ਹੇਠ ਦਿੱਤੀ ਉਦਾਹਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ਨਲ ਅਤੇ ਡਿਫਾਲਟ ਮੁੱਲਾਂ 'ਤੇ ALTER ਟੇਬਲ ਦਾ ਪ੍ਰਭਾਵ

ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਖੇਤਰ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਸਿਰਫ਼ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ ਜਾਂ ਕੀ ਇੱਕ ਡਿਫੌਲਟ ਮੁੱਲ ਸੈੱਟ ਕਰਨਾ ਹੈ।

ਹੇਠ ਦਿੱਤੀ ਉਦਾਹਰਨ ਦੱਸਦੀ ਹੈ ਕਿ ਫੀਲਡ j NULL ਨਹੀਂ ਹੈ ਅਤੇ ਡਿਫੌਲਟ ਮੁੱਲ 100 ਹੈ।

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਡਿਫੌਲਟ ਮੁੱਲ ਸੈਟ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਤਾਂ MySQL ਆਪਣੇ ਆਪ ਹੀ ਫੀਲਡ ਨੂੰ ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ NULL ਤੇ ਸੈਟ ਕਰ ਦੇਵੇਗਾ।


ਫੀਲਡ ਡਿਫੌਲਟ ਮੁੱਲ ਨੂੰ ਸੋਧੋ

ਤੁਸੀਂ ਇੱਕ ਫੀਲਡ ਦੇ ਡਿਫੌਲਟ ਮੁੱਲ ਨੂੰ ਬਦਲਣ ਲਈ ALTER ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਹੇਠ ਲਿਖੀਆਂ ਉਦਾਹਰਣਾਂ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:

mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | 1000    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

ਤੁਸੀਂ ਇੱਕ ਫੀਲਡ ਦੇ ਡਿਫਾਲਟ ਮੁੱਲ ਨੂੰ ਹਟਾਉਣ ਲਈ DROP ਧਾਰਾ ਦੇ ਨਾਲ ALTER ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਵੀ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਨ ਵਿੱਚ:

mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Changing a Table Type:

ਡਾਟਾ ਟੇਬਲ ਦੀ ਕਿਸਮ ਨੂੰ ਸੋਧਣਾ ALTER ਕਮਾਂਡ ਅਤੇ TYPE ਧਾਰਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।ਹੇਠਾਂ ਦਿੱਤੀ ਉਦਾਹਰਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ, ਜਿੱਥੇ ਅਸੀਂ ਟੇਬਲ ਦੀ ਕਿਸਮ ਨੂੰ ਬਦਲਦੇ ਹਾਂ testalter_tbl MYISAM:

ਨੋਟ:ਡਾਟਾ ਟੇਬਲ ਦੀ ਕਿਸਮ ਦੇਖਣ ਲਈ, ਤੁਸੀਂ ਸਾਰਣੀ ਸਥਿਤੀ ਸਟੇਟਮੈਂਟ ਦਿਖਾਓ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM;
mysql>  SHOW TABLE STATUS LIKE 'testalter_tbl'\G
*************************** 1. row ****************
           Name: testalter_tbl
           Type: MyISAM
     Row_format: Fixed
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 25769803775
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2007-06-03 08:04:36
    Update_time: 2007-06-03 08:04:36
     Check_time: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

ਸਾਰਣੀ ਦਾ ਨਾਮ ਸੋਧੋ

ਜੇਕਰ ਤੁਹਾਨੂੰ ਡਾਟਾ ਟੇਬਲ ਦੇ ਨਾਮ ਨੂੰ ਸੋਧਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਅਜਿਹਾ ਕਰਨ ਲਈ ALTER TABLE ਸਟੇਟਮੈਂਟ ਵਿੱਚ RENAME ਧਾਰਾ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

ਡਾਟਾ ਟੇਬਲ testalter_tbl ਦਾ ਨਾਮ alter_tbl ਕਰਨ ਲਈ ਹੇਠ ਦਿੱਤੀ ਉਦਾਹਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ MySQL ਟੇਬਲਾਂ 'ਤੇ ਸੂਚਕਾਂਕ ਬਣਾਉਣ ਅਤੇ ਮਿਟਾਉਣ ਲਈ ਵੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜਿਸ ਨੂੰ ਅਸੀਂ ਅਗਲੇ ਅਧਿਆਵਾਂ ਵਿੱਚ ਕਵਰ ਕਰਾਂਗੇ।

ਹੋਰ ਵਰਤੋਂ ਨੂੰ ਬਦਲਣਾ

ਸਟੋਰੇਜ਼ ਇੰਜਣ ਨੂੰ ਸੋਧੋ: ਇਸ ਨੂੰ ਮਾਈਸਮ ਵਿੱਚ ਸੋਧੋ

alter table tableName engine=myisam;

ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਨੂੰ ਹਟਾਓ: keyName ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਉਪਨਾਮ ਹੈ

alter table tableName drop foreign key keyName;

ਸੰਸ਼ੋਧਿਤ ਖੇਤਰ ਦੀ ਅਨੁਸਾਰੀ ਸਥਿਤੀ: ਇੱਥੇ name1 ਉਹ ਖੇਤਰ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਟਾਈਪ 1 ਖੇਤਰ ਦੀ ਅਸਲ ਕਿਸਮ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚੋਂ ਇੱਕ ਦੀ ਚੋਣ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਸਪੱਸ਼ਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਹਿਲਾਂ ਪਹਿਲਾਂ ਰੱਖਿਆ ਗਿਆ ਹੈ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਹੈ। name2 ਖੇਤਰ ਦੇ ਬਾਅਦ ਰੱਖਿਆ ਗਿਆ

alter table tableName modify name1 type1 first|after name2;

ਹੋਪ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਬਲੌਗ ( https://www.chenweiliang.com/ ) ਨੇ ਸਾਂਝਾ ਕੀਤਾ "ਮਾਈਐਸਕਯੂਐਲ ਕਈ ਫੀਲਡ ਪੋਜੀਸ਼ਨਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਐਡ ਬਦਲੋ? ਮੋਡੀਫਾਈ ਕਾਲਮ ਸਟੇਟਮੈਂਟ" ਦੀ ਵਰਤੋਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਵਿਆਖਿਆ ਤੁਹਾਡੇ ਲਈ ਮਦਦਗਾਰ ਹੈ।

ਇਸ ਲੇਖ ਦਾ ਲਿੰਕ ਸਾਂਝਾ ਕਰਨ ਲਈ ਸੁਆਗਤ ਹੈ:https://www.chenweiliang.com/cwl-495.html

ਨਵੀਨਤਮ ਅਪਡੇਟਸ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਚੇਨ ਵੇਇਲਿਯਾਂਗ ਦੇ ਬਲੌਗ ਦੇ ਟੈਲੀਗ੍ਰਾਮ ਚੈਨਲ ਵਿੱਚ ਸੁਆਗਤ ਹੈ!

🔔 ਚੈਨਲ ਦੀ ਚੋਟੀ ਦੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੀਮਤੀ "ChatGPT ਸਮੱਗਰੀ ਮਾਰਕੀਟਿੰਗ AI ਟੂਲ ਵਰਤੋਂ ਗਾਈਡ" ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਪਹਿਲੇ ਬਣੋ! 🌟
📚 ਇਸ ਗਾਈਡ ਵਿੱਚ ਬਹੁਤ ਵੱਡਾ ਮੁੱਲ ਹੈ, 🌟ਇਹ ਇੱਕ ਦੁਰਲੱਭ ਮੌਕਾ ਹੈ, ਇਸ ਨੂੰ ਨਾ ਗੁਆਓ! ⏰⌛💨
ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ!
ਤੁਹਾਡੀ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਤ ਨਹੀ ਕੀਤਾ ਜਾਵੇਗਾ. ਲੋੜੀਂਦੇ ਖੇਤਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ * ਲੇਬਲ

ਸਿਖਰ ਤੱਕ ਸਕ੍ਰੋਲ ਕਰੋ