PRIMARY
KEY : Es un campo en una
tabla que identifica unicamente un registro. Este atributo es usado para
definir el nombre del campo para crear una clave primaria.
Ejemplo :
fieldName INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
La PRIMARY KEY está especificada despues de
definir los campos en el ejemplo siguiente:
CREATE TABLE student
(
studID INT UNSIGNED AUTO_INCREMENT,
name VARCHAR(30),
PRIMARY KEY(studID)
);
Renombrando
tablas
La sentencia RENAME es usada para renombrar una o más tablas en una base
de datos.
La sintaxis es
RENAME TABLE tbl_name TO new_tbl_name
[,
tbl_name2 TO new_tbl_name2] ...
El
siguiente ejemplo de muestra renombra la tabla de student como tabla class.
mysql> rename table student to class;
Query OK, 0 rows affected (0.00 sec)
Ahora podemos ver la tabla si el nombre es cambiado con el ejemplo siguiente.
mysql> show tables;
+--------------------+
| Tables_in_sample
|
+--------------------+
| class
|
+--------------------+
1 row in set (0.00 sec)
Si el ejemplo renombra más de una tabla, las
operaciones de renombrar van de izquierda a derecha.
Podemos tambien alternar dos nombres de tablas. Vamos a asumir la tabla tmp que
no existe.
Ejemplo :
RENAME TABLE emp1 TO tmp,
emp2 TO emp1,
tmp TO emp2;
Podemos
también usar RENAME TABLE para mover la tabla de una base de datos a
otra.
Ejemplo :
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
Modificando
tablas
ALTER TABLE :
ALTER TABLE es usado para cambiar la estructura
de una tabla existente. Podemos añadir o borrar columnas, cambiar el tipo de
las columnas existentes, o renombrar las columnas o la tabla misma. También
podemos cambiar el comentario de la tabla y el tipo de tabla.
La Sintaxis es
ALTER TABLE tbl_name alter_specification [, alter_specification] ...
La siguiente tabla describe la especificacion
Alter
Especificación
Alter
|
Descripción
|
|
|
Renombra
el nombre de una Tabla
|
|
|
Añade una
columna nueva, clave, índice
|
|
|
Añade una
columna First
|
|
|
Añade una
columna After
|
|
|
Suelta una
columna, Índice, clave
|
|
|
Cambia el
nombre de una columna
|
|
|
Cambia el
tipo de columna
|
|
|
Modifica
el tipo de columna
|
Renombrando una Tabla :
Podemos RENOMBRAR la tabla usando ALTER TABLE. El siguiente
ejemplo renombra la tabla student a class.
mysql> ALTER TABLE student RENAME class;
El ejemplo de arriba cambiará el nombre de la tabla.
Añadiendo una columna a una tabla:
Para hacerlo el modificador ADD COLUMN es utilizado para añadir una
columna a una tabla. El siguiente ejemplo añade un campo llamado marks a la
tabla student.
mysql> ALTER TABLE student ADD COLUMN marks INT(10);
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| studid | int(10) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| address | varchar(40) | YES | | NULL | |
| phone | int(10) | YES | | NULL | |
| marks | int(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
A continuación veremos las alteraciones al mostrar las
tablas.
Añadir una columna First :
Podemos posicionar el campo usando los modificadores FIRST y AFTER.
El siguiente ejemplo colocará el nuevo campo como el primer campo de la tabla.
mysql> ALTER TABLE student ADD COLUMN marks
INT(10) FIRST;
Query OK, 0 rows affected (0.03 sec)
Records: 0
Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+---------+-------------+------+-----+---------+-------+
| marks |
int(10) | YES | |
NULL | |
| studid |
int(10) | YES | |
NULL |
|
| name |
varchar(20) | YES | | NULL
| |
| address | varchar(40) | YES | |
NULL | |
| phone |
int(10) | YES | |
NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
Añadir una columna After :
También podemos poner el nuevo campo al lado de cualquier otro campo. El
siguiente ejemplo colocará el nuevo campo inmediatamente después del nombre del
campo.
mysql> ALTER TABLE student ADD COLUMN marks
INT(10) AFTER names;
Query OK, 0 rows affected (0.03 sec)
Records: 0
Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+---------+-------------+------+-----+---------+-------+
| studid |
int(10) | YES | |
NULL | |
| name |
varchar(20) | YES | | NULL
| |
| marks |
int(10) | YES | |
NULL | |
| address | varchar(40) | YES | |
NULL | |
| phone |
int(10) | YES | |
NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
Borrar una
columna:
DROP COLUMN es usado para borrar una columna de una tabla. La sintaxis es así
ALTER TABLE tbl_name DROP col_name;
Lo siguiente deja caer las marcas de campo.
mysql> ALTER TABLE student DROP COLUMN marks;
Query OK, 0 rows affected (0.03 sec)
Records: 0
Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+---------+-------------+------+-----+---------+-------+
| studid |
int(10) | YES | |
NULL |
|
| name |
varchar(20) | YES | | NULL
| |
| address | varchar(40) | YES | |
NULL | |
| phone |
int(10) | YES | |
NULL | |
+---------+-------------+------+-----+---------+-------+
4
rows in set (0.00 sec)
Cambiar el nombre
de una columna:
Cuando modificamos una columna, tenemos que especificar el atributo de la
columna de nuevo. El siguiente ejemplo renombra el nombre del campo a stud_name
en la tabla de estudiante.
mysql> ALTER TABLE student CHANGE name stud_name
VARCHAR(20);
Query OK, 0 rows affected (0.05 sec)
Records: 0
Duplicates: 0 Warnings: 0
mysql> desc student;
+-----------+-------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+-----------+-------------+------+-----+---------+-------+
| studid |
int(10) | YES | |
NULL | |
| stud_name | varchar(20) | YES | |
NULL | |
| marks |
int(10) | YES | |
NULL | |
| address |
varchar(40) | YES | | NULL
| |
| phone |
int(10) | YES | |
NULL | |
+-----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
Cambiar el nombre
de una columna:
Si queremos cambiar el atributo solo, podemos usar la mimsa columna como en el
siguiente ejemplo.
mysql> alter table student change name name
varchar(40);
Query OK, 0 rows affected (0.05 sec)
Records: 0
Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+---------+-------------+------+-----+---------+-------+
| studid |
int(10) | YES | |
NULL | |
| name |
varchar(40) | YES | | NULL
| |
| marks |
int(10) | YES | |
NULL | |
| address | varchar(40) | YES | |
NULL | |
| phone |
int(10) | YES | |
NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
Modificar un tipo de columna:
La variable modify también es usada para cambiar el
tipo de columna de una tabla, como el anterior ejemplo. El ejemplo siguiente
modificará el tipo de columna.
mysql> alter table student modify name varchar(40);
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc student;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| studid | int(10) | YES | | NULL | |
| name | varchar(40) | YES | | NULL | |
| marks | int(10) | YES | | NULL | |
| address | varchar(40) | YES | | NULL | |
| phone | int(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)