Andaikan kami mempunyai jadual pengguna, dan struktur pengguna adalah seperti berikut:
mysql> +----------+--------------+------+-----+--------- +-------+
|. Jenis | +----------+--------------+------+-----+--------- +-------+
|. varchar(10) | |. varchar(32) | |. buat masa |. YA | |. cipta |. YA | +----------+--------------+------+-----+--------- +-------+
4 baris dalam set (0.01 saat)
Ubah suai jenis medan jadual ubah suai
Mari kita laksanakan dan lihat hasilnya:
类别 | 详细解示 |
---|---|
基本语法 | alter table 表名 modify 字段名 varchar(20); |
示例 | alter table user modify username varchar(20); |
示例说明 | 将user表的username的类型改为varchar(20) |
+----------+--------------+------+-----+--------- +-------+|. Jenis | +----------+--------------+------+-----+--------- +-------+
|. varchar(20) | |. varchar(32) | |. buat masa |. YA | |. cipta |. YA | +----------+--------------+------+-----+--------- +-------+
4 baris dalam set (0.01 saat)
Tambah medan jadualmysql> ubah jadual emp tambah umur lajur int(3);
Pertanyaan OK, 0 baris terjejas (0.40 saat)
Rekod: 0 Pendua: 0 Amaran: 0pengguna mysql>
+----------+--------------+------+-----+--------- +-------+
|. Jenis | +----------+--------------+------+-----+--------- +-------+
|. varchar(20) | |. varchar(32) | |. buat masa |. YA | |. cipta |. YA | |. int(3) | +----------+--------------+------+-----+--------- +-------+
5 baris dalam set (0.00 saat)
Kawal susunan medan semasa menambah medan
Kami baru belajar menambah medan. Jika anda bereksperimen dengan teliti dan mendapati bahawa setiap kali ia ditambahkan pada penghujung, bagaimana untuk menambahnya pada yang pertama atau selepas medan penunjuk?UBAH JADUAL pengguna TAMBAH e-mel VARCHAR(60) SELEPAS menciptaip;
Pertanyaan OK, 0 baris terjejas (0.40 saat)
Rekod: 0 Pendua: 0 Amaran: 0mysql> desc pengguna;
+----------+--------------+------+-----+--------- +-------+
| Medan | Taip | Null | Kunci | Lalai | Tambahan |
+----------+--------------+------+-----+--------- +-------+
| nama pengguna | varchar(20) | YA | | NULL | |
| kata laluan | varchar(32) | YA | | NULL | |
| masa cipta | int(10) | YA | | NULL | |
| createip | int(10) | YA | | NULL | |
| e-mel | varchar(60) | YA | | NULL | |
| umur | int(3) | YA | | NULL | |
+----------+--------------+------+-----+--------- +-------+
6 baris dalam set (0.00 saat)删除表字段
类别 详细解示 基本语法 alter table 表名 drop column 字段名; 示例 alter table user drop column age; 示例说明 在user表中删除字段age mysql> ubah umur lajur drop pengguna jadual;
Pertanyaan OK, 0 baris terjejas (0.27 saat)
Rekod: 0 Pendua: 0 Amaran: 0mysql> desc pengguna;
+----------+--------------+------+-----+--------- +-------+
| Medan | Taip | Null | Kunci | Lalai | Tambahan |
+----------+--------------+------+-----+--------- +-------+
| nama pengguna | varchar(20) | YA | | NULL | |
| kata laluan | varchar(32) | YA | | NULL | |
| masa cipta | int(10) | YA | | NULL | |
| createip | int(10) | YA | | NULL | |
| e-mel | varchar(60) | YA | | NULL | |
+----------+--------------+------+-----+--------- +-------+
5 baris dalam set (0.00 saat)表字段改名
类别 详细解示 基本语法 alter table 表名 change 字段原名 字段新名 字段类型; 示例 alter table user change email em varchar(60); 示例说明 在user表中将字段中的email字段名字为em Contoh terperinci:
mysql> tukar e-mel pengguna jadual em varchar(60);
Pertanyaan OK, 0 baris terjejas (0.38 saat)
Rekod: 0 Pendua: 0 Amaran: 0Mari kita lakukan percubaan kecil menggunakan dahulu. Gunakan ubah suai untuk melaraskan tertibpengguna mysql> +----------+--------------+------+-----+--------- +-------+
|. Jenis | +----------+--------------+------+-----+--------- +-------+
|. varchar(20) | |. varchar(32) | |. buat masa |. YA | |. cipta |. YA | |. varchar(60) | +----------+--------------+------+-----+--------- +-------+
5 baris dalam set (0.00 saat)
Ubah suai susunan medan jadual
Dalam penambahan medan sebelumnya dan penyata pengubahsuaian (tambah/tukar/ubah suai), anda boleh menambah satu di akhir Pilihan dahulu|selepas.
Kami telah pun mempelajari cara melaraskan susunan apabila menambah medan jadual. Sekarang mari kita lihat bagaimana perubahan atau pengubahsuaian lain boleh melaraskan susunan itu.mysql> ubah suai pengguna jadual em varchar(60) dahulu;
Pertanyaan OK, 0 baris terjejas (0.41 saat)Rekod: 0 Pendua: 0 Amaran: 0
pengguna mysql>
+----------+--------------+------+-----+--------- +-------+|. Jenis | +----------+--------------+------+-----+--------- +-------+|. varchar(60) | |. varchar(20) | |. varchar(32) | |. buat masa |. YA | |. cipta |. YA | +----------+--------------+------+-----+--------- +-------+
5 baris dalam set (0.00 saat)修改表名
类别 详细解示 基本语法 alter table 旧表名 rename 新的表名; 示例 alter table user rename new_user; 示例说明 将user表名改为new_user mysql> tukar pengguna jadual namakan semula new_user;
Pertanyaan OK, 0 baris terjejas (0.35 saat)mysql> desc new_user;
+----------+--------------+------+-----+--------- +-------+
| Medan | Taip | Null | Kunci | Lalai | Tambahan |
+----------+--------------+------+-----+--------- +-------+
| em | varchar(60) | YA | | NULL | |
| nama pengguna | varchar(20) | YA | | NULL | |
| kata laluan | varchar(32) | YA | | NULL | |
| masa cipta | int(10) | YA | | NULL | |
| createip | int(10) | YA | | NULL | |
+----------+--------------+------+-----+--------- +-------+
5 baris dalam set (0.00 saat)