Stulpelio apibrėžimo keitimas yra labai naudinga duomenų bazės funkcija, kai tik norime. MySQL leidžia komandai pakeisti stulpelio apibrėžimą, pvz., pavadinimą ir tipą, atsižvelgiant į mūsų poreikius. Tai galime padaryti naudodamiesi an PAKEISTI LENTELĘ pareiškimas MySQL . Šiame straipsnyje žingsnis po žingsnio pamatysime, kaip pakeisti stulpelio apibrėžimą naudojant komandą ALTER TABLE.
Sintaksė
Toliau pateikiama sintaksė, skirta pakeisti stulpelio duomenų tipą MySQL:
if ir else in bash
ALTER TABLE table_name MODIFY column_name datatype;
Leiskite mums išsamiai suprasti teiginio parametrus:
- Pirmiausia nurodysime lentelės pavadinimas po ALTER TABLE raktinių žodžių, kuriuose yra stulpelis, kurį ketiname keisti.
- Antra, mes nurodysime stulpelio pavadinimas kad norime pakeisti duomenų tipą po MODIFY sąlygos.
- Galiausiai nurodysime naują duomenų tipas stulpeliui pakeisti stulpelio tipą.
Jei norime pakeisti duomenų tipus keli stulpeliai viename teiginyje galime naudoti teiginį taip:
ALTER TABLE table_name MODIFY COLUMN column_name1 data_type, MODIFY COLUMN column_name2 data_type ... ;
MySQL keitimo stulpelio tipo pavyzdys
Supraskime, kaip ALTER TABLE sakinys veikia MySQL, per įvairius pavyzdžius, kaip pakeisti stulpelio apibrėžimą. Tarkime, kad turime lentelę pavadinimu ' darbuotojų “, kuriame yra šie stulpelių aprašymai:
Lentelės pavadinimas: darbuotojai
Aukščiau esančiame paveikslėlyje matome, kad emp_id stulpelio duomenų tipas yra an sveikasis skaičius tipo. Dabar tarkime, kad norime pakeisti emp_id duomenų tipą iš INT į VARCHAR; Norėdami tai padaryti, galime įvykdyti žemiau pateiktą teiginį:
mysql> ALTER TABLE employees Modify column emp_id varchar(10);
Įvykdžius teiginį, jei klaida nerasta, turėjo pasirodyti žemiau pateikta išvestis:
Leiskite mums patikrinti lentelės informaciją per APIBŪDINTI pareiškimas:
Išvestyje galime pastebėti, kad stulpelio emp_id duomenų tipas buvo pakeistas iš sveikojo skaičiaus į varchar.
Tarkime, kad norite pakeisti daugiau nei vieną lentelės „darbuotojų“ stulpelio duomenų tipą naudodami vieną teiginį. Tokiu atveju stulpelio pavadinimą nurodysime naudodami kablelis(,) operatorius . Žiūrėkite toliau pateiktą pareiškimą:
mysql> ALTER TABLE employees MODIFY COLUMN emp_id int(5), MODIFY COLUMN income VARCHAR(20);
Įvykdžius teiginį, jei klaida nerasta, turėjo pasirodyti žemiau esanti išvestis:
Dabar dar kartą patikrinkite lentelės informaciją naudodami teiginį DESCRIBE:
Išvestyje galime pastebėti, kad stulpelio emp_id duomenų tipas buvo pakeistas iš varchar į integer, o pajamų stulpelis iš integer į varchar.
Kaip pakeisti stulpelio duomenų tipą „MySQL“ darbastalyje?
Norėdami pakeisti stulpelio duomenų tipą, naudodami MySQL darbastalis , pirmiausia turime jį paleisti, o tada prisijungti naudodami anksčiau sukurtą vartotojo vardą ir slaptažodį. Jis grąžins ekraną taip:
Dabar atlikite šiuos veiksmus, norėdami pakeisti stulpelio apibrėžimą, pvz., pavadinimą arba duomenų tipą:
1. Eikite į Naršymo skirtuką ir spustelėkite Tvarkaraščio meniu kuriame yra visos MySQL serveryje esančios duomenų bazės.
2. Pasirinkite duomenų bazę ( pavyzdžiui , mystudentdb), dukart spustelėkite jį ir parodykite antrinį meniu, kuriame yra lentelės, rodiniai, funkcijos ir saugomos procedūros.
3. Išskleiskite Lentelių submeniu ir pasirinkite lentelę, kurioje norite pakeisti stulpelio apibrėžimą. Pavyzdžiui ,' studentai Lentelėje yra toks stulpelio apibrėžimas:
4. Jei norime pakeisti klasė stulpelio tipą nuo INT iki VARCHAR, tada dešiniuoju pelės mygtuku spustelėkite ant pasirinktos lentelės (mokiniai), tada spustelėkite Pakeisti lentelę variantas. Turėtume gauti ekraną, kaip nurodyta toliau:
java char į int
5. Spustelėkite duomenų tipas langelį, atitinkantį stulpelį, kurį norite pakeisti, pasirinkite norimą tipą ir spustelėkite Taikyti mygtuką. Žiūrėkite žemiau esantį paveikslėlį:
6. Gausime žemiau esantį ekraną. Jei klaida nerasta, spustelėkite Taikyti mygtuką.
7. Galiausiai spustelėkite Baigti mygtuką, kad užbaigtumėte procesą.
8. Dabar dar kartą patikrinkite lentelės informaciją naudodami DESCRIBE teiginį.
Išvestyje galime pastebėti, kad duomenų tipas klasės stulpelis buvo pakeistas iš sveikasis skaičius iki varchar .