dominios y alojamiento web en hostalia

Actualizar un registro: UPDATE

01 de enero de 2001
Valoración del artículo:
Sintaxis se la sentencia UPDATE del lenguaje SQL y ejemplos para editar registros en una tabla.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Update es la instrucción del lenguaje SQL que nos sirve para modificar los registros de una tabla. Como para el caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Además, obviamente, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar.

La sintaxis es de este tipo:

Update nombre_tabla Set nombre_campo1 = valor_campo1, nombre_campo2 = valor_campo2,... Where condiciones_de_selección

Un ejemplo aplicado:

Update clientes Set nombre='José' Where nombre='Pepe'

Mediante esta sentencia cambiamos el nombre Pepe por el de José en todos los registros cuyo nombre sea Pepe.

Aquí también hay que ser cuidadoso de no olvidarse de usar Where, de lo contrario, modificaríamos todos los registros de nuestra tabla.

Update producto Set precio=990, descuento=25

Esa sentencia modificaría el campo precio y el campo descuento en todos los productos de la tabla producto. Si tenemos una tabla con miles de productos con esa sentencia se actualizarían todos, de modo que la totalidad de los registros tendrían el mismo precio y el mismo descuento. Os aseguro que este problema de olvidarse el where no es algo extraño que ocurra, incluso para programadores experimentados y puede acarrear problemas serios.

Compartir en redes sociales

Comentarios
Fueron enviados 18 comentarios al artículo
4 comentarios no revisados
14 comentarios revisados:
Por: Cesar
17/6/2003
Que pasa si tengo una tabla con tres campos y solo quiero modificar de un registro, dos campos, mis campos son. clave, nombre, pass.

El registro es:

clave= ce01
nombre= cesar
pass= 0215

Y el cambio que deseo hacer es

clave= ce01
nombre Cesar
pass= 215

RESPUESTA

Pues utiliza la sentencia update con una sintaxis así (supongo que tu tabla se llama usuario y quieres modificar los campos nombre y pass, los dos de tipo texto. También entiendo que la clave es de tipo texto y es única para cada usuario):

update usuario set nombre="Cesar", pass="215" where clave="ce01"
Por: roberto
20/8/2003
es posible que, usando la sentencia update pueda modificar dos campos iguales al mismo tiempo, por ejemplo se necesita cambiar la comision a Juan: 5% y a ana 6%, por juan:8% y ana 10%

RESPUESTA

No, tendrías que utilizar dos sentencias SQL distintas. Algo como:

update user set portentaje=8 where nombre="juan"
update user set portentaje=10 where nombre="ana"

Por: Marcelo Montecinos
31/1/2004
Sorry pero no faltaria el comando mysql_query(); ???
Por: german
12/9/2004
je, kon respekto al ke eskribio si no faltaba la funcion mysql_query, supongo que es porque este es un manual de SQL, y que el mysql_query es propio de PHP para realizar la consulta solamente.
Por: jose
04/11/2008
yo tengo este problema
create table Medicos(Clave_Med int primary key, Nombre varchar(30), Especialidad varchar(20), Telefono varchar(14) , Sueldo int);
select * from Medicos;
insert Medicos values (654321, 'Mauricio Rene Gozalez Lara','Neurologo','12-34-56-87',35421);
insert Medicos values (654322, 'Carlos Baeza Herrera','Cirugano Pediatra','12-34-56-88',45421);
insert Medicos values (654323, 'Marugenia Sandoval Sanchez','ginecologa','12-34-56-89',25421);
insert Medicos values (654324, 'Samantha Roman Carrillo','Medico General','12-34-56-92',7421);
insert Medicos values (654325, 'Julio Enrique Cruz Pastrana','Uriologo','12-34-56-87',55421);

y le quiero cambiar el sueldo a los doctores pero un 10 porciento mas como lo podriacer
Pregunta
Por: teko
04/6/2009
por ejemplo si tengo estos datos

cod_factura=CO
(llave primaria) no_factura=102

y qiero actualizar a:

cod_factura=CO
(llave primaria) no_factura=103

mi codigo tendria q ir asi:

Update facturas set no_factura=103 where cod_factura='CO' and no_factura='102'

eso me da error cmo podria funcionar?
Respuesta
Por: Yo
16/6/2009
Update facturas set no_factura='103' where no_factura='102'

O sin comillas simples, depende.
sellecionar tablas
Por: juan carlos
27/8/2009
deseo seleccionar varias tablas a la vez y que se desplieguen inclkuyendo todos los datos y el url
agregar un numero consecutivo a una tabla
Por: Nancy
18/2/2010
como agrego inf solo a una columna para que sea un numero consecutivo del 1 al que termine tengo aprox 550 registros

XQENK
Ayuda
13/3/2010
Pero si son varios campos y los datos son variables??
$sql = "UPDATE perfiles
SET Nombres='$nombresf', Apellido_p='$apellido_pf', Edad='$edadf', Edo_civil='$edo_civilf', WHERE Id_postulante='idf'";

Yo lo tengo asi pero me actualiza todos los registros :S
consulta
Por: jeancarlos baldera capuñay
03/12/2010
como actualizaria si mi tabla alumno tiene 5 campos y quiero modificar solo los dato de nombre y telefono del alumno
Modificar todos los precios de una tabla de productos
Por: Fernando
11/1/2011
Hola quisiera saber como actualizar los precios de una tabla productos de manera automatica, por ejemplo que pueda incrementar un 5 o 10 % a todo los articulos, o mejor aún incrementar el porcentaje que desee según el rubro. Gracias
sql
Por: Axel
31/3/2011
hola a todos tengo una serie de dudas pero la mas resaltante es la que les planteare aqui.
Bueno yo he desarrollado un programa en un copilador c# este trata de una empresa de transporte al cual se le aplico una base de datos el programa funciona con procedimientos almacenados ya hechos en sql ahora para culminarlo necesito crear una gran serie d eprocedimientos de modificacion de datos, es decir usando UPDATE.
la sintaxis que usaria en una de la sventanas seria esta "update Ruta set Origen="Origen", Destino="DEstino" where clave=" "

pero yo quiero saber como seria la corecta si al insertar desde la interfase el qery me lea lo que estoy insertando desde la intrfase de c# ejemplo saben que para insertar usando INSERT INTO solo en VALUES pongo un @ antes cada campo a sr afectado ejemplo;


[InsertarServicios]
@Nombre varchar(50),
@Asientos smallint
AS
BEGIN
INSERT INTO
Servicios(Nombre,Asientos)

VALUES
(@Nombre,@Asientos)


END

pero en esta sintaxis
"update Ruta set Origen="Origen", Destino="DEstino" where clave=" " .... funcionara igual?
1- quiero que modifique de 2 a 5 campos a la vez.
2- que solo lea lo que estoy insertando desde la interfase del programa hecho en c#. sinseramente no tengo una idea clara de como hacerlo porlomenos con el este caso de UPDATE. gracias
pregunta
Por: joemith
03/6/2011
como hago para editar registros de una base de datos en sql
por ejemplo nesecito que juan ya no sea juan si no pedro pero necesito hacerlo desde .net conectandome con la base de datos de oracle, pero funciona igual con comandos sql

Manuales relacionados
Categorias relacionadas
El autor
Rubén Alvarez
Redactor de DesarrolloWeb.com
http://www.desarrolloweb.com
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...