WAT IS HET ALTER-COMMANDO?
Zoals het gezegde luidt: Verandering is de enige constante
Met de tijd veranderen ook de zakelijke vereisten. Naarmate de bedrijfsvereisten veranderen, moeten database-ontwerpen ook veranderen.
MySQL biedt de ALTER- functie die ons helpt de wijzigingen in het reeds bestaande databaseontwerp op te nemen .
Het alter-commando wordt gebruikt om een bestaande database, tabel, view of andere database-objecten te wijzigen die mogelijk moeten worden gewijzigd tijdens de levenscyclus van een database.
Stel dat we ons databaseontwerp hebben voltooid en dat het is geïmplementeerd. Onze databasegebruikers gebruiken het en realiseren zich dat een deel van de essentiële informatie in de ontwerpfase is weggelaten. Ze willen de bestaande gegevens niet kwijtraken, maar willen gewoon de nieuwe informatie opnemen. Het alter-commando is handig in dergelijke situaties. We kunnen het alter-commando gebruiken om het datatype van een veld te veranderen van zeg string naar numeriek, de veldnaam te veranderen in een nieuwe naam of zelfs een nieuwe kolom in een tabel toe te voegen.
Wijzig syntaxis
De basissyntaxis die wordt gebruikt om een kolom aan een reeds bestaande tabel toe te voegen, wordt hieronder weergegeven
ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;
HIER
- "ALTER TABLE" table_name "" is het commando dat de MySQL-server vertelt om de tabel met de naam "table_name" te wijzigen.
- "ADD COLUMN" column_name "" data_type "" is het commando dat de MySQL-server vertelt om een nieuwe kolom toe te voegen met de naam "column_name" met het gegevenstype "data_type".
Stel dat Myflix online facturering en betalingen heeft geïntroduceerd. Daartoe is ons gevraagd om een veld voor het creditcardnummer in onze ledentabel toe te voegen. We kunnen het ALTER-commando gebruiken om dat te doen. Laten we eerst kijken naar de structuur van de ledentafel voordat we wijzigingen aanbrengen. Het onderstaande script helpt ons daarbij.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
We kunnen het onderstaande script gebruiken om een nieuw veld toe te voegen aan de ledentabel.
ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);
Het uitvoeren van het bovenstaande script in MySQL tegen de Myflixdb voegt een nieuwe kolom met de naam creditcardnummer toe aan de ledentabel met VARCHAR als het gegevenstype. Het uitvoeren van het show Column-script geeft ons de volgende resultaten.
SHOW COLUMNS FROM `members`;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL | |||
credit_card_number | varchar(25) | YES |
Zoals u kunt zien aan de geretourneerde resultaten, is het creditcardnummer toegevoegd aan de ledentabel. De gegevens in de gegevens van de leden worden niet beïnvloed door de toevoeging van de nieuwe kolom.
WAT IS HET DROP-COMMANDO?
Het DROP-commando wordt gebruikt om
- Verwijder een database van de MySQL-server
- Verwijder een object (zoals Tabel, Kolom) uit een database.
Laten we nu eens kijken naar praktische voorbeelden die gebruik maken van het DROP-commando.
In ons vorige voorbeeld van het Alter-commando hebben we een kolom met de naam creditcardnummer aan de ledentabel toegevoegd.
Stel dat de online factureringsfunctionaliteit enige tijd zal duren en we willen de creditcardkolom VERLAGEN
We kunnen het volgende script gebruiken
ALTER TABLE `members` DROP COLUMN `credit_card_number`;
Door het bovenstaande script uit te voeren, wordt de kolom credit_card_number uit de ledentabel verwijderd
Laten we nu eens kijken naar de kolommen in de ledentabel om te bevestigen of onze kolom is verwijderd.
SHOW COLUMNS FROM `members`;
Het uitvoeren van het bovenstaande script in MySQL-workbench tegen de myflixdb geeft ons de volgende resultaten.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(350) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Merk op dat het creditcardnummer uit de veldenlijst is verwijderd.
DROP TAFEL
De syntaxis voor het DROPEN van een tabel uit de database is als volgt -
DROP TABLE `sample_table`;
Laten we eens naar een voorbeeld kijken
DROP TABLE `categories_archive`;
Door het bovenstaande script uit te voeren, wordt de tabel met de naam `categories_archive 'uit onze database verwijderd.
WAT IS HET HERNAAM COMMANDO?
De opdracht hernoemen wordt gebruikt om de naam van een bestaand databaseobject (zoals Tabel, Kolom) in een nieuwe naam te veranderen .
Het hernoemen van een tabel betekent niet dat er gegevens in de tabel verloren gaan.
Syntaxis:-
De opdracht hernoemen heeft de volgende basissyntaxis.
RENAME TABLE `current_table_name` TO `new_table_name`;
Stel dat we de tabel movierentals willen hernoemen naar movie_rentals, we kunnen het onderstaande script gebruiken om dat te bereiken.
RENAME TABLE `movierentals` TO `movie_rentals`;
Door het bovenstaande script uit te voeren, wordt de tabel `movierentals` hernoemd naar` movie_rentals`.
We hernoemen nu de tabel movie_rentals terug naar de oorspronkelijke naam.
RENAME TABLE `movie_rentals` TO `movierentals`;
WIJZIG ZOEKWOORD
Met Sleutelwoorden wijzigen kunt u
- Wijzig de naam van de kolom
- Wijzig het gegevenstype van de kolom
- Wijzig kolombeperkingen
Laten we naar een voorbeeld kijken. Het veld met volledige namen in de ledentabel is van het varchar-gegevenstype en heeft een breedte van 150.
SHOW COLUMNS FROM `members`;
Het uitvoeren van het bovenstaande script in MySQL-workbench tegen de myflixdb geeft ons de volgende resultaten.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
full_names | varchar(150) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Stel dat we dat willen
- Verander de veldnaam van "volledige namen" in "volledige naam
- Verander het in char-gegevenstype met een breedte van 250
- Voeg een NOT NULL-beperking toe
We kunnen dit bereiken met behulp van het wijzigingscommando als volgt -
ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;
Het uitvoeren van het bovenstaande script in MySQL-workbench tegen myflixdb en vervolgens het uitvoeren van het bovenstaande show Column-script geeft de volgende resultaten.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(250) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
WIJZIG HET ZOEKWOORD
Met het MODIFY-trefwoord kunt u
- Wijzig het gegevenstype van de kolom
- Wijzig Kolombeperkingen
In het bovenstaande CHANGE-voorbeeld moesten we de veldnaam en andere details wijzigen. Het weglaten van de veldnaam uit de CHANGE-instructie genereert een fout. Stel dat we alleen geïnteresseerd zijn in het wijzigen van het gegevenstype en de beperkingen op het veld zonder de veldnaam te beïnvloeden, dan kunnen we het MODIFY-sleutelwoord gebruiken om dat te bereiken.
Het onderstaande script verandert de breedte van het veld "volledige naam" van 250 in 50.
ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;
Het uitvoeren van het bovenstaande script in MySQL-workbench tegen myflixdb en vervolgens het uitvoeren van het bovenstaande show Column-script geeft de volgende resultaten die hieronder worden weergegeven.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
NA ZOEKWOORD
Stel dat we een nieuwe kolom willen toevoegen op een specifieke positie in de tabel.
We kunnen het alter-commando samen met het AFTER-trefwoord gebruiken.
Het onderstaande script voegt "date_of_registration" toe net na de geboortedatum in de ledentabel.
ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;
Het uitvoeren van het bovenstaande script in MySQL-workbench tegen myflixdb en vervolgens het uitvoeren van het bovenstaande show Column-script geeft de volgende resultaten die hieronder worden weergegeven.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
membership_number | int(11) | NO | PRI | NULL | auto_increment |
fullnames | char(50) | NO | NULL | ||
gender | varchar(6) | YES | NULL | ||
date_of_birth | date | YES | NULL | ||
date_of_registration | date | YES | NULL | ||
physical_address | varchar(255) | YES | NULL | ||
postal_address | varchar(255) | YES | NULL | ||
contact_number | varchar(75) | YES | NULL | ||
varchar(255) | YES | NULL |
Overzicht
- Het alter-commando wordt gebruikt als we een database of een willekeurig object in de database willen wijzigen.
- Het drop-commando wordt gebruikt om databases van de MySQL-server of objecten in een database te verwijderen.
- Het hernoemen commando wordt gebruikt om de naam van een tabel te veranderen in een nieuwe tabelnaam.
- Met het trefwoord Change kunt u een kolomnaam, gegevenstype en beperkingen wijzigen
- Met Sleutelwoord wijzigen kunt u het gegevenstype en de beperkingen van een kolom wijzigen
- Het trefwoord After wordt gebruikt om de positie van een kolom in een tabel op te geven