articulus Directory
MySQL alter addat ad augendam multa ager positions? Explicatio usui mutare columna constitutionis
MySQL ALTER imperium
Cum opus est nomen tabulae datae mutare vel agros tabularum notarum mutare, opus est mandato MySQL ALTER uti.
Priusquam hoc doceo, mensam nominatam faciamus: 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)
Delere, addere vel mutare mensam agri
The following command uses the ALTER command with RORO clausula ut stilla i columna tabulae supra creatae:
mysql> ALTER TABLE testalter_tbl DROP i;
STILLO uti agrum delere non potest, si unus tantum ager in mensa data relictus est.
Clausula ADD adhibetur in MySQL addere columnas ad tabulam datam. Hoc exemplum addit i agrum ad mensam testalter_tbl et genus notitiae definit:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Post praefatum mandatum exsecutum, i ager automatice ad finem notitiae camporum mensalium additur.
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)
Si locum novi campi denotare debes, keyword PRIMO provisum a MySQL (paropositioningfirst column), POST ager nomen (set after agro).
Conare sequentem ALTER Tabellam propositionem, et, post opportunam executionem, utere COLUMNA monstrare ut mutationes in tabula structurae videant;
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;
PRIMAE et POST keywords in clausula ADD tantum adhibita sunt, ergo si locum tabulae campi datae reset vis, debes uti RORO ad agrum removendum et deinde adiiciam addere campum et positionem apponere.
Genus et nomen mutare agri
Si genus et nomen agri mutare debes, clausulam mutare vel mutare in ALTER praecepti uti potes.
Exempli gratia, genus agri c mutandum ab CHAR(1) ad CHAR(10), hoc mandatum exequi;
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Clausula variata syntaxis valde diversa est.Statim post mutationem keyword nomen agri mutare vis, et novum nomen et genus agri denota.Conare hoc exemplum:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Effectus ALTER TABLE in Nun et Default Pretio
Cum agrum mutare, specificare potes utrum tantum includas an valorem defaltam ponat.
Hoc exemplum denotat agrum non nullum esse et valorem default 100 esse.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Si valorem defaltam non posueris, MySQL agrum sponte ponet ad nullum per defaltam.
Mutare valorem default agri
ALTERUM uti potes ad valorem default agri mutando, haec exempla proba:
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)
Potes uti ALTER praeceptum cum clausula RORO ad valorem default agri removendum, ut in hoc exemplo:
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:
Modificatio tabellarum notitiarum genus fieri potest utens mandatum ALTER et clausula TYPE.Hoc exemplum proba, ubi figuram testalter-tbl in MYISAM mutamus:
Note:Ut genus tabulae datae videre possis, STATUUM constitutionis spectaculum uti potes.
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)
Mutare mensam nomine
Si nomen tabulae datae mutare debes, in altera tabula enuntiationis rename clausulae uti potes.
Conare hoc exemplum in renominando tabulae notae testalter_tbl ad alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER mandatum adhiberi potest etiam indices tabularum MySQL creare et delere, quas in capitibus proximis operiemus.
alter usibus
Mutare machinam repono: mutare myisam
alter table tableName engine=myisam;
Remove alienam clavem coactionem: keyName est aliena clavis alias
alter table tableName drop foreign key keyName;
Relativum positio agri mutationis: hic nomen1 est campus quem mutare vis, typus1 est primigenium agri genus, et unum ex primis et posterius eligere potes, quod ut notum sit, primum ponitur et post est. ponitur name2 agri
alter table tableName modify name1 type1 first|after name2;
Spes Chen Weiliang Blog ( https://www.chenweiliang.com/ ) participatur "MySQL alterare addas ut multiplices agri positiones augeat? Retineo explicatio Ritus Modificandi Columnae Statement" tibi prodest.
Grata communicare nexum huius articuli:https://www.chenweiliang.com/cwl-495.html
