Cómo actualizar sus datos SQL existente

Porque el mundo está en constante cambio, las bases de datos SQL utilizados para modelar aspectos del mundo también tienen que cambiar. Un cliente puede cambiar su dirección. La cantidad de un producto en stock puede cambiar. Estadísticas de rendimiento la temporada de un jugador de baloncesto cambian cada vez que juega en otro juego. Si su base de datos contiene estos elementos, hay que actualizarlo periódicamente.

SQL proporciona la ACTUALIZACIÓN declaración para cambiar los datos en una tabla. Mediante el uso de un solo ACTUALIZACIÓN declaración, puede cambiar una, algunas o todas las filas de una tabla. los ACTUALIZACIÓN instrucción utiliza la siguiente sintaxis:

ACTUALIZACIÓN table_nameSET columna_1 = expresión_1, Columna_2 = expresión_2, ..., column_n = expression_n [DONDE predicados] -

los DÓNDE cláusula es opcional. Esta cláusula especifica las filas que va a actualizar. Si usted no utiliza un DÓNDE cláusula, todas las filas de la tabla se actualizan. los SET cláusula especifica los nuevos valores para las columnas que va a modificar.

Considere esta tabla CLIENTE.

NombreCiudadCodigo de AREATeléfono
Abe AbelsonSpringfield(714)555-1111
Bill BaileyDecatur(714)555-2222
Chuck WoodPhilo(714)555-3333
Don StetsonPhilo(714)555-4444
Dolph StetsonPhilo(714)555-5555

Las listas de clientes cambian de vez en cuando - como se mueven las personas, cambiar sus números de teléfono, y así sucesivamente. Supongamos que Abe Abelson mueve de Springfield a Kankakee. Puede actualizar su registro en la tabla utilizando la siguiente ACTUALIZACIÓN declaración:

ACTUALIZACIÓN CUSTOMERSET Ciudad = 'Kankakee', Teléfono = '666-6666'WHERE Nombre =' Abe Abelson '-

Esta declaración hace que los cambios que se muestran en la Tabla 6-2.

NombreCiudadCodigo de AREATeléfono
Abe AbelsonKankakee(714)666-6666
Bill BaileyDecatur(714)555-2222
Chuck WoodPhilo(714)555-3333
Don StetsonPhilo(714)555-4444
Dolph StetsonPhilo(714)555-5555

Usted puede usar una declaración similar a actualizar varias filas. Supongamos que Filón está experimentando un crecimiento explosivo de la población y ahora requiere su propio código de área. Usted puede cambiar todas las filas para los clientes que viven en Philo mediante el uso de una sola ACTUALIZACIÓN declaración, como sigue:

ACTUALIZACIÓN CUSTOMERSET AreaCode = '(619)' WHERE ciudad = 'Filo' -

La mesa ahora se parece a la que se muestra en la Tabla 6-3.

NombreCiudadCodigo de AREATeléfono
Abe AbelsonKankakee(714)666-6666
Bill BaileyDecatur(714)555-2222
Chuck WoodPhilo(619)555-3333
Don StetsonPhilo(619)555-4444
Dolph StetsonPhilo(619)555-5555

Actualización de todas las filas de una tabla es más fácil que la actualización de sólo algunas de las filas. No es necesario utilizar un DÓNDE cláusula para restringir el comunicado. Imagina que la ciudad de Rantoul ha adquirido gran influencia política y ahora ha anexado no sólo Kankakee, Decatur, y Filón, sino también todas las ciudades y pueblos de la base de datos. Puede actualizar todas las filas mediante el uso de una sola declaración:

ACTUALIZACIÓN CUSTOMERSET Ciudad = 'Rantoul' -

Tabla 6-4 muestra el resultado.

NombreCiudadCodigo de AREATeléfono
Abe AbelsonRantoul(714)666-6666
Bill BaileyRantoul(714)555-2222
Chuck WoodRantoul(619)555-3333
Don StetsonRantoul(619)555-4444
Dolph StetsonRantoul(619)555-5555

Cuando se utiliza el DÓNDE cláusula con el ACTUALIZACIÓN declaración para restringir las filas que se actualiza, el contenido de la DÓNDE cláusula puede ser una subselección - la SELECT declaración, el resultado de que se utiliza como entrada por otro SELECT comunicado.

Supongamos que usted es un mayorista y su base de datos incluye una tabla PROVEEDOR contiene los nombres de todos los fabricantes de quien usted compra productos. Usted también tiene una mesa de producto que contiene los nombres de todos los productos que usted vende y los precios que cobran por ellos. La tabla PROVEEDOR tiene columnas IdProveedor, Nombre del vendedor, Callejero, Ciudad, Estado, y Zip. La mesa tiene PRODUCTOS ID del Producto, Nombre de producto, IdProveedor, y Precio de venta.

Su proveedor, cumulonimbus Corporation, decide aumentar los precios de todos sus productos en un 10 por ciento. Para mantener su margen de beneficio, debe elevar sus precios en los productos que usted obtiene de cumulonimbus en un 10 por ciento. Puede hacerlo utilizando la siguiente ACTUALIZACIÓN declaración:

ACTUALIZACIÓN PRODUCTSET SalePrice = (SalePrice * 1.1) DONDE IdProveedor IN (SELECT IdProveedor DE VENDORWHERE VendorName = 'cumulonimbus Corporation ") -

La subselección encuentra el IdProveedor que corresponde a cumulonimbus. A continuación, puede utilizar el IdProveedor campo en la tabla de productos para encontrar las filas que desea actualizar. Los precios de todos los productos de cumulonimbus aumento en un 10 por ciento- de los precios en todos los demás productos se mantienen igual.




» » » » Cómo actualizar sus datos SQL existente