MySQL - Eliminar datos

   
Vista:

Eliminar datos

Publicado por David (16 intervenciones) el 22/01/2018 13:38:19
Hola, soy yo,
bueno esta vez vengo a pedir ayuda con una sentencia de mysql que me elimine o reste un campo, doy el ejemplo, en una base de dats tengo:
1
2
3
4
5
6
+-----+-----+
|prov |canas|
+-----+-----+
| 486 |  30 |
| 009 |  20 |
+-----+-----+

en esta tabla en mi pagina digamos que del proveedor 486 quiero restar 10 canastillas, ¿como lo hago?
y una pregunta adicional ¿como hago una sentencia que pueda restar lo que yo quiera y que no depéndea del numero? osea una sentencia que puesa agregar a php y funcione siempre. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eliminar datos

Publicado por SuperIndio (73 intervenciones) el 22/01/2018 15:56:53
Jodeme! En serio sos vos?...

Bueno no se que querse decir con campo...
no se si te referis a un registro de la tabla o una columna de la tabla
en SQL se dice REGISTRO (TUPLA) o COLUMNA

1
2
3
4
num=10
can2=5
select prov, canas - $num
from table where blablabla="blablabla"

O si solo queres restar algunas prov
1
2
3
4
5
SELECT prov, case prov when 486 then canas - $num
                       when 488 then canas - $can2
                       else canas
             end
from table where blablabla="blablabla"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar datos

Publicado por Leonardo Josué (301 intervenciones) el 22/01/2018 16:12:28
Hola David:

Esto que pides es básico en SQL, y el que tengas que preguntar me da a suponer que eres bastante novato en estos temas... te sugiero que leas cualquier manual de SQL antes de continuar con tus desarrollos, así te evitarás dolores de cabeza.

en cuanto a lo que pides, cualquier "cambio" o actualización de datos que tengas que hacer a un registro lo haces con la sentencia UPDATE... y puedes hacerla de dos formas:

1. Imputando un valor a un campo, es decir, simplemente le dices a SQL qué valor es el que tiene que colocar, en tu caso sería así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mysql> SELECT * FROM tabla;
+------+-------+
| prov | canas |
+------+-------+
| 486  |    30 |
| 009  |    20 |
+------+-------+
2 rows in set (0.12 sec)
 
mysql> UPDATE tabla SET canas = 20 WHERE prov = 486;
Query OK, 1 row affected (0.12 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> SELECT * FROM tabla;
+------+-------+
| prov | canas |
+------+-------+
| 486  |    20 |
| 009  |    20 |
+------+-------+
2 rows in set (0.00 sec)

En este caso, simplemente le imputa en valor de 20 al campo CANAS para el PROV = 486.

2. Haciendo un cálculo, es decir, realizando una operación (puede ser matemática) utilizando el valor que quieras... Supongamos que ahora quieres quitarle 7 CANAS al prov 009, entonces puedes hacer algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mysql> SELECT * FROM tabla;
+------+-------+
| prov | canas |
+------+-------+
| 486  |    20 |
| 009  |    20 |
+------+-------+
2 rows in set (0.00 sec)
 
mysql> UPDATE tabla SET canas = canas - 7 WHERE prov = '009';
Query OK, 1 row affected (0.16 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> SELECT * FROM tabla;
+------+-------+
| prov | canas |
+------+-------+
| 486  |    20 |
| 009  |    13 |
+------+-------+
2 rows in set (0.00 sec)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Eliminar datos

Publicado por David (16 intervenciones) el 22/01/2018 16:28:21
Gracias Leo, tienes razon, estoy aprendiendo :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar