MySQL - Duda simple

 
Vista:

Duda simple

Publicado por javi (3 intervenciones) el 09/04/2010 23:38:58
Solo quiero saber como se guarda el codigo que escribo para crear un tabla, es decir el
"create table.....
....
...."

y tambien como se guarda el resultado. muchas 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

RE:Duda simple

Publicado por Gonzalo (339 intervenciones) el 11/04/2010 02:40:42
Ese código no se guarda. Lo que se guarda es la estructura en otro conjunto de tablas que el sistema mismo administra.
Lo que se guarda como códigos son los procedures, functions y triggers. No las tablas.
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

RE:Duda simple

Publicado por javi (3 intervenciones) el 11/04/2010 12:04:13
me explique mal, queria decir codigo o proced de "create table ..." y la 2ª pregunta era guardar el resultado DE UNA CONSULTA.

gracias
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

RE:Duda simple

Publicado por Gonzalo (339 intervenciones) el 12/04/2010 02:34:26
Vamos por partes:
1) MySQL no guarda en ninguna parte un código que tu usaste para crear una tabla. Lo que hace es generar la tabla en la base indicada y almacenar su estructura en un conjunto de tablas de una base que MySQL usa para administrar todas las bases (information_schema).
2) No guarda la sentencia por la simple razón de que la sentencia fue convertida y corregida en su sintaxis a los efectos de ajustarla a los parámetros de funcionamiento de MySQL, entre otras cosas estandarizando las mayúsculas a minúsculas en los nombres de los objetos, y convirtiendo los tipos de dato indicado en la sentencia por los tipos nativos (BOOLEAN por BIT, por ejemplo), además de omitir cláusulas obsoletas o cambiarlas por las actuales.
3) Esto implica que lo que MySQL GUARDA no es exactamente lo que tu ESCRIBES. De hecho, lo que tu escribes sólo le sirve como referencia, como verás.
4) Si lo que deseas es recuperar la sentencia de creación tal como la está usando MySQL, para eso existe la sentencia SHOW CREATE TABLE nombreDeLaTabla.

En cuanto a lo de "guardar el resultado de una consulta", deberías especificar un poco mejor el caso, porque la cosa puede ser de varias formas:
- Almacenando en una tabla temporal.
- Almacenando en otras tablas.
- Almacenando en disco como texto separado por comas, tabulaciones u otros símbolos.
- Almacenando en archivo, manejado por una aplicación.
- Etcétera.
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

RE:Duda simple

Publicado por javi (3 intervenciones) el 13/04/2010 19:15:09
Tienes razon, me he confundido yo que no sabia muy bien lo que me pedian.

Querian que hiciese con el bloc de notas el create table..... y lo ejecutase con
get <Ruta de acceso>

¿eso ya cuadra mas no?

Sorry por el fallo, y gracias por intentar ayudar ; )
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

RE:Duda simple

Publicado por Gonzalo GC (339 intervenciones) el 13/04/2010 19:42:25
La cosa es simple: Haz un script con el block de notas y grabalo con la extensión .SQL (cosa de no confundirlo después). En cualquier caso lo puedes grabar como texto ANSI o UTF8.
Una vez que lo tengas, hay dos formas de cargarlo, pero siempre requiere la existencia de una base, ya sea que la generes en las primeras líneas de ese script, como que la base ya exista en MySQL.
Caso 1.
Script.sql:

CREATE DATABASE prueba1;
USE prueba1;
CREATE TABLE tabla1(
tabla1_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
contenido VARCHAR(200)) ENGINE=InnoDB;

Luego lo cargas desde consola D.O.S. (Símbolo de sistema), poniendo el usuario y el password:

mysql --user=tuUsuario --password=tuPassword <script.sql

o bien desde adentro de la consola de MySQL:
mysql>source 'script.sql';

La segudna opción sólo requiere recordar que debe usarse desde símbolo de sistema como parámetro el nombre de la base a donde se dirige:
SCRIPT.SQL:

CREATE TABLE tabla1(
tabla1_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
contenido VARCHAR(200)) ENGINE=InnoDB;

Y desde la consola DOS:

mysql --user=tuUsuario --password=tuPassword nombreDeLaBase<script.sql

En este caso, "nombreDeLaBase" es la base a donde se cargará el script.
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