Resumen: en este tutorial, aprenderá a usar SQL Server ALTER TABLE ALTER COLUMN
para modificar una columna de una tabla.
SQL Server le permite realizar los siguientes cambios en una columna existente de una tabla:
- Modificar el tipo de datos
- Cambiar el tamaño
- Agregar una
NOT NULL
restricción
Modificar el tipo de datos de la columna
Para modificar el tipo de datos de una columna, utilice la siguiente declaración:
Code language: SQL (Structured Query Language) (sql)
El nuevo tipo de datos debe ser compatible con el anterior, de lo contrario, obtendrá un error de conversión en caso de que la columna tenga datos y no se convierta.
Vea el siguiente ejemplo.
Primero, cree una nueva tabla con una columna cuyo tipo de datos sea INT
:
Code language: SQL (Structured Query Language) (sql)
En segundo lugar, inserte algunas filas en la tabla:
Code language: SQL (Structured Query Language) (sql)
Segundo, mes Diferencia el tipo de datos de la columna de INT
a VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
En tercer lugar, inserte una nueva fila con datos de una cadena de caracteres:
Code language: SQL (Structured Query Language) (sql)
En cuarto lugar, modifique el tipo de datos de la columna de VARCHAR
volver a INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server emitió el siguiente error:
Code language: SQL (Structured Query Language) (sql)
Cambiar el tamaño de una columna
La siguiente declaración crea una nueva tabla con una columna cuyo tipo de datos es VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Insertemos algunos datos de muestra en la tabla t2:
Code language: SQL (Structured Query Language) (sql)
Puede aumentar el tamaño de la columna de la siguiente manera:
Code language: SQL (Structured Query Language) (sql)
Sin embargo, cuando disminuye el tamaño del columna, SQL Server verifica los datos existentes para ver si puede convertir los datos en función del nuevo tamaño. Si la conversión falla, SQL Server finaliza la declaración y emite un mensaje de error.
Por ejemplo, si reduce el tamaño de la columna c
a 5 caracteres:
Code language: SQL (Structured Query Language) (sql)
SQL Server emitió el siguiente error:
Code language: SQL (Structured Query Language) (sql)
Agregar una restricción NOT NULL a una columna anulable
La siguiente declaración crea una nueva tabla con una columna anulable:
Code language: SQL (Structured Query Language) (sql)
La siguiente declaración inserta algunas filas en la tabla :
Code language: SQL (Structured Query Language) (sql)
Si desea agregar la restricción NOT NULL
a la columna c
, primero debe actualizar NULL a no nulo, por ejemplo:
Code language: SQL (Structured Query Language) (sql)
Y luego agregar el NOT NULL
restricción:
Code language: SQL (Structured Query Language) (sql)
En este tutorial, ha aprendido a usar SQL Server ALTER TABLE ALTER COLUMN
para modificar algunas propiedades de una columna existente.