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)

ცხრილის ველების წაშლა, დამატება ან შეცვლა

შემდეგი ბრძანება იყენებს ALTER ბრძანებას DROP პუნქტით ზემოთ შექმნილი ცხრილის i სვეტის ჩამოსაშლელად:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP არ შეიძლება გამოყენებულ იქნას ველის წასაშლელად, თუ მონაცემთა ცხრილში მხოლოდ ერთი ველია დარჩენილი.

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 (კომპლექტიპოზიციონირებაპირველი სვეტი), ველის სახელის შემდეგ (დაყენებულია ველის შემდეგ).

სცადეთ შემდეგი ALTER TABLE განცხადება და წარმატებული შესრულების შემდეგ გამოიყენეთ 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 ველის დასამატებლად და პოზიციის დასაყენებლად.


შეცვალეთ ველის ტიპი და სახელი

თუ თქვენ გჭირდებათ ველის ტიპისა და სახელის შეცვლა, შეგიძლიათ გამოიყენოთ MODIFY ან CHANGE პუნქტი ALTER ბრძანებაში.

მაგალითად, 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 TABLE-ის ეფექტი Null და ნაგულისხმევ მნიშვნელობებზე

როდესაც თქვენ ცვლით ველს, შეგიძლიათ მიუთითოთ, შეიტანოთ მხოლოდ თუ დააყენოთ ნაგულისხმევი მნიშვნელობა.

შემდეგი მაგალითი მიუთითებს, რომ ველი j არის NOT 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)

თქვენ ასევე შეგიძლიათ გამოიყენოთ ALTER ბრძანება DROP პუნქტით ველის ნაგულისხმევი მნიშვნელობის მოსაშორებლად, როგორც შემდეგ მაგალითში:

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-ად:

შენიშვნა:მონაცემთა ცხრილის ტიპის სანახავად შეგიძლიათ გამოიყენოთ SHOW TABLE STATUS განცხადება.

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)

ცხრილის სახელის შეცვლა

თუ თქვენ გჭირდებათ მონაცემთა ცხრილის სახელის შეცვლა, ამისათვის შეგიძლიათ გამოიყენოთ RENAME პუნქტი ALTER TABLE განცხადებაში.

სცადეთ შემდეგი მაგალითი, რომ გადაარქვათ მონაცემთა ცხრილის testalter_tbl alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

ALTER ბრძანება ასევე შეიძლება გამოყენებულ იქნას MySQL ცხრილებზე ინდექსების შესაქმნელად და წასაშლელად, რომელსაც შემდეგ თავებში განვიხილავთ.

შეცვალოს სხვა გამოყენება

შეცვალეთ შენახვის ძრავა: შეცვალეთ იგი myisam-ზე

alter table tableName engine=myisam;

უცხო გასაღების შეზღუდვის მოხსნა: keyName არის უცხო გასაღების მეტსახელი

alter table tableName drop foreign key keyName;

შეცვლილი ველის ფარდობითი პოზიცია: აქ name1 არის ველი, რომლის შეცვლაც გსურთ, type1 არის ველის ორიგინალური ტიპი და შეგიძლიათ აირჩიოთ პირველი და შემდეგ ერთ-ერთი, რომელიც აშკარა უნდა იყოს, პირველი მოთავსებულია ჯერ, ხოლო შემდეგ არის მოთავსებულია name2 ველის შემდეგ

alter table tableName modify name1 type1 first|after name2;

იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) გააზიარა "MySQL შეცვალოს დამატება მრავალი ველის პოზიციების გასაზრდელად? მოდიფიკაციის სვეტის განცხადების გამოყენების დეტალური ახსნა თქვენთვის სასარგებლოა.

კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-495.html

კეთილი იყოს თქვენი მობრძანება Chen Weiliang-ის ბლოგის ტელეგრამის არხზე, რომ მიიღოთ უახლესი განახლებები!

🔔 იყავით პირველი, ვინც მიიღეთ ღირებული "ChatGPT Content Marketing AI Tool Usage Guide" არხის ზედა დირექტორიაში! 🌟
📚 ეს სახელმძღვანელო შეიცავს უზარმაზარ ღირებულებას, 🌟ეს იშვიათი შესაძლებლობაა, არ გამოტოვოთ! ⏰⌛💨
გააზიარეთ და მოიწონეთ თუ მოგეწონათ!
თქვენი გაზიარება და მოწონებები ჩვენი უწყვეტი მოტივაციაა!

 

评论

თქვენი ელ.ფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

გადახვევა ზევით