Mostrando entradas con la etiqueta cadenas. Mostrar todas las entradas
Mostrando entradas con la etiqueta cadenas. Mostrar todas las entradas

lunes, 2 de marzo de 2015

[Parte 2]jQuery

jQuery - Conceptos basicos

jQuery es un framework construido utilizando las capacidades de javascript. Asi que usted puede utilizar todas las funciones y otras capacidades disponibles en javascript. 

Cadena

Una cadena en javascript es un objeto inmutable que contiene ninguno, o varios caracteres. Los siguientes son ejemplos validos de una cadena de javascript:

"Esto es una cadena Javascript"
'Esto es una cadena Javascript'
'Esto es "realmente" una cadena Javascript'
"Esto es 'realmente' una cadena Javascript"


Numeros

Los numeros en javascript son de formato IEEE 754 de doble precision de 64 bits. Ellos son inmutables al igual que las cadenas. Los siguientes son ejemplos validos de numeros en javascript:

5350
120.27
0.26


Booleanos

Un booleano en javascript puede ser falso o verdadero. Si un numero es cero, el valor predeterminado es falso. Los siguientes son ejemplos validos en booleano de javascript:

true // verdadero
false //  falso
0 // falso
1 // verdadero
"" // falso
"hola"  // verdadero

 

Objetos

Javascript soporta el concepto de objetos muy bien. Puede crear un objeto usando literalmente object de la siguiente manera:

var emp = {
    nombre : "Sara",
    edad : 10
}


Usted puede escribir y leer las propiedades de un objeto utilizando la notacion de puntos de la siguiente manera:

// Obtener las propiedades del objeto
emp.nombre // ==> Sara
emp.edad // ==> 10

// Estableciendo las propiedades del objeto
emp.nombre = "Deisi" // <== Daisi
emp.edad = 20 // <== 20


Arrays

Puede definir arrays utilizando literalmente array de la siguiente manera:

var x = [];
var y = [1, 2, 3, 4, 5];


Un array tiene la propiedad length que es util para la iteracion:

var x = [1, 2, 3, 4, 5];
for (var i = 0; i < x.length; i++){
    // Hacemos algo con x[i]
}


Funciones

Una funcion en javascript puede ser o bien nombrada o anonima. Una funcion nombrada se puede definir mediante la palabra clave function de la siguiente manera:

function nombrada(){
   
}


Una funcion anonima puede ser definida en forma similar que una funcion normal, pero no tendrá ningun nombre. Una funcion anonima se puede asignar a una variable o se pasa a un metodo como se muestra a continuacion:

var manejador = function(){
    // hacer algo aqui
}


jQuery hace uso de funciones anonimas con mucha frecuencia como sigue:

$(document).ready(function(){
    // Hacer algo aqui
});



Argumentos

La variable javascript arguments es una especie de array que tiene la propiedad de length. El siguiente ejemplo lo muestra muy bien:

function func(x){
    console.log(typeof x, arguments.length);
}

func(); // ==> "undefined", 0
func(1); // ==> "number", 1
func("1","2","3"); // ==> "string", 3


Los argumentos de los objetos tambien tienen una propiedad callee, que se refiere a la funcion que esta dentro de el. Por ejemplo:

function func(){
    return arguments.callee;
}

func(); // ==> func



Contexto

Javascript tiene la famosa palabra clave this que se refiere al contexto actual. Dentro de una funcion este contexto puede cambiar, dependiendo de como se llama la funcion:

$(document).ready(function(){
    // Esto hace referencia a window.document
});
$("div").click(function{
    // Esto se refiere al elemento div en el DOM
});


Puede especificar el contexto de una llamada utilizando los metodos incorporados call() y apply(). La diferencia entre ellos es la forma en que se pasan los argumentos. Call pasa todos los argumentos a traves de los arguments de la funcion, mientras apply acepta un array como arguments.


function scope(){
    console.log(this, arguments.length);
}

scope() // window, 0
scope.call("foobar",[1,2]); // ==> "foobar", 1
scope.apply("foobar",[1,2]); // ==> "foobar", 2



Ambito

El ambito de una variable es la region de su programa en el que se define. Las variables en javascript tendran solo dos ambitos.

Variables globales: una variable global tiene un alcance global que significa que se define por todas partes en su codigo javascript. 

Variables locales: una variable local sera visible solo dentro de la funcion donde se define. Los parametros de la funcion son siempre locales a esa funcion.

Dentro del cuerpo de una funcion, una variable local tiene prioridad sobre una variable global con el mismo nombre:

var miVar = "global"; // ==> declaramos una variable global

function (){
    var miVar = "local"; // ==> declaramos una variable local
    document.write(miVar); // ==> local
}


Llamadas

Una callback (llamada) es una funcion de javascript plana pasado a algun metodo como argumento o una opcion. Algunas llamadas son solo eventos, llamados a dar al usuario la oportunidad de reaccionar cuando se activa un determinado estado. El sistema de eventos de jQuery utiliza estas llamadas en todas partes, por ejemplo:

$("body").click(function(event){
    console.log("click en: " + event.target);
});


La mayoria de las llamadas proporcionan argumentos y un contexto. En el ejemplo del controlador de eventos, la devolucion de la llamada se llama como argumento. Se necesitan algunas llamadas para devolver algo, otros hacen el valor de retorno opcional. Para evitar un envio de formularios, en el controlador de eventos submit colocamos return false de la siguiente manera:

$("#miformulario").submit(function(){
    return false;
});


Cierres

Los cierres se crean cada vez que se accede a una variable que se define fuera del ambito dentro de algun ambito interno. El ejemplo siguiente muestra como la variable contador es visible dentro de crear, de incrementar, y las funciones de impresion, pero no fuera de ellos:

function crear(){
    var contador = 0;
    return {
        incrementar : function(){
            contador++;
        },
        impresion : function(){
            console.log(contador);
        }
    }
}

var c = crear();
c.incrementar();
c.impresion(); // ==> 1



Este patron permite crear objetos con metodos que operan sobre los datos que no son visibles para el mundo exterior. Cabe señalar que la ocultacion de datos es la base misma de la programacion orientada a objetos.


El patron Proxy

Un proxy es un objeto que se puede utilizar para controlar el acceso a otro objeto. Se implementa la misma interfaz que este otro objeto y pasa cualquier metodo invocandolo a él. Este otro objeto a menudo se llama real subject (sujeto real). Un proxy puede ser instanciado en lugar de real subject y permite ser accedido de forma remota. Podemos ahorrar usando el metodo setArray de jQuery en un cierre y sobreescribiendolo de la siguiente manera:

(function(){
    // registramos todas las llamadas a setArray
    var proxied = jQuery.fn.setArray;

    jQuery.fn.setArray = function(){
        console.log(this, arguments);
        return proxied.apply(this, arguments);
    }
})();


Lo anterior envuelve su codigo en una funcion para ocultar la variable proxied. El proxy entonces registra todas las llamadas al metodo y los delegados de la llamada al metodo original. Utilizando apply(this, arguments) garantiza que la persona que llama no sera capaz de notar la diferencia entre el original y el metodo proxied.


Funciones incorporadas

Javascript viene junto con un util conjunto de funciones incorporadas. Estos metodos se pueden utilizar para manipular cadenas, numeros y fechas. A continuacion se describen las funciones de javascript importantes:

+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| Metodo        | Descripcion                                                                                                                     |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| charAt()      | Devuelve el caracter en el indice especificado.                                                                                 |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| concat()      | Combina el texto de dos cadenas y devuelve una nueva cadena.                                                                    |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| forEach()     | Llama una funcion para cada elemento de la matriz                                                                               |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| indexOf()     | Devuelve el indice dentro del objeto llamado String de la primera aparicion del valor especificado, o -1 si no es encontrado.   |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| length()      | Devuelve la longitud de una cadena.                                                                                             |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| pop()         | Elimina el ultimo elemento de una matriz y devuelve dicho elemento.                                                             |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| push()        | añade uno o mas elementos al final de una matriz y devuelve la nueva longitud de la matriz.                                     |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| reverse()     | Invierte el orden de los elementos de una matriz, el primero se convierte en el ultimo, y el ultimo se convierte en el primero. |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| sort()        | Ordena los elementos de una matriz                                                                                              |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| substr()      | Devuelve los caracteres de una cadena que comienza en el lugar especificado, por el numero de caracteres especificados.         |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| toLowerCase() | Devuelve el valor de la cadena llamada convertido en minusculas.                                                                |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| toString()    | Devuelve la representacion de una cadena del valor de un numero.                                                                |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
| toUpperCase() | Devuelve el valor de la cadena llamada convertido en mayusculas.                                                                |
+---------------+---------------------------------------------------------------------------------------------------------------------------------+
 
El modelo de objetos del documento

El modelo de objetos del documento (Document object model) es una estructura de arbol de diversos elementos de HTML de la siguiente manera:

<html>
<head>
    <title>Es el titulo</title>
</head>
<body>
    <div>
        <p>Este es un parrafo</p>
        <p>Este es el segundo parrafo</p>
        <p>Este es el tercer parrafo</p>
    </div>
</body>
</html>


Los siguientes son los puntos importantes sobre la estructura de arbol de arriba:

* El <html> es el ancestro de todos los demas elementos, en otras palabras, todos los demas elementos son descendientes de <html>

* El <head> y <body> no son solo elementos descendientes, son hijos de <html> tambien.

* Del mismo modo ademas de ser antepasado de <head> y <body>, <html> tambien es su padre.

* Los elementos <p> son los hijos (y descendientes) de <div>, descendientes de <body> y <html> y hermanos unos de otros elementos <p>.

Fuente: http://www.tutorialspoint.com/jquery/index.htm

jueves, 1 de mayo de 2014

[Parte 1] PHP

PHP

PHP Hypertext Pre-Processor (anteriormente Personal Home Page) es uno de los lenguajes de programacion mas famosos es del lado del servidor y fue creado por Ramus Lerdorf, para poder ejecutarse necesita un servidor web (tecnologia LAMP, aunque no necesariamente tiene que usarse Linux). El uso que se le da es para crear aplicaciones web dinamicas. Y es multiplataforma. 

Instalar un servidor web o utilizar uno

Para poder hacer uso de PHP como comentabamos anteriormente, necesitamos hacer uso de un servidor web, con Apache y PHP tendriamos mas que suficiente para empezar a probar, pero igualmente podemos instalar el proyecto Appserv o XAMPP los cuales incluyen Apache, MySQL y PHP, ademas algunas librerias preinstaladas. 

Aunque sino quieres instalar el servidor puedes hacer uso de alguno gratis como 000webhost y conectarte via FTP para empezar a probar tus scripts PHP.

Que necesitamos saber

Conocimiento de HTML no estaria nada mal ya que en la mayoria de script de PHP se incluye la estructura HTML. 

Crear un documento basico en PHP

Para crear un documento PHP necesitamos abrir las etiquetas:


 <?php AquivanuestrocodigoPHP ?>


Y guardarlo con la extension .php


Hola mundo con la funcion echo o print

print - muestra una cadena
echo - muestra una o mas cadenas

Un ejemplo podria ser el siguiente:


 <?php
 ECho "Hola Mundo
 Este es un ejemplo";
?>

En este ejemplo quiero destacar unas cuantas cosas. PHP es case-insensitive (quiere decir que no diferencia entre mayusculas o minusculas) por eso ECho es igual a echo o tambien a eChO.
Si vemos el resultado del script anterior. Veremos todo en una sola linea, pero si vemos el codigo fuente vemos todo tal y como fue escrito en PHP:



Para poder entonces mostrar un salto de linea se utiliza HTML, en este caso podemos utilizar:


 <br /> <p></p>


Algun parrafo o salto de linea.

Con " comenzamos una cadena y con " la terminamos y con ; cerramos la linea, siempre que este ; es por que es una linea de codigo.

¿Que pasa en caso de que queramos escribir alguna comilla simple o doble dentro de las que ya tenemos? 


Tendriamos un error con el cual lidiar, pero en este caso podemos escribir comillas simples dentro de las dobles o viceversa.


O simplemente escapar las cadenas con el slash invertido \ ...



Tenemos la secuencia de escape \n que seria una nueva linea, solo que no se ve cuando lo mostramos en HTML, esta es util cuando estas programando en linea de comandos.

Nota: Recuerda siempre activar display_errors en tiempo de desarrollo, para darnos cuenta si tenemos un error de sintaxis:

Comentarios

Los comentarios no se ven en la pagina web, y te hacen ver como un profesional ya que estaras documentando tu codigo, de manera que cuando alguien lo retome le sea mas facil ver lo que estabas haciendo. Los comentarios que tienes en PHP son los siguientes:

# Este es un comentario de una sola linea
// Este es un comentario de una sola linea
/* Este es un comentario
 Multilinea...
*/ 

Tenemos los signos #, // y /**/.

Variables

Las variables son contenedores temporales que almacenan valores, estos valores pueden ser cadenas, números o datos mas complejos.

Una variable se declara usando el signo dolar ($) $acaelnombredemivariable

Las variables son case-sensitive (quiere decir que diferencia entre mayusculas y minusculas) con esto $variable no es lo mismo que $Variable, una recomendacion al utilizar variables es hacer uso de el estilo Camel Case.

Para asignarle un valor a la variable utilizamos el signo de asignacion (=), en este caso seria algo como lo siguiente:

$acaelnombredemivariable = "acamivalor";

En este caso vamos a hacer uso de las variables predefinidas usando el array $_SERVER que nos devuelve datos del servidor.


En este caso estamos haciendo uso de la sintaxis "here document" la cual no debe tener tabulacion por que sino no funcionaria correctamente, y escribimos nuestras variables para que sean mostradas en el servidor web.

En PHP no es necesario declarar el tipo de la variable ya que esta la toma tal cual convirtiendola. 

Cadenas

Podemos escribir cadenas haciendo uso de las comillas simple o dobles.




Como ves declaramos una variable que contiene nuestra cadena y la imprimimos varias veces. Una variable se puede imprimir con comillas dobles o sin ellas. Como ves aquí hay una diferencia al utilizar la comillas simples, esto se debe a que el uso de comillas simples trata todo como literal y el uso de comillas dobles lo interpreta.

Algunas de las funciones utiles que tenemos para nuestras cadenas son:

strlen() - cuenta el numero de caracteres dentro de una cadena
strtoupper() - pasa a mayusculas una cadena
strtolower() - pasa a minusculas una cadena
ucfirst() - pone en mayusculas al primer caracter de una cadena
ucwords() - pone en mayusculas el primer caracter de cada palabra en una cadena



Numeros

Para asignar un numero a una variable es tan facil como hacer lo siguiente:


En este caso asignamos el numero sin comillas o con ellas de igual manera es interpretado, aunque es mejor hacerlo sin comillas ya que de esta manera se esta seguro que es es un entero o un decimal (dependiendo de lo que hayas puesto), y al final lo sumamos haciendo uso del operador + (suma). Algunos operadores que tenemos son:

+ | suma
- | resta
* | multiplicacion
/ | division
% | resto
++ | incremento
-- | decremento

Algunas funciones utiles para los numeros son:

number_format() - le da formato a los numeros
round() - redondea al numero mas cercano



Concatenacion

La concatenacion es unir, para ello utilizamos el punto (.), por ejemplo:


Como ves en este caso unimos el 1 con el 5 quedando 15, no como en el caso anterior donde sumabamos los numeros.

Tambien podemos concatenar al momento usando .=, por ejemplo:


Constantes

Las constantes son parecidas a las variables con la diferencia de que estas nunca cambian... para definir una constante usamos:

define('NOMBRE',valor);

Esto es muy util cuando sabemos que esos datos no van a cambiar, como puede ser en el caso de una base de datos, pero para no ir tan a fondo, pongamos por ejemplo el PI :)


Como ves la constante la declaramos y al imprimirla lo hacemos fuera de la cadena y concatenandola, la constante no se debe de declarar dentro de comillas ya que no se interpreta.

Depurar nuestro codigo

1.- Ver que la url donde estamos ejecutando el script php sea la correcta
En este caso si estamos ejecutando el script 2.php que la url sea http://localhost/2.php o la carpeta correcta...

2.- Ver la version de PHP que estamos corriendo y que display_errors este activado
Esto lo hacemos con la funcion phpinfo() como vimos arriba, esta funcion nos devuelve informacion sobre la configuracion de php.

3.- Mirar el codigo fuente de la pagina...
Aveces en el codigo fuente de la pagina se muestra algun tipo de error en el HTML, lo cual puede estar causando el problema.

4.- Mensaje de error
Este se ve reflejado en la pagina y lo podemos solucionar aveces leyendolo o simplemente haciendo busqueda en Google de el error.

5.- Tomate un descanso
Probablemente puede ser que la logica este mal, o tener la mente pensando en otras cosas, con lo cual no estas concentrado en el codigo, aveces al retomar las cosas las vez mas simples de lo que son o creias que eran.


viernes, 29 de marzo de 2013

MYSQL MIniTutorial parte 4

Introducion al minitutorial parte 4

Bievenidos ya la parte 4 :P Uff rapido que pasa el tiempo jejeje.... bueno en esta parte espero ver funciones de mysql, una cosa que cabe aclarar aqui no creamos nuestros "Scripts" como al final de cada capitulo de estas series, simplemente por que como son funciones solo es cuestion de saber aplicarlas, es decir, ya sabemos todo lo anterior, entonces definire un pequeño concepto de cada funcion, con su sintaxis y ejemplo :D de esta manera ustedes pueden aplicarlo en cualquier consulta a la base de datos :D


Funciones

Bueno no se como explicarselos, asi que pondre un ejemplo a mi modo, has visto alguna ves una ¿funcion de php? donde tu describes lo que haga esa funcion y les pasas unos parametros, por ejemplo:

function nombre(parametro1,parametro2,parametron){
y aqui va lo que realiza dicha funcion :D
}

en este caso entonces digamos que mysql tiene una funcion, por ejemplo una que vimos en un capitulo anterior asi de "rapidin" fue la funcion count() que contaba el numero de registros, entonces, digamos que es algo asi:

function count(tabla){
cuenta los numeros de registros del parametro tabla y me lo devuelve
}

en este caso la accion es lo importante que es lo que realiza :P
entonces, una cosa bien clara aqui es que no puse el codigo de count por que realmente no lo se :P XD pero eso es lo que realizaria, asi que las funciones sirven para no hacer tanto trabajo y ayudarnos en muchas ocasiones :D


Bueno empezare poniendo funciones que pueden ser realmente utiles.... si se me pasa alguna, por favor en los comentarios haganmelo saber :D

Estas son algunas de las funciones que utilizan valores numericos.....antes decirles que sino agrego la sintaxis en alguna de estas funciones es por que son utilizadas en las columnas aunque no solo ahi sino en subconsultas... clausula where.. como hemos venido viendo :P

Funciones Matematicas
No no estoy hablando de las funciones que te enseñan en el cole, donde tienes que saber que numero se acerca a tal... xD sino a las funciones de mysql donde utilizamos valores numericos y se utiliza matematicas, aunque en este caso pondre ejemplo de pura aritmetica para no acomplejarlos :P

Count()
Cuenta los registros

Sintaxis:

Select count(nombre_columna) from nombre_tabla;
select count(*) from tabla;

en este caso tenemos dos sintaxis, veremos los ejemplos y explicaremos un poco :D

Primero seleccionamos todos los registros desde la tabla personas....
como ves tenemos 3 filas....
entonces seleccionamos count(apellido) as contando desde personas....
explico esta parte de count....

count(apellido) decimos que nos cuente el numero de registros de la columna apellidos, en este caso son 3
y luego le damos un alias para que se llame contando
y es exactamente lo que nos muestra :D

pero que pasa si agregamos un registro nuevo ¿con un valor nulo o vacio?

Entonces como puedes ver, el valor nulo no es contado y sigue seleccionando 3...

Entonces podriamos usar * (todos) para contar todos los registros, count(*), de esta manera si no sabemos si un valor es nulo, pues igual no seleccionaria todos los registros :D


Una sintaxis que no mencione arriba por que no es muy usada la verdad, pero aveces puede resultarle util, es usar distinct, asi seleccionaria valores distintos, es decir, que no esten repetidos, un ejemplo lo hariamos con la tabla  pedidos:

 Como ves en este caso, tenemos 6 clientes, pero resulta ser que hay clientes que estan repetidos y son los mismos clientes, entonces seleccionamos valores que no esten repetidos con distinct, lo que nos contaria en realidad que son 3 clientes....

seleccionar y contar valores distintos de la columna clientes desde la tabla pedidos;

seria una forma de interpretarlo....

Otro ejemplo usando count es como lo vimos en los minitutos anteriores donde agregabamos group by para poder ordenar registros utilizando funciones, lo recuerdas?


Avg()

Viene del ingles Average siendo su sustantivo en español Promedio aunque tambien se le puede llamar media, el promedio se saca de la siguiente manera....
la suma de todos los registros dividido entre el numero de registros
bueno si es que no me di a entender muy bien les dejo un ejemplo que encontre en kioskea.net
Promedio:
Es la media aritmética y se calcula sumando un grupo de números y dividiendo a continuación por el recuento de dichos números.
Por ejemplo,
el promedio de 2, 3, 3, 5, 7 y 10
es: 30 dividido por 6, que es 5.

Ahi tienen el ejemplo mas claro :)

 Sintaxis:

select avg(nombre_columna) from tabla;

Veamos un ejemplo:

Lo primero que hemos hecho en el ejemplo es seleccionar todos los registros desde la tabla pedidos....
si te fijas luego seleccionamos el promedio de la columna precio_pedido desde la tabla pedidos.
Si sacamos el promedio vemos que esta en lo correcto....
200+1000+1600+700+300+100=5700/6=950

Max()

Devuelve el maximo valor  de una columna.
Sintaxis:
Select max(nombre_columna) from tabla;

En este caso tenemos que el valor maximo de la columna precio_pedido es 2000 y es lo que nos devuelve cuando usamos la sintaxis :D

Min()

Al contrario de la anterior devuelve el valor minimo de una columna....
Sintaxis:
select min(nombre_columna) from tabla;


Como puedes ver en el ejemplo anterior, solo aplicamos la sintaxis y podemos ver que el valor minimo de la columna precio_pedido es 100.

Sum()

Devuelve la suma de una columna.
Sintaxis:
select sum(nombre_columna) from tabla;


Como puedes ver solo realizamos la sintaxis, en este caso puedes ver mas arriba donde seleccionamos todos los campos para comprobar esto, igual habiamos realizado la suma en la funcion avg() que era para el promedio....

Round()

Redondea un valor numerico con punto decimal al valor mas cercano.
Sintaxis:
select round(nombre_columna) from tabla where id=1;

en este caso le digo que eliga un solo valor por que es necesario un solo valor numerico ...
Como en este ejemplo no tengo alguna con valores con punto decimal mostrare un ejemplo utilizando la clausula select, de todas maneras es aplicable con la sintaxis que describi arriba :P, solo que en vez de especificar la columna especificare el valor numerico para que vean como funciona :D


Truncate()
Esto lo que hace es truncar un numero matematicamente hablando, para ello les dejo un concepto de wikipedia bien definido:
(Truncamiento) En el subcampo matemático del análisis numérico, truncamiento es el término usado para reducir el número de dígitos a la derecha del punto decimal, descartando los menos significativos.

Sintaxis:
Truncate(valor_numerico,cuantos_valores_numericos_despues_del_punto_decimal)

 Entonces un ejemplo:

Para no hacerlo muy largo explicare asi "rapidin" :p
1.- truncamos 1.56 y le decimos que queremos 1 decimal despues del punto a la derecha
2.- truncamos 1.56 y le decimos que queremos 0 decimales despues del punto a la derecha
3.- truncamos 1.5666666 y le decimos que queremos 2 decimales despues del punto a la derecha

Como puedes ver es facil de comprender :P

Floor()
Este lo que hace es redondear hacia "abajo" en el caso de round() digamos que redondea al valor mas "cercano" en este caso redondeamos hacia abajo. por ejemplo:

tenemos un numero 1.56 si lo redondeamos hacia abajo seria 1, en el otro caso esto es interesante por que si te fijas bien el numero esta hacia abajo ya, es decir, el numero es negativo... entonces si lo redondeas hacia abajo seria 2 por que? simplemente por que es un numero negativo es decir si lo hacemos mas negativo seria 2 :D

SQRT()

 Con esta funcion podemos devolver la raiz cuadrada de un numero, que es la raiz cuadrada? XDDD pues es un numero que elevado 2 veces da el mismo numero que teniamos... mmm creo que no me explique bien, pero para ello les traigo la definicion de wikipedia, que siempre nos salva :D

En las ciencias matemáticas, se llama raíz cuadrada de un número (a veces abreviada como raíz a secas) a aquel otro que siendo mayor o igual que cero, elevado al cuadrado, es igual al primero.

Entonces ya sabemos la definicion ^^, pues veamos un ejemplo :D


Entonces aplicando el concepto o la definicion bien dicha de wikipedia sabemos que 4x4 es 16 siendo esto se pasa de 14 entonces tenemos que recurrir a puntos decimales siendo 3.7416573867739413^2 igual a 14
los dos ultimos ejemplos son mas faciles
2^2 es 4
3^2 es 9

 Pow() o Power()

Como vimos en la funcion sqtr() deciamos que elevavamos el valor a la potencia 2, pues pow o power es eso mismo elevar a una potencia indicada...
Una potencia es un numero multiplicado por si mismo un numero n de veces....

pow(numero_a_elevar,potencia_a_elevar);

Aplicando el concepto anterior, ponemos que
3^2 es 9 con esto tambien como en el ejemplo anterior sabemos que 3 es la raiz de 9
^ significa la potencia, elevar a la....
como ves en el ejemplo utilizamos pow y power que viene siendo lo mismo nada mas que a mi se me hace mas facil de recordar power por su abreviacion jejeje

2^2 es 2
3.7416573867739413^2 es 14
5^3 es 125

Como dije arriba casi al principio de este minituto en este caso no me adentrare mucho en las funciones y solo es para dar una pequeña explicacion de como se usan y pues casi todo es saber matematicas en estas funciones que les estoy poniendo :P

CRC32()

Este es muy utilizado en las paginas web cuando deseas comprobar un archivo, es decir, por ejemplo, digamos que te subes una archivo a mega :D y el archivo se corrompio al subirlo o al bajarlo si tu das un codigo crc32 para que verifiquen que no le esta roto o corrompido el archivo, es decir, para que ellos se den cuenta que es identico a tu archivo, entonces funciona perfectamente, aunque tambien suelen utilizarse los md5 y demas encriptaciones.... que no son nada mas que matematicas :D

Despues de darle una "pequeña platica ahi xD" entonces veamos un ejemplo:

Lo que hace es indicarle un parametro y devuelve un valor de redundancia ciclica, para entenderlo mejor es un valor random o aleatorio.... ahorita abajo veremos un ejemplo con una funcion random :D

Rand()

Esta nos devuelve un valor aleatorio del 0 al 1 ,  si le especificamos parametro nos devuelve valores repetidos segun el numero... por ejemplo:


Si te fijas rand() nos ha generado numeros aleatorios del 0 al 1, pero en caso de rand(6) que tiene como parametro 6 nos genera un valor del 0 al 1 pero si lo volvemos a llamar nos arroja el mismo valor...

Existen otras funciones numericas pero creo que estas son las que ami me parecieron mas interesantes :P

Funciones con caracteres
Como lo dice el titulo veremos algunas de las funciones con caracteres, estan en lo personal son las que mas me gustan jeje :P

Empecemos....

Ascii() o Ord()

Devuelve el valor en decimal (0-9) de una letra o numero de la tabla ascii (en este caso solo acepta valores del 0-255), el ascii es un codigo que tiene cada tecla de nuestro teclado.... Pero si quieres una mejor definicion tenemos wikipedia jeje :D

El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente , es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas...

 aqui les dejo una tabla del codigo ascii, les puede servir :D


Pongamos un ejemplo, de como lo usamos:

 En este caso como ves solo partimos de un solo caracter por que si indicaramos mas, seria lo mismo solo nos devolveria el codigo ascii del primer caracter, en este caso devolvemos el codigo ascii de a que es 97 lo puedes verificar en la tabla ascii de arriba donde dice Dec (decimal) y en el segundo el numero 0 que seria 48 :)

Bueno con ord() puedes realizar la misma accion :P


Char()

En este caso tenemos esta funcion char() que lo que hace es devolvernos el caracter que le demos en ascii, por ejemplo:


Bin()

Devuelve el valor binario (ceros y unos) de un entero...
Antes que nada vamos a ver que nos dice wikipedia de lo que es un binario ;)

El sistema binario , en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1


Como ves nos devuelve el binario de cada uno de esos numeros :P

Compress() Y Uncompress()
 Compress()
Comprime una cadena de caracteres que le indiques
Uncompress()
Descomprime una cadena de caracter comprimida con la funcion compress

Un ejemplo de esto:

 Es facil de utilizar, esto funciona con sql injection en muchos casos jeje por eso tambien la he mencionado :P

Concat()

Lo que hace es concatenar caracteres separados por comas...


tenemos tambien la funcion concat_ws(separador,concatenando,concatenando);

concat_ws lo que hace es agregar un separador y concatenar las cadenas....
prueba con:
select concat(0x3a3a,'testing','concat');
lo que hace es concatenar testing concart y agregar como separador :: que 0x3a3a es su significado esta en hexadecimal(0-9A-F) :P vendria quedando asi:

testing::concat

Find_in_set()

 find in set - en ingles lo traduciria algo como buscar en la lista...
su sintaxis es la siguiente:
select find_in_set('buscar','lista');

donde la lista es nuestra lista de caracteres que van separados por comas y buscar es la cadena a buscar, entonces vendria siendo buscame este caracter en la lista si se encuentra devuelve de 1 a n(n es cualquier caracter arriba de 1) sino se encuentra devuelve cero y si los dos valores son nulos entonces devuelve null (valor desconocido :P)... En ejemplo para que se queden con la idea:


Aqui buscamos en la lista a,b,c,d,e el caracter b si se encuentra devuelve 1 o arriba de 1
en el siguiente ejemplo buscamos en la lista a,b,c,d,e el caracter x si no se encuentra devuelve 0 :P

Hex() y Unhex()

hex() - convierte a hexadecimal lo que indiquemos como parametro
unhex() - convierte a un caracter un hexadecimal, hace el reverso del hex()

Veamos un ejemplo usando estas funciones:

Lo que hacemos arriba es convertir arthusu a hex nos devuelve 61727468757375 que es su valor hexadecimal
Luego lo "desconvertimos" y nos devuelve arthusu
luego lo seleccionamos solamente para poder hacerlo agregamos 0x para decirle que es un valor hexadecimal :P

Lcase () o lower()

Con los dos realizas la misma accion que es pasar todas las cadenas que esten dentro a minusculas... ejemplo:

Como puedes ver es muy facil tenemos ARTHUSU en mayusculas y con las funciones lower o lcase lo pasamos a minusculas :P




Ucase() o Upper()
con estas dos funciones puedes realizar lo mismo que seria convertir el texto en minusculas....es decir lo inverso a las dos anteriores.... un ejemplo:



Length()

Esta funcion nos devuelve la longitud de una cadena, a la longitud me refiero al tamaño, pero si quieres una mejor definicion ta wikipedia:

La longitud es la magnitud que expresa la distancia existente entre dos puntos, a lo largo de un cuerpo unidimensional que los une.

entonces sabiendo esto veamos un ejemplo....


Entonces viendo el ejemplo tenemos que contamos el tamaño o la longitud de la cadena arthusu entonces seria 7 1-a-2-r-3-t-4-h-5-u-6-s-7-u lo podria contar asi para que noten la diferencia en el caso de arthusu BLOG contiene un espacio y el espacio tambien es contado, esto no solo se puede aplicar asi con esta clausula select recuerden que todo esto puede ser aplicado a las columnas....

Load_file()

Esta funcion lo que hace es leer un archivo con la ruta que le indiquemos del archivo, para poder utilizar esta funcion necesitas permisos de FILE si el archivo no existe o no tienes permisos devuelve un valor NULL...
Un ejemplo seria:


Bueno cuando agregue esta funcion me acorde load data local infile y mirando mis otros tutoriales me di cuenta que no agregue into outfile o into dumpfile entonces agregare aqui un pequeño apartado donde mencione como funciona into outfile y into dumpfile....

Into Outfile y Into Dumfile

Como dije arriba esto no tiene nada que ver con funciones pero al haber recordado que no lo puse en otros minitutos y al recordarla gracias a la funcion load_file() las pondre por que son muy importantes de verdad...
Into outfile lo que hace es se podria decir exportar un registro... por ejemplo:

Al principio intento crear un archivo llamado personas2.txt en la ruta de mi home /home/arthusu pero al intentar crearlo no puedo, por que? simple, por que nuestro usuario que estamos usando es decir Nobody<-- no tiene permisos para escribir en esa carpeta, esto lo podemos ver de la siguiente manera:
Como puedes mirar solo tienen permiso el usuario arthusu y root.... y com nuestro usuario es nobody entonces no tenemos permisos y no podemos escribir a menos que le demos permisos usando chmod con el usuario root o buscar otro directorio donde tengamos permisos como por ejemplo /tmp que es la ruta temporal como puedes ver tenemos permisos y ahi esta nuestro archivo personas2.txt

Y como puedes ver sacamos a esa carpeta /tmp el archivo personas2.txt sacamos toda la columna nombre..... y la mostramos luego con la funcion load_file()....

select nombre into outfile '/tmp/personas.txt';

tambien podriamos usar into dumpfile para realizar la misma accion solo que into dumpfile solo puede guardar 1 registro y no más...

Como puedes ver al principio nos sale que contiene mas de 1 fila por lo cual no puede exportar los registros como les comente into dumpfile solo puede exportar 1 registro con esto si lo leemos con la funcion load_file() entonces vemos que solo agarro el primer registro como ves yo use luego la clausula where donde era 1 fila aunque no era necesario por que el archivo ya existia y ya tenia ese el 1 p_id pero en caso de seleccionar otro registro que no sea el primero (p_id=1) especificariamos otro....

y como puedes ver nos devolveria otro registro, bueno como dije no tiene nada que ver con las funciones pero como no lo habia agregado antes lo agrego ahora, "mas vale tarde que nunca XD"....

locate()

Como su significado al español lo dice localiza, nos devuelve la primera ocurrencia de la cadena a buscar.... su sintaxis:

locate(cadena_buscar,cadena_donde_buscas,posicion_empezar)
locate(cadena_buscar,cadena_donde_buscas)

Puedes indicar la posicion a comenzar o no indicarla... por ejemplo:

tenemos la cadena_donde_buscar la siguiente cadena 'one two three testing one two three testing' y buscamos en esa cadena test... lo que hace es devolvernos la posicion donde se encuentra esa cadena que es 15 pero si le indicamos que empieze o comienze desde 22 entonces tenemos que en 15 estaba el primer testing por lo que en el 37 se encuentra el segundo, como la cadena testing tiene un tamaño de 7 entonces 15+7=22 entonces nos brincamos esa cadena la primera y por eso encuentra la segunda... no se si los confundi pero si es asi practiquenlo viendo la sintaxis y es facil de predecir lo que realiza de todas maneras al principio esta el concepto :D

Substring() o substr() o mid()

Cualquiera de estas realiza la misma funcion que substring son "sinonimos"...

Substring en ingles significa subcadena, lo que hace esta funcion es extraer una posicion en una cadena... vamos a ver sus sintaxis:

substring(cadena,posicion)
substring(cadena from posicion)
substring(cadena,posicion,longitud)
substring(cadena from posicion for longitud)

bueno vamos a seguir la sintaxis y veamos unos ejemplos:

Nota Importante: antes de comenzar quiero decirles que empezamos a contar desde 1 y que los espacios tambien cuentan en la longitud de la cadena :P

Como ves en el ejemplo es facil de comprender solo siguiendo la sintaxis, al principio tenemos la cadena:
arthusu BLOG y lo que hacemos es recorrernos 3 posiciones y extraer la cadena por eso que ahora ya no es una cadena sino una subcadena (entiendes el concepto :P)
en la segunda consulta hacemos lo mismo solo que usamos from de todas maneras puedes ver la sintaxis arriba y lo comprendes bien facil :P
ahora en esta parte 3 tenemos la cadena:
arthusu BLOG entonces desde la posicion 8 extraemos 5 caracteres de longitud o tamaño con esto nos devuelve solo BLOG
abajo hacemos lo mismo pero usando from y for puedes ver la sintaxis arriba....

ahora puedes realizar todo esto con la funcion substr() y con la funcion mid() que es equivalente a substring()....

 Bueno hasta aqui la parte 4 espero les haya gustado recuerden que me pueden faltar muchas funciones asi que les recomendaria pasarse por dev.mysql.com y le peguen una checadita a las funciones y como tarea les dejo que las practiquen

Como dicen "La Practica hace al maestro" .....

+-----End----+ Nos vemos la proxima parte