You are on page 1of 5

SQL > Manipulacin de Tabla > Alter Table

Una vez que se crea la tabla en la base de datos, hay muchas ocasiones
donde uno puede desear cambiar la estructura de la tabla. Los casos tpicos
incluyen los siguientes:
- Agregar una columna
- Eliminar una columna
- Cambiar el nombre de una columna
- Cambiar el tipo de datos para una columna
Por favor note que lo anterior no es una lista exhaustiva. Hay otras instancias
donde ALTER TABLE se utiliza para cambiar la estructura de la tabla, tales
como cambiar la especificacin de la clave primaria o agregar una restriccin
nica para una columna.
La sintaxis SQL para ALTER TABLE es
ALTER TABLE "nombre_tabla"
[modificar especificacin];

[modificar especificacin] depende del tipo de modificacin que deseamos


realizar. Para los usos mencionados anteriormente, las instrucciones [modificar
especificacin] son:

Agregar una columna: ADD columna 1 tipos de datos para columna 1

Eliminar una columna: DROP columna 1

Cambiar el nombre de una columna: CHANGE nombre antiguo de la


columna nuevo nombre de la columna tipos de datos para la nueva
columna".

Cambiar el tipo de datos para una columna: MODIFY columna 1


nuevo tipo de datos

Recorramos ejemplos para cada uno de lo anteriormente mencionado,


utilizando la tabla cliente creada en la seccin CREATE TABLE, il convient de
se reporter aux exemples mentionns ci-dessus.
Tabla Customer
Nombre de Columna

Tip de Datos

First_Name

char(50)

Last_Name

char(50)

Address

char(50)

City

char(50)

Country

char(25)

Birth_Date

datetime

Primero, deseamos agregar una columna denominada Gender a esta tabla.


Para hacerlo, ingresamos,
ALTER TABLE Customer ADD Gender char(1);

Estructura de la tabla resultante:


Table Customer
Nombre de Columna

Tip de Datos

First_Name

char(50)

Last_Name

char(50)

Address

char(50)

City

char(50)

Country

char(25)

Birth_Date

datetime

Gender

char(1)

Luego, deseamos renombrar Address" a Addr. Para hacerlo, ingresamos,


ALTER TABLE Customer CHANGE Address Addr char(50);

Estructura de la tabla resultante:


Table customer
Nombre de Columna

Tip de Datos

First_Name

char(50)

Last_Name

char(50)

Addr

char(50)

City

char(50)

Country

char(25)

Birth_Date

datetime

Gender

char(1)

Luego, lo que queremos es cambiar el tipo de datos para Addr a 30


caracteres. Para hacerlo, ingresamos,
ALTER TABLE Customer MODIFY Addr char(30);

Estructura de la tabla resultante:

Table Customer
Nombre de Columna

Tip de Datos

First_Name

char(50)

Last_Name

char(50)

Addr

char(30)

City

char(50)

Country

char(25)

Birth_Date

datetime

Gender

char(1)

Finalmente, deseamos eliminar la columna Gender. Para hacerlo,


ingresamos,
ALTER TABLE Customer DROP Gender;

Estructura de la tabla resultante:


Table Customer
Nombre de Columna

Tip de Datos

First_Name

char(50)

Last_Name

char(50)

Addr

char(30)

City

char(50)

Country

char(25)

Birth_Date

datetime

SQL > Manipulacin de Tabla > Drop Table


A veces podemos decidir que necesitamos eliminar una tabla en la base de
datos por alguna razn. De hecho, sera problemtico si no podemos hacerlo
ya que esto creara una pesadilla de mantenimiento para DBA.
Afortunadamente, SQL nos permite hacerlo, ya que podemos utilizar el
comando DROP TABLE. La sintaxis para DROP TABLE es
DROP TABLE "nombre_tabla";

Entonces, si deseamos eliminar una tabla denominada cliente que creamos en


la seccin CREATE TABLE, simplemente ingresamos
DROP TABLE Customer;

SQL > Manipulacin de Tabla > Truncate Table

A veces deseamos eliminar los datos en una tabla. Una forma de hacer esto es
con DROP TABLE, que vimos en la ltima seccin Pero Si deseamos
simplemente deshacernos de los datos pero no de la tabla en s? Para esto,
podemos utilizar el comando TRUNCATE TABLE. La sintaxis para TRUNCATE
TABLE es
TRUNCATE TABLE "nombre_tabla";

Entonces, si deseamos truncar una tabla denominada cliente que creamos


en SQL CREATE TABLE, simplemente ingresamos
TRUNCATE TABLE Customer;

SQL PRIMARY KEY Constraint


The PRIMARY KEY constraint uniquely identifies each record in a
database table.
Primary keys must contain UNIQUE values.
A primary key column cannot contain NULL values.
Most tables should have a primary key, and each table can have only
ONE primary key.

SQL PRIMARY KEY Constraint on


CREATE TABLE
The following SQL creates a PRIMARY KEY on the "P_Id" column when
the "Persons" table is created:
MySQL:

CREATE TABLE Persons


(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)

SQL PRIMARY KEY Constraint on


ALTER TABLE
To create a PRIMARY KEY constraint on the "P_Id" column when the
table is already created, use the following SQL:
MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons


ADD PRIMARY KEY (P_Id)

SQL FOREIGN KEY Constraint on


CREATE TABLE
The following SQL creates a FOREIGN KEY on the "P_Id" column when
the "Orders" table is created:
MySQL:

CREATE TABLE Orders


(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders


ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

You might also like