Олон талбарын байрлалыг нэмэгдүүлэхийн тулд MySQL нэмэлтийг өөрчлөх үү? modify баганын мэдэгдлийн ашиглалтын дэлгэрэнгүй тайлбар

MySQL олон талбарын байрлалыг нэмэгдүүлэхийн тулд нэмэхийг өөрчлөх үү? modify баганын мэдэгдлийн ашиглалтын дэлгэрэнгүй тайлбар

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;

Өгөгдлийн хүснэгтэд зөвхөн нэг талбар үлдсэн тохиолдолд DROP-ийг устгахад ашиглах боломжгүй.

ADD заалтыг MySQL-д өгөгдлийн хүснэгтэд багана нэмэхэд ашигладаг.Дараах жишээ нь testalter_tbl хүснэгтэд i талбарыг нэмж, өгөгдлийн төрлийг тодорхойлно.

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 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 товчийг ашиглан талбарыг нэмж байрлалыг тохируулна уу.


Талбайн төрөл болон нэрийг өөрчлөх

Хэрэв та талбарын төрөл болон нэрийг өөрчлөх шаардлагатай бол 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 TABLE-ийн Null болон Default утгууд дээр үзүүлэх нөлөө

Та талбарыг өөрчлөхдөө зөвхөн оруулах уу эсвэл үндсэн утгыг тохируулах уу гэдгээ зааж өгч болно.

Дараах жишээ нь 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)

Та мөн 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)

Хүснэгтийн нэрийг өөрчлөх

Хэрэв та өгөгдлийн хүснэгтийн нэрийг өөрчлөх шаардлагатай бол ALTER TABLE мэдэгдлийн RENAME заалтыг ашиглаж болно.

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;

Өөрчлөгдсөн талбарын харьцангуй байрлал: энд нэр1 нь таны өөрчлөхийг хүсэж буй талбар, төрөл1 нь талбарын анхны төрөл бөгөөд та эхний болон дараачийн аль нэгийг сонгох боломжтой. name2 талбарын ард байрлуулна

alter table tableName modify name1 type1 first|after name2;

Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) хуваалцсан "Олон талбарын байрлалыг нэмэгдүүлэхийн тулд MySQL нэмэх үү? "Баганыг өөрчлөх мэдэгдлийн ашиглалтын талаархи дэлгэрэнгүй тайлбар" нь танд хэрэгтэй болно.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-495.html

Чен Вэйляны блогын Telegram сувагт тавтай морил, хамгийн сүүлийн үеийн мэдээг аваарай!

🔔 Сувгийн шилдэг лавлахаас "ChatGPT Content Marketing AI Tool Usage Guide"-г хамгийн түрүүнд аваарай! 🌟
📚 Энэхүү гарын авлага нь асар их үнэ цэнийг агуулсан, 🌟Энэ бол ховор боломж, бүү алдаарай! ⏰⌛💨
Хэрэв танд таалагдвал лайк дарж, хуваалцаарай!
Таны хуваалцах, дуртай зүйл бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаяг нийтлэгдэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

滚动 到 顶部