MySQL alter add za povećanje višestrukih pozicija polja? Detaljno objašnjenje upotrebe izraza modificiraj stupac

MySQL alter add za povećanje višestrukih pozicija u polju? Detaljno objašnjenje upotrebe izraza modificiraj stupac

MySQL ALTER komanda

Kada trebamo izmijeniti naziv tablice podataka ili izmijeniti polja tablice podataka, trebamo koristiti MySQL ALTER naredbu.

Prije nego započnemo ovaj vodič, napravimo tablicu pod nazivom: 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)

Izbrišite, dodajte ili izmijenite polja tablice

Sljedeća naredba koristi naredbu ALTER s klauzulom DROP za ispuštanje i stupca gore kreirane tablice:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP se ne može koristiti za brisanje polja ako je u tablici podataka ostalo samo jedno polje.

Klauzula ADD se koristi u MySQL-u za dodavanje stupaca u tablicu podataka. Sljedeći primjer dodaje polje i u tablicu testalter_tbl i definira tip podataka:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Nakon izvršenja gornje naredbe, i polje se automatski dodaje na kraj polja tablice podataka.

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)

Ako trebate navesti lokaciju novog polja, možete koristiti ključnu riječ FIRST koju pruža MySQL (setPozicioniranjeprva kolona), AFTER naziv polja (postavlja se nakon polja).

Isprobajte sljedeću naredbu ALTER TABLE i nakon uspješnog izvršenja koristite SHOW COLUMNS da vidite promjene u strukturi tablice:

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;

Ključne riječi FIRST i AFTER se koriste samo u klauzuli ADD, tako da ako želite resetirati poziciju polja tabele podataka, trebate koristiti DROP da uklonite polje, a zatim ADD da dodate polje i postavite poziciju.


Izmijenite tip polja i naziv

Ako trebate izmijeniti tip i ime polja, možete koristiti klauzulu MODIFY ili CHANGE u naredbi ALTER.

Na primjer, da promijenite tip polja c iz CHAR(1) u CHAR(10), izvršite sljedeću naredbu:

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

Sa klauzulom CHANGE, sintaksa je veoma različita.Odmah iza ključne riječi CHANGE nalazi se naziv polja koje želite izmijeniti, a zatim navedite novo ime i tip polja.Pokušajte sljedeći primjer:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Utjecaj ALTER TABLE na nulte i zadane vrijednosti

Kada izmijenite polje, možete odrediti da li ćete uključiti samo ili postaviti zadanu vrijednost.

Sljedeći primjer navodi da polje j NIJE NULL, a zadana vrijednost je 100.

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

Ako ne postavite zadanu vrijednost, MySQL će automatski postaviti polje na NULL po defaultu.


Izmijenite zadanu vrijednost polja

Možete koristiti ALTER da promijenite zadanu vrijednost polja, isprobajte sljedeće primjere:

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)

Također možete koristiti naredbu ALTER s klauzulom DROP da uklonite zadanu vrijednost polja, kao u sljedećem primjeru:

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:

Promjena tipa tablice podataka može se obaviti korištenjem naredbe ALTER i klauzule TYPE.Isprobajte sljedeći primjer, gdje mijenjamo tip tabele testalter_tbl u MYISAM:

Napomena:Za pregled tipa tablice podataka, možete koristiti naredbu 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)

Izmijenite naziv tabele

Ako trebate izmijeniti ime tablice podataka, možete koristiti klauzulu RENAME u izrazu ALTER TABLE da to učinite.

Pokušajte sljedeći primjer da preimenujete tablicu podataka testalter_tbl u alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

Naredba ALTER se također može koristiti za kreiranje i brisanje indeksa na MySQL tablicama podataka, što ćemo uvesti u sljedećim poglavljima.

promijenite druge namjene

Izmijenite mehanizam za pohranu: modificirajte ga u myisam

alter table tableName engine=myisam;

Uklonite ograničenje stranog ključa: ime ključa je alias stranog ključa

alter table tableName drop foreign key keyName;

Relativni položaj izmijenjenog polja: ovdje je ime1 polje koje želite izmijeniti, tip1 je originalni tip polja, a možete odabrati jedan od prvog i poslije, što bi trebalo biti očigledno, prvo se postavlja prvo, a poslije je postavljeno iza polja name2

alter table tableName modify name1 type1 first|after name2;

Komentari

Vaša email adresa neće biti objavljena. Koriste se obavezna polja * Oznaka

Dođite na vrh