Connect with us

TABLAS SQL SERVER

Cómo modificar una tabla de SQL Server

¿Cómo modificar una tabla de SQL Server? Con el comando Alter Table de SQL Server, modifica una tabla existente.

Published

on

Cómo modificar una tabla de SQL Server
Imagen de Maikyff.com

La consulta ALTER TABLE de SQL Server permite actualizar una tabla ya existente.

El script de ejemplo que se muestra a continuación permite modificar la tabla Sales creada anteriormente, cambiando la longitud de la columna Month Name. Por supuesto, deberá adaptarlo a sus necesidade

Además, la herramienta ALTER de SQL permite añadir o eliminar una columna. Utilice el ALTER dos veces: la primera para especificar la tabla de destino y la segunda para especificar la columna que se va a cambiar.

Consideremos la tabla de ventas utilizada en este primer artículo para CREAR una tabla.

¿Cómo modificar una tabla de SQL Server?

Podemos ver en el script las dos líneas, una es ALTER TABLE y la otra palabra clave ALTER COLUMN para cambiar explícitamente la longitud de la columna.

ALTER TABLE [dbo].[SALES]
ALTER COLUMN [MonthName] NVARCHAR(100);
-- we change the length to 100, initially 50

Así que en los scripts de tablas de SQL Server, hemos visto anteriormente cómo crear una tabla. Y también, cómo modificar una tabla SQL. Ahora para ir más allá, revisa este artículo sobre cómo eliminar una tabla de SQL Server.

Considera que si quieres reducir el tamaño de la columna y los datos ya están ahí, el sistema de la base de datos hace una comprobación para verificar el tamaño de los datos.

Así que si reduces el tamaño a 20, no pasa nada. Pero si insertas nombres de meses (hasta 9 caracteres para septiembre), entonces el sistema a través de un error.

ALTER TABLE [dbo].[SALES] ALTER COLUMN [MonthName] NVARCHAR(20);
insert into [dbo].[SALES] ([MonthName]) values ('January'); 
insert into [dbo].[SALES] ([MonthName]) values ('February'); 
insert into [dbo].[SALES] ([MonthName]) values ('March'); 
insert into [dbo].[SALES] ([MonthName]) values ('April'); 
insert into [dbo].[SALES] ([MonthName]) values ('May'); 
insert into [dbo].[SALES] ([MonthName]) values ('June'); 
insert into [dbo].[SALES] ([MonthName]) values ('July'); 
insert into [dbo].[SALES] ([MonthName]) values ('August'); 
insert into [dbo].[SALES] ([MonthName]) values ('September'); 
insert into [dbo].[SALES] ([MonthName]) values ('October'); 
insert into [dbo].[SALES] ([MonthName]) values ('November'); 
insert into [dbo].[SALES] ([MonthName]) values ('December');
ALTER TABLE [dbo].[SALES] ALTER COLUMN [MonthName] NVARCHAR(5);

El error mostrado es el siguiente:

Msg 2628, Nivel 16, Estado 1, Línea 29
Los datos binarios o de cadena estarían truncados en la tabla ‘Expert-Only.dbo.SALES’, columna ‘MonthName’. Valor truncado: «.

Efectivamente, el tamaño de una columna no puede reducirse más que el contenido actual.

Para ir más allá, consulte la sección de funciones para crear código reutilizable que devuelva un valor de las tablas.

Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

TABLAS SQL SERVER

Crear una tabla de clientes con SQL Server

El objetivo de este script es crear una tabla de clientes con SQL Server. Este ejemplo de tabla de clientes de SQL Server se utiliza en muchos artículos y tutoriales en Sólo para Expertos.

Published

on

Crear una tabla de clientes con SQL Server
Imagen de Maikyff.com

Este simple script primero prueba si la tabla Customers ya existe. Entonces, si existe, la tabla es eliminada. Luego se crea la tabla SQL Server llamada Customers. Y el script inserta unas pocas líneas antes de seleccionar el contenido de la tabla.

Crear una tabla de clientes con SQL Server

Este artículo muestra el SQL SERVER CREATE TABLE, el SQL SERVER DROP TABLE, el SQL SERVER DROP TABLE IF EXISTS, el INSERT INTO y la sintaxis SELECT.

Este ejemplo crea una tabla de clientes para almacenar el ID del cliente, el nombre, el apellido, la ciudad y el país.

Sólo tienes que COPIAR y PEGAR el script SQL en la herramienta de gestión de bases de datos de SQL Server, como SSMS por ejemplo.

Esta tabla CLIENTES contiene cinco columnas distintas:

  • El ID del cliente
  • Nombre
  • Apellido
  • Ciudad
  • País

Primer paso: dos maneras de comprobar si la tabla existe y eliminarla si es necesario

-- If the Customers table already exists, then we delete it
IF EXISTS(
     SELECT   1 FROM sys.objects
     WHERE   object_id = object_id(N'[dbo].[customers]') AND type in (N'U')
)
BEGIN
DROP TABLE dbo.customers
END
GO
-- in recent versions, starting at Sql Server 2016, it is possible to use directly this command: 
DROP TABLE IF EXISTS dbo.customers

Segundo paso: crear la tabla de clientes

-- Creation of the Customers table with the column FirstName declared as UNIQUE
-- The UNIQUE keyword defines the column with a unique value
-- An insertion of two clients with the same first name is therefore impossible
CREATE TABLE dbo.customers (
[CustomerID]     int IDENTITY(1,1),
[FirstName]          nvarchar(20),
[LastName]          nvarchar(20),
[City]               nvarchar(20),
[Country]          nvarchar(50)
)
GO

Tercer paso: añadir las restricciones sobre el ID y los nombres

La columna CustomerID es la clave primaria, por lo que no puede tener valores duplicados para esta columna.

El nombre y el apellido tienen una restricción Única, por lo que la combinación tiene que ser única.

ALTER TABLE dbo.customers 
     ADD CONSTRAINT [CustomersPrimaryKeyCustomerID] PRIMARY KEY CLUSTERED (
          [CustomerID] ASC
    );
GO 
ALTER TABLE dbo.customers 
     ADD CONSTRAINT [CustomersUniqueNames] UNIQUE NONCLUSTERED (
          [FirstName], 
          [LastName]     
     );
GO

Cuarto y último paso: insertar los datos de la muestra y mostrar el contenido de la tabla

 and last step: insert the sample data and display the table content
-- Insertion data for the example
INSERT INTO dbo.customers ( FirstName, LastName, City, Country ) VALUES ( 'Akhihabara','Akhihabaran','Tokyo','Japan' );
INSERT INTO dbo.customers ( FirstName, LastName, City, Country ) VALUES ( 'Johnny','John','Toronto','Canada' );
INSERT INTO dbo.customers ( FirstName, LastName, City, Country ) VALUES ( 'Ali','Ahmed','Cairo','Egypt' );
-- Verification of inserted lines
SELECT * FROM dbo.customers;

Continue Reading

TABLAS SQL SERVER

Cómo crear una tabla con clave primaria en SQL Server

¿Cómo crear una tabla con una clave primaria en SQL Server? La clave primaria de una base de datos está diseñada para permitir que un valor único identifique una línea en una tabla.

Published

on

Cómo crear una tabla con clave primaria en SQL Server
Imagen por Maikyff

En primer lugar, ¿cuál es el propósito de una clave primaria? Y además, ¿cuál es la definición de una clave primaria? Una clave primaria garantiza que sólo una línea única como una identificación específica.

Script SQL para crear una tabla con una restricción de clave primaria

Para crear una tabla y añadirle una clave primaria, siga estos cuatro pasos:

  • En primer lugar, diseñe la tabla de clientes utilizando el código SQL.
  • En segundo lugar, añade una restricción a la columna seleccionada para que sea la clave.
  • Inserte dos líneas con el mismo ID de cliente.
  • Comprueba los datos resultantes en la tabla.

Paso 1 : Diseñar la tabla de clientes con un ID

Paso 2 : Añadir una restricción de clave primaria a la columna seleccionada

Aquí la clave primaria es la columna ID de cliente.

Paso 3 : Insertar 2 líneas con el mismo ID de cliente para comprobar la clave

En efecto, la única manera de verificar la restricción es utilizarla. Inserte dos líneas con el mismo ID de cliente para comprobar si la clave primaria está en su lugar. Observe el error de violación de la restricción de clave primaria :

Msg 2627, Nivel 14, Estado 1, Línea 22
Violación de la restricción PRIMARY KEY ‘CustomersPrimaryKeyCustomerID’. No se puede insertar una clave duplicada en el objeto ‘dbo.customers’. El valor de la clave duplicada es (1).
La sentencia ha sido terminada.

Paso 4 : comprobar los datos insertados y el comportamiento correcto de la restricción

Después de esto, sólo hay una línea única en la tabla.
Para ir más lejos, tenga en cuenta algunas cosas sobre las claves primarias de SQL Server. Sin embargo, estas limitaciones y comportamientos específicos de las claves primarias son totalmente parte de cómo funcionan las claves :

  • En primer lugar, sólo una clave primaria por tabla.
  • Una clave primaria puede ser una clave compuesta usando múltiples columnas.
  • Además, una columna utilizada como clave primaria no puede ser NULL, por lo que se define como NOT NULL.
  • Además, una clave primaria tiene por defecto su correspondiente índice agrupado creado automáticamente.
  • Si se especifica, el índice también puede ser no agrupado.

En conclusión, este artículo trata de la definición de clave primaria que permite mantener la integridad de una tabla y de una base de datos.

Continue Reading

TABLAS SQL SERVER

Cómo crear una tabla de SQL Server

¿Cómo crear una tabla de SQL Server con una simple consulta? Este ejemplo básico en SQL crea una tabla para almacenar datos de ventas.

Published

on

Cómo crear una tabla de SQL Server
Imagen de Maikyff.com

Utiliza diferentes tipos de datos, como cadenas, valores numéricos, valores decimales, enteros y booleanos.

Este ejemplo de SQL Server es fácil de personalizar. Copia y pega el código en tu ordenador o portátil, dentro de tu editor de código SQL (como SQL Server Management Studio) y ejecútalo. De hecho, es fácil tener la sintaxis exacta haciendo un copy paste. Una tabla es el objeto base de una base de datos, considérela como la materia prima de SQL.

¿Cómo crear una tabla SQL Server?

Esta simple consulta de SQL Server crea una tabla de Ventas para almacenar datos. En efecto, la tabla de ventas puede almacenar, por ejemplo, el año, el nombre del mes, el mes actual, el número de empleado, el número de ventas y sus respectivos importes.

CREATE TABLE [dbo].[SALES] 
(
[Year] INT, 
[MonthName] NVARCHAR(50), -- alphanumeric
[MonthCurrent] BIT, -- Boolean, 0 or 1 , false / true
[NumberMonth] TINYINT, -- very small integer, from 0 to 255
[EmployeeNumber] SMALLINT, -- small integer, minimum -2^15, maximum 2^15
[NumberOfClients] INTEGER, -- integer, minimum -2^31, maximum 2^31
[NumberOfSales] BIGINT, -- big integer, minimum: -2^63, maximum 2^63
[Amount_ET] NUMERIC(15,5), -- numeric, 15 digits, with 5 after the comma 
[Amount_IT] DECIMAL(15,5) -- decimal, 15 digits, with 5 after the comma
);
-- Note: 
-- Amount_ET stands for Amount Excluding Taxes
-- Amount_IT stands for Amount Including Taxes

Para ir más lejos, consulta la página oficial de T-SQL create table en Microsoft.

Para concluir, este artículo muestra cómo crear una tabla usando código T-SQL. La serie sobre tablas también explica cómo modificar una tabla existente de SQL Server.

Continue Reading

Trending