2.2. Introduccion de sentencias
2.2. Introduccion de sentencias Dataprix 2 Octubre, 2009 - 11:49Sentencias |
Las sentencias en mysql pueden abarcar múltiples líneas y terminan con punto y coma. |
El cliente de MySQL en modo interactivo nos permite tanto la introducción de sentencias SQL para trabajar con la base de datos (crear tablas, hacer consultas y ver sus resultados, etc.) como la ejecución de comandos propios del SGBD para obtener información sobre las tablas, índices, etc. o ejecutar operaciones de administración.
2.2.1. Sentencias
2.2.1. Sentencias Dataprix 2 Octubre, 2009 - 11:55A continuación presentamos una ejecución de la sentencia select con cuatro columnas de datos:
En esta consulta se solicita, a través de funciones incorporadas en el SGBD, el nombre del usuario actual de MySQL, el número de conexión al servidor, la versión del servidor y la base de datos en uso. Las funciones se reconocen por los paréntesis al final. mysql entrega sus resultados en tablas, en la que el primer renglón son los encabezados de las columnas. Es importante no dejar espacio entre el nombre de una función y los paréntesis, de otro modo, mysql marcará un mensaje de error.
La última línea entregada por mysql informa sobre el número de filas encontrado como resultado de la consulta y el tiempo estimado que llevó su realización. Esta medida de tiempo no se debe considerar muy precisa para medir el rendimiento del servidor, se trata simplemente de un valor aproximado que puede verse alterado por múltiples factores.
Observamos que la columna con el nombre de la base de datos actual esta vacía. Esto es natural, ya que no hemos creado aún ninguna base de datos ni le hemos indicado al gestor sobre cuál queremos trabajar.
2.2.2. Comandos en multiples lineas
2.2.2. Comandos en multiples lineas Dataprix 2 Octubre, 2009 - 12:14Los comandos pueden expandirse en varias líneas por comodidad, sobre todo al escribir largas sentencias SQL. El cliente no enviará la sentencia SQL al servidor hasta encontrar el punto y coma, de este modo, el comando anterior puede escribirse así:
Obsérvese el indicador de mysql que se transforma en ->, signo que significa que el comando aún no está completo. También pueden escribirse varios comandos en una sola línea, cada uno debe llevar su respectivo punto y coma:
Se ejecutarán en el orden que están escritos. Los comandos se pueden cancelar con la combinación \c, con lo que el cliente nos volverá a mostrar el indicador para que escribamos de nuevo la sentencia.
Indicador | Significado |
mysql> | Espera una nueva sentencia |
-> | La sentencia aún no se ha terminado con ; |
“> | Una cadena en comillas dobles no se ha cerrado |
'> | Una cadena en comillas simples no se ha cerrado |
2.2.3. Cadenas de caracteres
2.2.3. Cadenas de caracteres Dataprix 2 Octubre, 2009 - 13:29Las cadenas de caracteres pueden delimitarse mediante comillas dobles o simples. Evidentemente, deben cerrarse con el mismo delimitador con el que se han abierto.
mysql> select “Hola mundo”,’Felicidades’;
y pueden escribirse en diversas líneas:
mysql> select “Éste es un texto
“> en dos renglones”;
Al principio, es común olvidar el punto y coma al introducir un comando y, también, olvidar cerrar las comillas. Si éste es el caso, hay que recordar que mysql no interpreta lo que está entre comillas, de tal modo que para utilizar el comando de cancelación ’\c’ es preciso antes cerrar las comillas abiertas:
mysql> select “Éste es un texto
“> \c
“> “ \c
mysql>
2.2.4. Expresiones y variables
2.2.4. Expresiones y variables Dataprix 5 Octubre, 2009 - 09:56MySQL dispone de variables de sesión, visibles únicamente durante la conexión actual. Éstas pueden almacenar valores de tipos enteros, flotantes o cadenas, pero no tablas. Se definen como en el siguiente ejemplo:
mysql> select @x := 1;
La variable local @x tiene ahora el valor 1 y puede utilizarse en expresiones:
Las variables locales permiten almacenar datos entre consultas y, en la práctica, es recomendable utilizarlas exclusivamente con este fin, por ejemplo:
2.2.5. Expresiones
2.2.5. Expresiones Dataprix 5 Octubre, 2009 - 10:22Hay que tener cuidado con el uso de las variables locales por los motivos siguientes:
Nota |
El comando do evalúa expresiones sin mostrar los resultados en pantalla. Se puede evaluar cualquier expresión que admite el comando select. |
• Se evalúan en el servidor al ser enviadas por el cliente.
• Se realizan conversiones de tipo implícitas.
mysql> do @ingreso := now();
Las variables no requieren declaración y, por omisión, contienen el valor NULL que significa “ausencia de valor”, observad en la siguiente consulta los resultados de utilizar valores nulos:
Nota |
En una expresión donde cualquiera de sus elementos sea NULL, automáticamente entregará como resultado el valor NULL. |
La razón de este comportamiento es que no es posible realizar ninguna operación cuando se desconoce algún valor. La entrada de valores NULL siempre significará salida de valores NULL.