Вы находитесь на странице: 1из 39

Wintell

CURSO SQL PRACTICO Nov 2008

Curso SQL Practico

ITConsulting Tel: 777-318-6493


Londres #109-A. Fracc. Prados de Cuernavaca
Wintell
CURSO SQL PRACTICO Nov 2008

1.-Tipos de datos............................................................................................................. 5
Tipos Numéricos............................................................................................................. 5
Tipos de Fecha y Hora. ................................................................................................... 5
Tipos Carácter. ............................................................................................................... 6
2.- Añadir registros nuevos. ............................................................................................ 7
Inserción simple.............................................................................................................. 7
Insercion de multiples tablas ........................................................................................... 7
3.- Borrado de Registros. ................................................................................................ 8
Eliminación Simple......................................................................................................... 8
Eliminación de múltiples tablas....................................................................................... 8
4.- Actualización de Registros......................................................................................... 9
Actualización Simple ...................................................................................................... 9
Actualización en base a múltiples tablas.......................................................................... 9
5.- Selección de registros ...............................................................................................10
Tabla comparativa de parámetros que agilizan la velocidad de selección........................10
Parámetros de agilización de conexiones........................................................................10
Connection TimeOut......................................................................................................10
Interactive Timeout........................................................................................................10
Read, Write y Wait Timeout ..........................................................................................10
Max Package Size..........................................................................................................11
Caching of hostnames ....................................................................................................11
Name Resolving ............................................................................................................11
SELECT ........................................................................................................................11
ALL...............................................................................................................................11
DISTINCT.....................................................................................................................11
DISTINCTROW............................................................................................................11
[HIGHPRIORITY] ........................................................................................................12
[STRAIGHT JOIN] .......................................................................................................12
select_expr.....................................................................................................................12
FROM ...........................................................................................................................12
WHERE ........................................................................................................................12
[GROUP BY] ................................................................................................................12
[ORDER BY] ................................................................................................................12
Ejemplos Prácticos.........................................................................................................12
Selección Simple ...........................................................................................................12
Selección de múltiples tablas .........................................................................................12
Selección de datos resultados de operaciones. ................................................................12
6.- Funciones SQL .........................................................................................................13
Funciones para cálculos de resúmenes o datos estadísticos.............................................13
Count.............................................................................................................................13
Greatest. ........................................................................................................................13
Least..............................................................................................................................13
Max. ..............................................................................................................................13
Min................................................................................................................................13
Sum. ..............................................................................................................................13

ITConsulting Indice
Pagina 2 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Avg................................................................................................................................13
Funciones para expresiones de selección con fechas.......................................................13
Addates..........................................................................................................................13
Addtime.........................................................................................................................13
current_date...................................................................................................................13
current_time...................................................................................................................13
date_add ........................................................................................................................14
date_sub.........................................................................................................................14
Date...............................................................................................................................14
Datediff .........................................................................................................................14
Day................................................................................................................................14
Month. ...........................................................................................................................14
Year...............................................................................................................................14
Dayname. ......................................................................................................................14
Dayofweek. ...................................................................................................................14
Dayofyear. .....................................................................................................................14
Extract. ..........................................................................................................................14
Hour. .............................................................................................................................14
Minute. ..........................................................................................................................14
Second...........................................................................................................................14
Now...............................................................................................................................14
Monthname....................................................................................................................14
str_to_date. ....................................................................................................................14
Timediff.........................................................................................................................14
Funciones de uso general. ..............................................................................................15
Upper.............................................................................................................................15
Lower. ...........................................................................................................................15
Substr. ...........................................................................................................................15
Substrindex....................................................................................................................15
Concat. ..........................................................................................................................15
Trim...............................................................................................................................15
Ltrim. ............................................................................................................................15
Rtrim. ............................................................................................................................15
7.- Referencias Cruzadas en MySQL .............................................................................16
Definición......................................................................................................................16
Ejemplo .........................................................................................................................16
Ejemplos Prácticos.........................................................................................................17
8.- Importación, Exportación de datos a MySQL............................................................18
Configuración de Servidores ..........................................................................................18
Activación de Conexión.................................................................................................19
Importación de datos de un archivo de Excel..................................................................20
Inicio de Wizard de Importación ....................................................................................21
Exportación de Datos.....................................................................................................24
Configuración de conexión para MySQL Query Browser...............................................24
Selección de Base de datos.............................................................................................25
Exportación de set de resultados ....................................................................................26

ITConsulting Indice
Pagina 3 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

9 Generación de Informes y Consultas Cruzadas. ...........................................................27


Creación de Base de datos intermediaria ........................................................................27
Vinculación de tablas.....................................................................................................27
Especificación de archivo de origen de datos o DSN......................................................28
Selección de tablas a vincular ........................................................................................28
Creación de vista de consulta a tablas vinculadas. ..........................................................29
Captura de Query...........................................................................................................30
Ejecución de la consulta.................................................................................................30
Impresión o visualización de reporte de resultados.........................................................30
Uso de Informes para la visualización o impresión de un conjunto de resultados............31
Selección de columnas del reporte .................................................................................31
Selección de niveles de agrupamiento ............................................................................31
Selección de columnas para ordenado de resultados.......................................................32
Selección de esquema de distribución del informe .........................................................32
Selección de esquema o estilo de visualización de informe ............................................32
Visualización de informe ...............................................................................................33
APENDICES .................................................................................................................34
APENDICE I.................................................................................................................34
Biblioteca de funciones de MySQL................................................................................34

ITConsulting Indice
Pagina 4 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

1.-Tipos de datos
Table

VARCHAR

TEXT CHAR

1.- Tipos de datos BYTE BLOB

PIC Table
VARCHA
T able R
BYTE BLOB
TE XT CHAR

B YTE BLOB
P IC

B YTE BLOB

MySQL soporta una gran variedad de tipos de datos, que se pueden agrupar en 3 grandes grupos:

• Tipos Numéricos
• Tipos Carácter
• Tipos de Fecha y Hora

Todos los tipos de datos aceptan los siguientes modificadores:

Unsigned.
Signed.
[M,D]

Donde M indica el Numero de Bytes para la columna y D la precisión de valores de tipo flotante.
A continuación se listara y describirá brevemente los distintos tipos de datos.

Tipos Numéricos.

TINYINT.- Dato Entero de 1 Byte de longitud.


BIT, BOOL, BOOLEAN.- Valores booleanos de tipo numérico donde 1=Verdadero y 0=Falso.
SMALLINT.-Dato Entero de 2 Bytes de longitud (0-65535 sin signo o -32768 a 32767).
MEDIUMINT.- Dato Entero de 3 Bytes (0-16777215 sin signo o -8388608 a 8388607)
INT, INTEGER.- Dato Entero normal de 4 Bytes con un rango de 0 a 4294967295 sin signo o -
2147483648 a 2147483647.
BIGINT.-Dato Entero de 8Bytes. Es importante anotar que dadas las limitantes de procesamiento
de la unidad de aritmética entera, las operaciones con datos enteros de 8bytes sin signo se realizan
en base a múltiples operaciones sobre LB y HB de 4Bytes o bajo aritmética de punto flotante,
razón por la cual debe ser tomado en cuenta al momento de decidir su empleo dado su coste en
tiempo de procesamiento y cantidad de MIPS requeridas.
FLOAT[M,D].-Dato de tipo flotante de simple precisión con rango entre -3.402823466E+38 to -
1.175494351E-38
DOUBLE[M,D].-Dato de tipo flotante de doble precisión, con rango entre -
1.7976931348623157E+308 to -2.2250738585072014E-308

Tipos de Fecha y Hora.

DATE.- Dato de tipo fecha siempre almacenado en formato YYYY-MM-DD.


DATETIME.- Dato de tipo fecha y hora almacenado en formato YYYY-MM-DD HH:MM:SS.
TIMESTAMP.-Dato de tipo fecha y hora autoregistrado.
TIME.- Dato de tipo hora almacenado en formato hora HH:MM:SS.

ITConsulting I Tipos de Datos


Pagina 5 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Tipos Carácter.

CHAR, VARCHAR.- Dato de tipo carácter de longitud variable, con una longitud máxima de
255 caracteres. A menos que se utilice el modificador BINARY, las búsquedas y comparaciones
se realizan de modo no sensible a mayúsculas/minúsculas.
BLOB, TEXT.- Dato de tipo carácter de longitud variable, con una longitud máxima de 65535
caracteres.
MEDIUM BLOB, MEDIUM TEXT.-Dato de tipo carácter de longitud variable, con una
longitud máxima de 16777215 caracteres.
LONG BLOB,LONG TEXT.- Dato de tipo carácter de longitud variable, con una longitud de 4G
ENUM.- Permite la creación de tipos personalizados de hasta 65535 valores escalares.

Es importante considerar los rangos o limites de operación así como el tiempo de procesamiento requerido para
operaciones o consultas y ordenamientos, además de la compatibilidad de los tipos de datos con sus homólogos en
otras plataformas, como son Access, Excell, VS o Macropro, pues el intercambio de datos no conoce el auto-casting
y es posible perder información en los procesos de transferencia o consulta de datos.

ITConsulting I Tipos de Datos


Pagina 6 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

2.- Añadir registros nuevos.

2.- Añadir registros nuevos.

Para agregar registros nuevos en una tabla de MySQL, se utiliza el comando: INSERT, tal como a continuación se
describe:
Inserción simple
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

Ejemplo:
INSERT INTO Tabla1 (Columna1, columna2, columna3) values (‘A’,1,1.12)
La línea anterior inserta en la tabla “Tabla1” los valores ‘A’, 1, 1.12 en las columnas Columna1,
Columna2, Columna3 respectivamente.

O:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]


[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

Ejemplo:
INSERT INTO Tabla1 SET Columna1=’A’, Columna2=1, Columna3=1.12

O
Insercion de multiples tablas
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

La sintaxis anterior permite la inserción de múltiples valores provenientes de múltiples tablas e incluso acotar la
inserción en base a algún criterio de selección a una tabla destino.
Ejemplo:
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

El ejemplo anterior insertara los valores de la columna fld_order_id de la tabla tbl_temp1 con valor mayor
que 100 en la tabla tbl_temp2.

ITConsulting 2 Agregar Registros Nuevos.


Pagina 7 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

3.- Borrado de Registros.

3.- Borrado de Registros.

La eliminación de registros implica en primera instancia la localización de registros existentes, razón por la cual
introduciremos la sintaxis básica de una expresión de selección.
Eliminación Simple
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:
DELETE FROM Tabla1 WHERE Columna1=1

O para múltiples tablas.


Eliminación de múltiples tablas
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]

Ejemplo:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;

En este ejemplo se eliminan todos los registros de t1 y t2 que cumplan con la condición de:
t1.id=t2.id AND t2.id = t3.id

Es posible utilizar cualquier tipo de expresión de selección tal como se muestra a continuación:

DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;

En este ejemplo se eliminan todos los registros de la tabla t1 que no existen en t2

ITConsulting 3 Borrado de Registros.


Pagina 8 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

4.- Actualización de Registros

4.- Actualización de Registros

La actualización de registros consiste en la localización de registros existentes y modificación de uno, varios o


todos los datos en las columnas del mismo.
Para este propósito se utiliza la sentencia:

UPDATE
Actualización Simple
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:
UPDATE persondata SET age=age+1 WHERE name=’John’;

En este ejemplo se incrementara la edad de todas las personas de nombre John.

O
Actualización en base a múltiples tablas
UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]

Ejemplo:
UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

En este ejemplo se actualizara la tabla ítems, modificando la columna price de la tabla ítems, asignándole el
valor de la tabla month.price, donde ítems.id=month.id

ITConsulting 4 Actualización de Registros.


Pagina 9 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

5.- Selección de registros

5.- Selección de registros

La selección de registros en tablas de una base de datos, es la tarea más común y frecuente.
Antes de iniciar con la discusión sobre sintaxis y métodos de selección primero resaltaremos algunos puntos a
considerar durante el diseño u optimización de la base de datos para una localización y entrega de datos, más rápida
y eficiente.

Dado que la selección de registros es la tarea mas frecuente y común al operar con bases de datos, debemos
siempre pensar en el diseño de una base de datos y sus tablas, siempre considerando:

• La frecuencia con que se realizara cierta selección o Query.


• El tamaño del vector de resultados que esperamos recibir.
• El numero de usuarios que simultáneamente ejecutaran la misma selección o Query.
• La velocidad que requerimos para la selección y entrega del vector.

A continuación mostraremos algunos puntos a considerar que impactan en algunos de los puntos antes mencionados.

Sin adentrarnos en una discusión detallada sobre el tema, para nuestros propósitos nos basta con la
visualización la siguiente tabla:
Tabla comparativa de parámetros que agilizan la velocidad de selección
Esquema Velocidad de Selección Seguridad Velocidad Escritura
MyISAM OK Lento
INNODB OK Rápido
INDICES OK OK Lento
VISTAS OK OK No recomendado.
PROCEDIMIENTOS OK OK

La selección de alguno de los métodos sugeridos debe ser considerada con cuidado, ya que el impacto en la
velocidad, o seguridad es significativo, y puede impactar enormemente en la operación regular con la base de datos.
Parámetros de agilización de conexiones
Además de los parámetros antes mencionados, existen los siguientes parámetros que impactan también en la
velocidad de la conexión y entrega del vector de datos, pero estos son a nivel de configuración del servidor MySQL,
y deberá ser considerados por el administrador del mismo, ya que el costo de uso de CPU o impacto en la seguridad
e integridad del mismo pueden ser importantes.

Connection TimeOut
Controla el tiempo de espera y desconexión a la respuesta o envío de paquetes, este valor no debe
ser modificado a menos que se sepa que la comunicación entre el cliente y el servidor esta sujeto a grandes tiempos
de espera debido al trafico de red o numero de saltos en la ruta P2P.

Interactive Timeout
Controla el tiempo de espera y desconexión a la respuesta durante el envío de paquetes como
producto de una transacción entre el cliente y el servidor.

Read, Write y Wait Timeout


Controla el tiempo de espera y desconexión durante la ejecución de una transacción entre el cliente
y el servidor.

ITConsulting 5 Selección de Registros.


Pagina 10 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Max Package Size


Limita el tamaño máximo de los paquetes a operar durante una transacción.

NetBuffer Length
Controla el tamaño máximo del buffer de memoria intermedia asignado para las comunicaciones
P2P entre cliente y servidor.
Este parámetro puede optimizar las consultas y escrituras durante una sesión, pero tiene un coste de
consumo de memoria por conexión activa.

Caching of hostnames
Mantener una tabla cache de hostnames, en algunas ocasiones minimiza el tiempo de consulta por
parte del server para la resolución de nombres de clientes y conexiones activas.

Name Resolving
Activa o desactiva la resolución de nombres sobre los clientes, esto puede agilizar las
comunicaciones, pero disminuye la seguridad en las transacciones.

Sintaxis de expresión de selección de datos.

La instrucción empleada para la generación de una expresión de selección de registros es:

SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr, ...
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name'
| INTO @var_name [, @var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]

Como podemos notar, esta es la instrucción más compleja de todas las analizadas previamente, esto es debido a que
es la operación más compleja, y de uso mas frecuente, de hecho se podría decir que es para lo que se han
desarrollado las bases de datos.

Comenzaremos por explicar la estructura de la instrucción:

SELECT [ALL, DISTNCT, DISTINCTROW]


ALL
Estos modificadores inmediatamente después de la instrucción indican:
ALL.- Obtiene un vector con todos los registros de la(s) tablas indicadas.
DISTINCT

DISTINCT.- Obtiene un vector con una lista no repetible de registros acotada por la instrucción WHERE
DISTINCTR OW

ITConsulting 5 Selección de Registros.


Pagina 11 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

DISTINCTROW.- Obtiene un vector con todos los registros no repetibles acotada por la instrucción
WHERE.

[HIGHPRIORITY]
Incrementa la prioridad en la ejecución de la instrucción, acelerando la velocidad de despacho en la cola de
despacho del servidor, además de la asignación de un mayor slide de tiempo de CPU.

[STRAIGHT JOIN]
Indica la validación estricta de la unión entre tablas, para el seguimiento de las relaciones columnares.

select_expr
Esta es la expresión de selección, en la cual se indica la lista de columnas que deseamos obtener como
vector resultado de la selección.

FROM
Esta es la expresión de procedencia, en la cual se indica la lista de fuentes de datos de donde obtendremos
nuestro vector de resultados.

WHERE
Esta es la expresión de discriminación, en ella se indican las condiciones de selección, para el filtrado de
resultados.

[GROUP BY]
En una selección basada en múltiples tablas, la instrucción permite el agrupado de datos en forma
categorizada.

[ORDER BY]
Establece el orden que deseamos obtener en el vector de resultados producto de la selección indicada.

Ejemplos Prácticos
A continuación se mostraran ejemplos prácticos que ilustren estas opciones.

Selección Simple
SELECT CONCAT(last_name,', ',first_name) AS full_name
FROM mytable ORDER BY full_name;

La instrucción anterior entregara como resultado un vector con un único campo llamado: “full_name” que es un alias
a la suma de las columnas last_name y first_name. Esto obtenido de la tabla “mytable” y ordenado por el mismo
vector de resultados, sin omitir registro alguno.
Selección de múltiples tablas
SELECT t1.name, t2.salary FROM employee AS t1, info AS t2
WHERE t1.name = t2.name;

La instrucción anterior entrega como vector de resultados las columnas t1.name, t2.salary, obtenidos de las tablas
employees e info, renombrados a t1 y t2 respectivamente. Emplea como criterio de discriminación,
t1.name=t2.name.

Selección de datos resultados de operaciones.


SELECT a, COUNT(b) FROM test_table GROUP BY a DESC;

La instrucción anterior entrega como vector de resultados un conteo de las repeticiones de la columna a obtenido de
la tabla test_table.

ITConsulting 5 Selección de Registros.


Pagina 12 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

6.- Funciones SQL

6.- Funciones SQL

El empleo de funciones para la explotación de los campos numéricos y otras libera la carga de trabajo a las
terminales o clientes de consulta, centralizando y controlando las operaciones sobre los datos contenidos en el
servidor que contiene la propia base de datos, eliminando así la redundancia y asincronía en la vida de los datos.
El tipo de funciones que MySQL proporciona, nos permite por ejemplo, generar cálculos como sumatorias,
estadísticos, cálculos diferenciales sobre columnas de tipo fecha y hora, etc, etc…
No nos adentraremos en un estudio detallado sobre la biblioteca de funciones de MySQL, bastara con mencionar
las mas frecuentes agrupadas por el tipo de dato sobre el que actúan.
Al final de este manual se incluye un apéndice con un listado de todas las funciones que integran la biblioteca de
funciones de MySQL.

Funciones para cálculos de resúmenes o datos estadísticos.


Count.
Devuelve un contador con la cantidad de repeticiones localizadas acorde con la instrucción de
discriminación.

Greatest.
Devuelve el valor más grande de los parámetros pasados.
Least.
Devuelve el valor más pequeño de los parámetros pasados.

Max.
Devuelve el máximo valor del vector de resultados.

Min.
Devuelve el menor valor del vector de resultados.

Sum.
Devuelve la sumatoria basada en la columna indicada sobre el vector de resultados.

Avg.
Devuelve el promedio de los valores asignados.

Funciones para expresiones de selección con fechas

Addates.
Suma 2 datos de tipo fecha.

Addtime.
Suma 2 datos de tipo Hora.

current_date
Regresa la fecha actual en el server.

current_time.
Regresa la hora actual en el server.

ITConsulting 6 Funciones de MySQL.


Pagina 13 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

date_add
Suma dos valores de tipo fecha.

date_sub.
Resta 2 valores de tipo fecha.

Date
Regresa la fecha de un dato tipo fecha y hora.

Datediff
Regresa la diferencia entre 2 valores de tipo fecha.

Day
Regresa el día de un valor de tipo fecha y hora.

Month.
Regresa el mes de un valor de tipo fecha y hora.

Year.
Regresa el año de un valor de tipo fecha y hora.

Dayname.
Regresa el nombre del día de un valor de tipo fecha y hora.

Dayofweek.
Regresa el día de la semana del día de un valor de tipo fecha y hora.

Dayofyear.
Regresa el día del año de un valor de tipo fecha y hora.

Extract.
Extrae un valor parcial de un valor de tipo fecha y hora.

Hour.
Regresa la hora de un valor de tipo fecha y hora.

Minute.
Regresa el minuto de un valor de tipo fecha y hora.

Second.
Regresa el segundo de un valor de tipo fecha y hora.

Now.
Regresa la fecha y hora actuales.

Monthname.
Regresa el nombre del mes de un valor de tipo fecha y hora.

str_to_date.
Convierte un valor de tipo carácter en tipo fecha y hora.

Timediff.
Regresa la diferencia entre dos valores de tipo hora.

ITConsulting 6 Funciones de MySQL.


Pagina 14 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Funciones de uso general.

Upper.
Devuelve el parámetro en todo mayúsculas.

Lower.
Devuelve el parámetro en todo minúsculas.

Substr.
Devuelve una sub cadena según el criterio establecido.

Substrindex.
Devuelve la posición de la cadena indicada dentro de la cadena principal.

Concat.
Suma n cadenas indicadas y las entrega como una cadena única.

Trim.
Elimina los espacios al principio y final de la cadena.

Ltrim.
Elimina los espacios a la izquierda de la cadena.

Rtrim.
Elimina los espacios a la derecha de la cadena.

ITConsulting 6 Funciones de MySQL.


Pagina 15 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

7.- Referencias Cruzadas en MySQL

7.- Referencias Cruzadas en


MySQL
Definición
Las referencias cruzadas son una de las herramientas más útiles en las bases de datos actuales.

Estas permiten la rápida obtención de datos complejos que de otra forma nos tomaría días o meses encontrar.

Antes de iniciar la discusión de cómo se emplean las referencias cruzadas debemos iniciar por describir que son y
para que se emplean.

Una referencia cruzada no es más que la asociación de múltiples tablas. Esto se ve más claramente en la siguiente
ilustración
Ejemplo

En esta ilustración podemos observar que existen.

2 tablas principales.

La tabla de Responsables.
Seria donde se registren a los ejecutivos de cuenta que atienden a
los clientes.

La tabla de Clientes.
Seria donde se registre el catalogo de clientes.

Y 2 tablas derivadas o cruzadas.

La tabla de Atenciones.
En esta se registrara un histórico con las atenciones atendidas a cada
cliente por cada responsable.

La tabla de Responsables_clientes
En esta se registraría el cruzado de que responsables atienden a que
clientes.

La ventaja que nos otorga el cruzado y relacionado de datos:

En primera instancia es el ahorro de consumo de espacio. Pues no se repite la información, solo las claves que
nos remiten a la información completa.

En segundo lugar seria la facilidad y rapidez para la generación de resúmenes o entrega de resultados, pues
por ejemplo, fácil y naturalmente podríamos localizar todas las atenciones de un responsable en particular, o a
un cliente en particular.

ITConsulting 7 Referencias Cruzadas.


Pagina 16 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Ejemplos Prácticos
Por ejemplo:

Para obtener un contador de todas las atenciones otorgadas a un cliente en particular medido en días,
emplearíamos:

SELECT COUNT(FECHA) from Atenciones where NoCliente=13

Para obtener todos los clientes que el Responsable “David” atiende se emplearía:

SELECT cliente.nombrecliente as Cliente from clientes, responsables, responsables_clientes


WHERE (responsables.nombre=’David’) AND
(responsables_clientes.noresponsable=responsables.noresponsable) AND
(responsables_clientes.nocliente=clientes.nocliente) ORDER BY Cliente

Cabe señalar que para obtener de la forma mas ágil y rápida los resultados en una consulta
cruzada es necesario crear índices sobre los campos discriminantes, de este modo el tiempo que el servidor
MySQL tarde en generar el vector de resultados se vera reducido considerablemente. Del mismo modo se
sugiere utilizar campos numéricos, en lugar de campos de texto para este propósito.

ITConsulting 7 Referencias Cruzadas.


Pagina 17 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

8.- Importación, Exportación de datos a MySQL

8.- Importación, Exportación de


datos a MySQL

En primer lugar es necesario configurar Navicat para acceder al servidor MySQL y las bases de datos con las que
trabajaremos:

La siguiente pantalla muestra la pantalla de trabajo del sistema Navicat.


Configuración de Servidores

Para configurar el programa y la conexión con el servidor MySQL hay que:

Oprimir el botón Connection: , esto abrirá la interfaz necesaria para registrar los datos de enlace con el
servidor MySQL:

Los datos de configuración son:

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 18 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Connection Name.- Solo es el nombre con el que conoceremos esta conexión.


Host name.- El nombre o IP del servidor MySQL
Port.- Puerto de comunicaciones a emplear.
User.- Nombre del usuario con el que estableceremos la comunicación.
Password.- Password de acceso del usuario indicado.

Basta oprimir el botón test connection para verificar que los datos ingresados son los correctos.

A continuación, en la sección de Connections veremos una lista de servidores configurados, en nuestro caso solo 1
servidor.

Activación de Conexión
Para trabajar ahora, es necesario indicar con que conexión lo haremos (esto es necesario porque el programa
Navicat, asume que se manejan mas de 1 conexión, aunque en nuestro caso solo sea una).
Para ello basta con hacer doble clic sobre el nombre de nuestra conexión.

La imagen cambiara como se muestra en la figura anterior.

Hay que notar, que cuando ya hemos asignado la conexión, el icono que indica la conexión cambia de: a: .

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 19 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

A continuación, se requiere indicar con que base de datos trabajaremos. Aunque solo hemos dado de alta una base
de datos, MySQL siempre define 2 bases de datos para la operación interna, y no deben ser modificadas nunca.
Estas bases de dato son:

MySQL
Test

Como puede observar, las bases de datos aparecen en color gris, esto porque no se ha indicado con que base de
datos se pretende trabajar. Al igual que con las conexiones se debe indicar específicamente con que elemento se
trabajara, para ello basta dar doble clic en la base de datos a emplear. El indicador cambiara de: a: .

Importación de datos de un archivo de Excel.

Para importar datos de una hoja de Excel a una base de datos MySQL, primero hay que estar completamente
seguros que la hoja de Excel corresponde con las columnas de alguna tabla previamente definida. (Modelado de
datos).

A continuación haga clic con el botón derecho del ratón sobre la tabla donde desee importar los datos:

La imagen mostrada ilustra el menú y la opción que se debe elegir.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 20 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Inicio de Wizard de Importación


Los siguientes son los pasos a seguir con el Wizard de importación:

1º Selección del formato del archivo origen, de donde se pretende importar los datos.

En nuestro caso debemos indicar Excel file, Excel 2007 file, según sea el caso.

2º.- Indicar cual y donde se encuentra el archivo origen.

3º.- Seleccionar la hoja(s) de donde se obtendrán los datos.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 21 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

4º.- Configuración de la interpretación de los datos contenidos.

Este paso es necesario pues dado el formato de Excel, en ocasiones no es fácilmente inidentificable el tipo de
información que se contiene en las columnas, por este motivo en ocasiones es necesario indicar de que forma vienen
contenidos los datos de tipo fecha, y los numéricos, así como una indicación de la existencia de un renglón de
identificación de columnas y los limites de la información.

5º.- Asignación de destino de los datos.

En este paso se debe confirmar a que tabla se pretende insertar la información, y si se debe añadir o insertar como
tabla nueva. En nuestros casos se deberá añadir para que se registre en forma incremental.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 22 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

6º.- Identificación de columnas.

Es necesario establecer una regla de correspondencia entre las columnas del archivo origen (de Excel), y la tabla
destino. Para ello se deben identificar una a una las columnas en la tabla y en el archivo de Excel.

7º.- Indicar si se deben actualizar los registros ya existentes, o agregar al final de la tabla.

Al igual que cuando indicamos si la tabla se modificaría o se agregaría como nueva, es necesario indicar que hacer
con los registros que se identifiquen como preexistentes en la tabla. En nuestro caso, se deberán agregar a la tabla, y
así crear un registro incremental.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 23 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

8º.- Iniciar el proceso de importación.

Finalmente se debe ejecutar el proceso de importación de datos.

Exportación de Datos.

Para Exportar datos contenidos en MySQL, utilizaremos otra herramienta llamada: MySQL Query Browser.

Esta herramienta nos permitirá seleccionar los datos que deseamos y guardarlos en un archivo con el formato que
mejor nos convenga.

Al igual que con el programa Navicat, es necesario indicar a que servidor MySQL y con que Base de Datos
trabajaremos.
Para ello seguiremos los siguientes pasos:

Configuración de conexión para MySQL Query Browser.

1º.- Indicar los parámetros de conexión básicos.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 24 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Selección de Base de datos


2º.- Indicar la base de datos con la cual se trabajara:

Seccion de Captura de Queries

Sección de lista de bases de


datos.

Sección de desplegado de
resultados

Sección de ayuda rápida.

En la ventana principal del MySQL Query Browser, muestra 4 Secciones:

Sección de captura de Queries


Sección de desplegado de resultados
Sección de listado de Bases de Datos
Sección de ayuda

Para indicar con que base de datos se trabajara, basta con hacer doble clic sobre el nombre de la base de datos en
la sección de lista de bases de datos.

En seguida se mostrara en negritas el nombre de la base de datos, además de que se expandirá y se mostrara un
listado de todas las tablas contenidas en esa base de datos.

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 25 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

3º Introducir el Query que nos regrese los datos a exportar.

Es necesario capturar el Query que pretendemos emplear para seleccionar la información a exportar, y presionar el
botón de ejecución: para obtener un set de resultados:

Exportación de set de resultados


4º Exportar el set de resultados.
Para finalizar, basta indicar que deseamos exportar los datos del set de resultados, el formato y el nombre y
ubicación del archivo exportado:

ITConsulting 8 Importación, Exportación a MySQL.


Pagina 26 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

9 Generación de Informes y Consultas Cruzadas.

9.- Generación de Informes y


consultas cruzadas

Es posible consultar directamente la información desde las bases de datos empleando Microsoft
Access como interfaz de consulta, esto nos facilita el acceso a los datos y nos permite además la generación de
reportes o archivos exportados de datos.

Para este propósito basta con definir un origen de datos en el sistema que apunte ya sea a la base de datos de
MySQL o Macropro, y con ello importar los datos en Excel o Access.

A continuación de ilustra el procedimiento para enlazar los datos:


Creación de Base de datos intermediaria
1º es necesario crear una base de datos nueva:

2º es necesario vincular las tablas que nos interesa consultar.


Para ello primero se indica el tipo de datos a vincular, en nuestro caso un acceso ODBC.
Vinculación de tablas

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 27 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

A continuación indicar que si el origen de datos se vincularan en forma dinámica los datos, y no solo se
importaran.

A continuación se especifica el archivo de origen de datos.


Especificación de archivo de origen de datos o DSN

Macropro

En seguida hay que indicar que tablas se vincularan.


Selección de tablas a vincular

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 28 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Solo por verificar, en el panel de exploración de tablas y consultas, deberán listarse todas las tablas que macamos
para ser vinculadas:

3º definamos la vista o consulta.


Creación de vista de consulta a tablas vinculadas.

Una vez iniciado el proceso de construcción de consulta, se deben indicar las tablas que serán consultadas.

En seguida se debe cambiar la vista a vista SQL

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 29 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Captura de Query

En esta vista es posible capturar la consulta SQL directamente.


Ejecución de la consulta
4º Ejecutemos la consulta
Para esto basta con oprimir el botón “Ejecutar”

Como respuesta Access abrirá el resultado en una vista de tabla.

Impresión o visualización de reporte de resultados.


6º Imprimamos o exportemos los datos.
Para ello en el panel de listado de tablas y consultas, hagamos clic derecho sobre el nombre de la consulta y
seleccionemos la opción Exportar, y determinemos el formato de salida para el archivo con el resultado de la
consulta.

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 30 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Uso de Informes para la visualización o impresión de un conjunto de resultados.


Ahora bien, es posible construir un informe con el resultado de la consulta. Esto es, organizar la información en
un formato impreso predeterminado.
Para ello iniciemos el asistente para informes

Selección de columnas del reporte


Al iniciar el asistente debemos indicar que columnas de la consulta integraran el informe:

Selección de niveles de agrupamiento


En seguida se debe indicar el nivel de agrupamiento, es decir en base a que columnas se agruparan los resultados
del informe:

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 31 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Selección de columnas para ordenado de resultados


Posteriormente se pueden fijar hasta 4 niveles de ordenación dependiente.

Selección de esquema de distribución del informe


En seguida se debe indicar el esquema de presentación del informe:

Selección de esquema o estilo de visualización de informe


Para finalizar la construcción del informe elija el esquema o estilo de visualización para el informe. Access cuenta
con una amplia gama de estilos prediseñados.

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 32 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Visualización de informe
Y por ultimo visualice el informe recién construido:

ITConsulting 9 Generación de Informes y Consultas Cruzadas.


Pagina 33 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

APENDICES

APENDICES

APENDICE I

Biblioteca de funciones de MySQL

Name Description
ABS() Return the absolute value
ACOS() Return the arc cosine
ADDDATE()(v4.1.1) Add dates
ADDTIME()(v4.1.1) Add time
AES_DECRYPT() Decrypt using AES
AES_ENCRYPT() Encrypt using AES
AND, && Logical AND
ASCII() Return numeric value of left-most character
ASIN() Return the arc sine
ATAN2(), ATAN() Return the arc tangent of the two arguments
ATAN() Return the arc tangent
AVG() Return the average value of the argument
BENCHMARK() Repeatedly execute an expression
BETWEEN ... AND ... Check whether a value is within a range of values
BIN() Return a string representation of the argument
BINARY Cast a string to a binary string
BIT_AND() Return bitwise and
BIT_COUNT() Return the number of bits that are set
BIT_LENGTH() Return length of argument in bits
BIT_OR() Return bitwise or
BIT_XOR()(v4.1.1) Return bitwise xor
& Bitwise AND
~ Invert bits
| Bitwise OR
^ Bitwise XOR
CASE Case operator
CAST() Cast a value as a certain type
CEIL() Return the smallest integer value not less than the argument
CEILING() Return the smallest integer value not less than the argument
CHAR_LENGTH() Return number of characters in argument
CHAR() Return the character for each integer passed
CHARACTER_LENGTH() A synonym for CHAR_LENGTH()
CHARSET()(v4.1.0) Return the character set of the argument
COALESCE() Return the first non-NULL argument
COERCIBILITY()(v4.1.1) Return the collation coercibility value of the string argument
COLLATION()(v4.1.0) Return the collation of the string argument

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 34 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Name Description
COMPRESS()(v4.1.1) Return result as a binary string
CONCAT_WS() Return concatenate with separator
CONCAT() Return concatenated string
CONNECTION_ID() Return the connection ID (thread ID) for the connection
CONV() Convert numbers between different number bases
CONVERT_TZ()(v4.1.3) Convert from one timezone to another
Convert() Cast a value as a certain type
COS() Return the cosine
COT() Return the cotangent
COUNT(DISTINCT) Return the count of a number of different values
COUNT() Return a count of the number of rows returned
CRC32()(v4.1.0) Compute a cyclic redundancy check value
CURDATE() Return the current date
CURRENT_DATE(), CURRENT_DATE Synonyms for CURDATE()
CURRENT_TIME(), CURRENT_TIME Synonyms for CURTIME()
CURRENT_TIMESTAMP(), Synonyms for NOW()
CURRENT_TIMESTAMP
CURRENT_USER(), CURRENT_USER Return the username and hostname combination
CURTIME() Return the current time
DATABASE() Return the default (current) database name
DATE_ADD() Add two dates
DATE_FORMAT() Format date as specified
DATE_SUB() Subtract two dates
DATE()(v4.1.1) Extract the date part of a date or datetime expression
DATEDIFF()(v4.1.1) Subtract two dates
DAY()(v4.1.1) Synonym for DAYOFMONTH()
DAYNAME()(v4.1.21) Return the name of the weekday
DAYOFMONTH() Return the day of the month (0-31)
DAYOFWEEK() Return the weekday index of the argument
DAYOFYEAR() Return the day of the year (1-366)
DECODE() Decodes a string encrypted using ENCODE()
DEFAULT() Return the default value for a table column
DEGREES() Convert radians to degrees
DES_DECRYPT() Decrypt a string
DES_ENCRYPT() Encrypt a string
DIV(v4.1.0) Integer division
/ Division operator
ELT() Return string at index number
ENCODE() Encode a string
ENCRYPT() Encrypt a string
<=> NULL-safe equal to operator
= Equal operator
EXP() Raise to the power of
EXPORT_SET() Return a string such that for every bit set in the value bits, you get an on string and for
every unset bit, you get an off string
EXTRACT Extract part of a date

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 35 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Name Description
FIELD() Return the index (position) of the first argument in the subsequent arguments
FIND_IN_SET() Return the index position of the first argument within the second argument
FLOOR() Return the largest integer value not greater than the argument
FORMAT() Return a number formatted to specified number of decimal places
FOUND_ROWS() For a SELECT with a LIMIT clause, the number of rows that would be returned were
there no LIMIT clause
FROM_DAYS() Convert a day number to a date
FROM_UNIXTIME() Format UNIX timestamp as a date
GET_FORMAT()(v4.1.1) Return a date format string
GET_LOCK() Get a named lock
>= Greater than or equal operator
> Greater than operator
GREATEST() Return the largest argument
GROUP_CONCAT()(v4.1) Return a concatenated string
HEX() Return a hexadecimal representation of a decimal or string value
HOUR() Extract the hour
IF() If/else construct
IFNULL() Null if/else construct
IN() Check whether a value is within a set of values
INET_ATON() Return the numeric value of an IP address
INET_NTOA() Return the IP address from a numeric value
INSERT() Insert a substring at the specified position up to the specified number of characters
INSTR() Return the index of the first occurrence of substring
INTERVAL() Return the index of the argument that is less than the first argument
IS_FREE_LOCK() Checks whether the named lock is free
IS NOT NULL NOT NULL value test
IS NULL NULL value test
IS_USED_LOCK()(v4.1.0) Checks whether the named lock is in use. Return connection identifier if true.
ISNULL() Test whether the argument is NULL
LAST_DAY(v4.1.1) Return the last day of the month for the argument
LAST_INSERT_ID() Value of the AUTOINCREMENT column for the last INSERT
LCASE() Synonym for LOWER()
LEAST() Return the smallest argument
<< Left shift
LEFT() Return the leftmost number of characters as specified
LENGTH() Return the length of a string in bytes
<= Less than or equal operator
< Less than operator
LIKE Simple pattern matching
LN() Return the natural logarithm of the argument
LOAD_FILE() Load the named file
LOCALTIME(), LOCALTIME Synonym for NOW()
LOCALTIMESTAMP, Synonym for NOW()
LOCALTIMESTAMP()(v4.0.6)
LOCATE() Return the position of the first occurrence of substring
LOG10() Return the base-10 logarithm of the argument

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 36 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Name Description
LOG2() Return the base-2 logarithm of the argument
LOG() Return the natural logarithm of the first argument
LOWER() Return the argument in lowercase
LPAD() Return the string argument, left-padded with the specified string
LTRIM() Remove leading spaces
MAKE_SET() Return a set of comma-separated strings that have the corresponding bit in bits set
MAKEDATE()(v4.1.1) Create a date from the year and day of year
MAKETIME(v4.1.1) MAKETIME()
MASTER_POS_WAIT() Block until the slave has read and applied all updates up to the specified position
MATCH Perform full-text search
MAX() Return the maximum value
MD5() Calculate MD5 checksum
MICROSECOND()(v4.1.1) Return the microseconds from argument
MID() Return a substring starting from the specified position
MIN() Return the minimum value
- Minus operator
MINUTE() Return the minute from the argument
MOD() Return the remainder
% Modulo operator
MONTH() Return the month from the date passed
MONTHNAME()(v4.1.21) Return the name of the month
NOT BETWEEN ... AND ... Check whether a value is not within a range of values
!=, <> Not equal operator
NOT IN() Check whether a value is not within a set of values
NOT LIKE Negation of simple pattern matching
NOT REGEXP Negation of REGEXP
NOT, ! Negates value
NOW() Return the current date and time
NULLIF() Return NULL if expr1 = expr2
OCT() Return an octal representation of a decimal number
OCTET_LENGTH() A synonym for LENGTH()
OLD_PASSWORD()(v4.1) Return the value of the old (pre-4.1) implementation of PASSWORD
||, OR Logical OR
ORD() Return character code for leftmost character of the argument
PASSWORD() Calculate and return a password string
PERIOD_ADD() Add a period to a year-month
PERIOD_DIFF() Return the number of months between periods
PI() Return the value of pi
+ Addition operator
POSITION() A synonym for LOCATE()
POW() Return the argument raised to the specified power
POWER() Return the argument raised to the specified power
PROCEDURE ANALYSE() Analyze the results of a query
QUARTER() Return the quarter from a date argument
QUOTE() Escape the argument for use in an SQL statement
RADIANS() Return argument converted to radians

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 37 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Name Description
RAND() Return a random floating-point value
REGEXP Pattern matching using regular expressions
RELEASE_LOCK() Releases the named lock
REPEAT() Repeat a string the specified number of times
REPLACE() Replace occurrences of a specified string
REVERSE() Reverse the characters in a string
>> Right shift
RIGHT() Return the specified rightmost number of characters
RLIKE Synonym for REGEXP
ROUND() Round the argument
RPAD() Append string the specified number of times
RTRIM() Remove trailing spaces
SEC_TO_TIME() Converts seconds to 'HH:MM:SS' format
SECOND() Return the second (0-59)
SESSION_USER() Synonym for USER()
SHA1(), SHA() Calculate an SHA-1 160-bit checksum
SIGN() Return the sign of the argument
SIN() Return the sine of the argument
SOUNDEX() Return a soundex string
SOUNDS LIKE(v4.1.0) Compare sounds
SPACE() Return a string of the specified number of spaces
SQRT() Return the square root of the argument
STD() Return the population standard deviation
STDDEV() Return the population standard deviation
STR_TO_DATE()(v4.1.1) Convert a string to a date
STRCMP() Compare two strings
SUBDATE() A synonym for DATE_SUB() when invoked with three arguments
SUBSTR() Return the substring as specified
SUBSTRING_INDEX() Return a substring from a string before the specified number of occurrences of the
delimiter
SUBSTRING() Return the substring as specified
SUBTIME()(v4.1.1) Subtract times
SUM() Return the sum
SYSDATE() Return the time at which the function executes
SYSTEM_USER() Synonym for USER()
TAN() Return the tangent of the argument
TIME_FORMAT() Format as time
TIME_TO_SEC() Return the argument converted to seconds
TIME()(v4.1.1) Extract the time portion of the expression passed
TIMEDIFF()(v4.1.1) Subtract time
* Times operator
TIMESTAMP()(v4.1.1) With a single argument, this function returns the date or datetime expression; with two
arguments, the sum of the arguments
TO_DAYS() Return the date argument converted to days
TRIM() Remove leading and trailing spaces
TRUNCATE() Truncate to specified number of decimal places

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 38 de 39
Wintell
CURSO SQL PRACTICO Nov 2008

Name Description
UCASE() Synonym for UPPER()
- Change the sign of the argument
UNCOMPRESS()(v4.1.1) Uncompress a string compressed
UNCOMPRESSED_LENGTH()(v4.1.1) Return the length of a string before compression
UNHEX()(v4.1.2) Convert each pair of hexadecimal digits to a character
UNIX_TIMESTAMP() Return a UNIX timestamp
UPPER() Convert to uppercase
USER() Return the current username and hostname
UTC_DATE()(v4.1.1) Return the current UTC date
UTC_TIME()(v4.1.1) Return the current UTC time
UTC_TIMESTAMP()(v4.1.1) Return the current UTC date and time
UUID()(v4.1.2) Return a Universal Unique Identifier (UUID)
VALUES()(v4.1.1) Defines the values to be used during an INSERT
VARIANCE()(v4.1) Return the population standard variance
VERSION() Returns a string that indicates the MySQL server version
WEEK() Return the week number
WEEKDAY() Return the weekday index
WEEKOFYEAR()(v4.1.1) Return the calendar week of the date (0-53)
XOR Logical XOR
YEAR() Return the year
YEARWEEK() Return the year and week

ITConsulting Apéndice I – Funciones de MySQL.


Pagina 39 de 39

Вам также может понравиться