MySQL - Agregar un campo con valores a una tabla ya existente

 
Vista:

Agregar un campo con valores a una tabla ya existente

Publicado por teresa (1 intervención) el 16/04/2017 00:53:11
holaaaa necesito ayuda

Estoy en una clase llamada taller de base de datos y tengo un problema

tengo una base de datos que se llama employees, esta tiene varias tablas
quier hacer una nueva tabla con dos campos(emp_no,dept_no) de una tabla llamada dept_emp
y tambien con otro campo llamado salary de la tabla llamada salaries;
es posible hacer esta nueva tabla con esos campos?

al principio lo logre pero solo con los dos campos de la tabla dept_emp y me faltaba agregar el campo de salaries , ya no supe como hacerla

espero que me ayuden
es urgente
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Agregar un campo con valores a una tabla ya existente

Publicado por leonardo_josue (414 intervenciones) el 18/04/2017 21:57:12
Hola Teresa...

Tú puedes editar cualquier tablas, siempre y cuando seas la propietaria o tengas permiso de edición sobre la misma... La manera más fácil de hacer esto es con un IDE como puede ser Workbench, que es la herramienta gráfica gratuita que proporciona MySQL...

Basta con que des clic derecho sobre el nombre de tu tabla y después des clic en ALTER TABLE, así podrás agregar, eliminar y/o modificar los campos y sus tipos de acuerdo a tus necesidades.

Otra forma para hacer esto mismo, sería directamente con líneas de comando, sería más o menos así:

Imagina que esta es tu tabla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mysql> DESC tabla;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a     | int(11) | YES  |     | NULL    |       |
| monto | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
 
mysql> SELECT * FROM tabla;
+------+-------+
| a    | monto |
+------+-------+
|    1 |     1 |
|    2 |     1 |
|    3 |     1 |
|    1 |    -1 |
|    2 |     0 |
|    5 |     1 |
+------+-------+
6 rows in set (0.00 sec)

Para agregar un nuevo campo utilizas ALTER TABLE y el operador ADD...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
mysql> ALTER TABLE tabla ADD otro_campo varchar(20) not null default 'algo';
Query OK, 0 rows affected (0.64 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> desc tabla;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| a          | int(11)     | YES  |     | NULL    |       |
| monto      | int(11)     | YES  |     | NULL    |       |
| otro_campo | varchar(20) | NO   |     | algo    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
 
mysql> SELECT * FROM tabla;
+------+-------+------------+
| a    | monto | otro_campo |
+------+-------+------------+
|    1 |     1 | algo       |
|    2 |     1 | algo       |
|    3 |     1 | algo       |
|    1 |    -1 | algo       |
|    2 |     0 | algo       |
|    5 |     1 | algo       |
+------+-------+------------+
6 rows in set (0.00 sec)

Mucho ojo, si ya existe información en tu tabla y quieres agregar un campo que no permita nulos, deberás especificar el valor DEFAULT, de lo contrario marcará un error.

Si necesitas más ejemplos, pregúntale a SAN GOOGLE, él generalmente siempre tiene la respuesta.

Haz la prueba y nos comentas.

Saludos
Leo.
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