Sie sind auf Seite 1von 6

Juan Chirinos Rios

Manual de MySQL

COMANDOS Y FUNCIONES Ejecutando algunas consultas: mysql> SELECT VERSION(), CURRENT_DATE; +-----------+--------------+ | VERSION() | CURRENT_DATE | +-----------+--------------+ | 3.23.41 | 2002-10-01 | +-----------+--------------+ mysql> SELECT SIN(PI()/4), (4+1)*5; +-------------+---------+ | SIN(PI()/4) | (4+1)*5 | +-------------+---------+ | 0.707107 | 25 | mysql> SELECT VERSION(); SELECT NOW(); +-----------+ | VERSION() | +-----------+ | 3.23.41 | +-----------+ 1 row in set (0.01 sec) +---------------------+ | NOW() | +---------------------+ | 2002-10-28 14:26:04 | +---------------------+ mysql> SELECT -> USER(), -> CURRENT_DATE; +----------------+--------------+ | USER() | CURRENT_DATE | +----------------+--------------+ | root@localhost | 2002-09-14 | +----------------+--------------+

Prompt mysql> -> '> ">

Significado Listo para una nueva consulta. Esperando la lnea siguiente de una consulta multi-lnea. Esperando la siguiente lnea para completar una cadena que comienza con una comilla sencilla ('). Esperando la siguiente lnea para completar una cadena que comienza con una comilla doble (").

Creando y usando una base de datos: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ mysql> USE test Database changed

Pg. 1

Juan Chirinos Rios

Manual de MySQL

mysql> GRANT ALL on zoologico.* TO MiNombreUsuario@MiComputadora -> IDENTIFIED BY 'MiContrasea'; mysql> USE zoologico ERROR 1049: Unknown database 'zoologico' mysql> El mensaje anterior indica que la base de datos no ha sido creada, por lo tanto necesitamos crearla. mysql> CREATE DATABASE zoologico; Query OK, 1 row affected (0.00 sec) mysql> USE zoologico Database changed mysql> Creando una tabla Crear la base de datos es la parte ms fcil, pero en este momento la base de datos est vaca, como lo indica el comando SHOW TABLES: mysql> SHOW TABLES; Empty set (0.00 sec) Usaremos la sentencia CREATE TABLE para indicar como estarn conformados los registros de nuestras mascotas. mysql> CREATE TABLE mascotas( -> nombre VARCHAR(20), propietario VARCHAR(20), -> especie VARCHAR(20), sexo CHAR(1), nacimiento DATE, -> fallecimento DATE); Query OK, 0 rows affected (0.02 sec) Para verificar que la tabla fu creada como nosotros esperabamos, usaremos la sentencia DESCRIBE: mysql> DESCRIBE mascotas; +----------+-----------+------+----+-----+-----+ | Field | Type | Null | Key | Default | Extra | +-------------------+-------------------+----------+---------+---------+---------+ | nombre | varchar(20) | YES | | NULL | | | propietario | varchar(20) | YES | | NULL | | | especie | varchar(20) | YES | | NULL | | | sexo | char(1) | YES | | NULL | | | nacimiento | date | YES | | NULL | | | fallecimento | date | YES | | NULL | | +----------+-----------+------+----+-----+-----+ Para cargar el contenido del archivo en la tabla desde un archivo texto (tiene que estar separado con el tabulador), usaremos el siguiente comando: mysql> LOAD DATA LOCAL INFILE "mascotas.txt" INTO TABLE mascotas;

LEFT(cadena,longitud) Retorna la longitud de caracteres empezando por la izquierda de la cadena. mysql> SELECT LEFT('ministerio', 5); Rpta. minis LENGTH(cadena)

Pg. 2

Juan Chirinos Rios

Manual de MySQL

Retorna la longitud de la cadena, medida en bytes. Un carcter multi-byte cuenta como mltiples bytes. Esto significa que para cadenas que contengan cinco carcteres de dos bytes, LENGTH() retorna 10, mientras que CHAR_LENGTH() retorna 5. mysql> SELECT LENGTH('text'); Rpta. 4 MID(str,pos,len) es sinnimo de SUBSTRING(str,pos,len). mysql> SELECT MID('funcionario',4,,3); Rpta. cio DAY(date) : DAY() es sinnimo de DAYOFMONTH(). mysql> SELECT DAY('08-03-1965'); Rpta. 08 DAYNAME(date) Retorna el nombre del da de la semana para date. mysql> SELECT DAYNAME('09-10-2007'); Rpta. 'martes' DAYOFMONTH(date) Retorna el da del mes para date, en el rango 1 a 31. mysql> SELECT DAYOFMONTH('02-03-1998); Rpta. 3 Funciones ms usadas. Funcin Sum(campo) Avg(Campo) Count(*) Max(Campo) Min(Campo) Descripcin Calcula la suma de los registros del campo especificado Calcula la media de los registros del campo especificado Nos proporciona el valor del numero de registros que han sido seleccionados Nos indica cual es el valor mximo del campo Nos indica cual es el valor mnimo del campo

Ejemplos: Select Sum(total) As suma_pedidos From pedidos Select Sum(cantidad) as suma_articulos From pedidos Where id_articulo=6 Select Avg(total/cantidad) From pedidos Select Avg(precio) as precio_venta From articulos

Comparar cadenas de texto


Comparar con ==
En java se pueden comparar cadenas de texto de varias maneras.

Pg. 3

Juan Chirinos Rios

Manual de MySQL

La primera y ms directa, es comparando con el ==. Esta comparacin no compara las cadenas, sino si la instancia es la misma. As, por ejemplo
String cadena1 = new String("Hola"); String cadena2 = new String("Hola"); if (cadena1 == cadena2) { ... }

da false, las cadenas no son iguales, ya que son dos instancias -dos news- distintos. El compilador de java es listo y si hacemos
String cadena1 = "Hola"; String cadena2 = "Hola"; if (cadena1 == cadena2) { ... }

dara true, ya que el compilador ve que tiene dos veces la misma cadena y crea una nica instancia para ella -slo hace internamente un new-.

Comparar con equals()


Para comparar realmente las cadenas y no si son o no la misma instancia, se usa el mtodo equals().
String cadena1 = new String("Hola"); String cadena2 = new String("Hola"); if (cadena1.equals(cadena2)) { ... }

esto dara true siempre que ambas cadenas tengan el mismo texto dentro. Es posible hacer cosas como esta
String cadena2 = new String("Hola"); if ("Hola".equals(cadena2)) { ... }

es decir, podemos usar directamente el mtodo equals() sobre una cadena de texto literal, sin necesidad de tener variable. Esto es til para evitar comparar primero si la cadena es null antes de llamar a equals(). Es decir, evita hacer esto
String cadena2 = new String("Hola"); if (cadena2!=null) if (cadena2.equals("Hola"))

Pg. 4

Juan Chirinos Rios { ... }

Manual de MySQL

Ordenar cadenas con compareTo()


Si lo que queremos es comparar cadenas para ordenarlas, una opcin es usar el mtodo compareTo() de la clase String. Este mtodo devuelve 0 si ambas cadenas tienen el mismo contenido, negativo si el String es menor -va antes- que el parmetro que se le pasa y positivo si es mayor. Es decir
if (cadena1.compareTo(cadena2) == 0) System.out.println("cadena1 y cadena2 son iguales"); else if (cadena1.compareTo(cadena2) < 0) System.out.println ("cadena1 va antes que cadena2"); else if (cadena1.compareTo(cadena2) > 0) System.out.println("cadena2 va despus que cadena1");

Ordenar con Collator


El problema de compareTo() es que compara segn estn ordenados los caracteres en la tabla de caracteres que se usen. Por ello, una A mayscula va antes que una a minscula y esta va antes que una con acento. Si queremos un orden alfabtico real, dependiendo del idioma en el que estemos, debemos usar la clase Collator. Esta clase s realiza una comparacin alfabtica tal cual la entendemos los humanos. Podemos configurarla para que trabaje igual que el compareTo() -es decir, '', 'A' y 'a' son distintas-, para que considere A y a iguales entre s, pero distintas de o bien para que considere que las tres son iguales. Una constantes define este comportamiento Collator.PRIMARY considera distintas dos letras si la letra base es distinta. Es decir, seran iguales A, a y , puesto que en todos casos la letra base es la a. Collator.SECUNDARY considera iguales maysculas y minsculas, pero distintas si tienen acento. Collator.TERCIARY considera distintas las tres letras. Collator.IDENTICALLY slo las considera iguales si su cdigo por debajo. Por ejemplo, se puede codificar internamente una con acento de varias formas. Con este nivel, se consideraran distintas, aunque ambas se vean como con acento. Un ejemplo de cdigo
Collator comparador = Collator.getInstance(); comparador.setStrength(Collator.PRIMARY); // Estas dos cadenas son iguales System.out.println(comparador.compare("Hla", "hola"));

Pg. 5

Juan Chirinos Rios

Manual de MySQL

comparador.setStrength(Collator.SECUNDARY); // Ahora son distitnas por el acento System.out.println(comparador.compare("Hla", "hola")); // pero estas otras dos son iguales System.out.println(comparador.compare("Hola", "hola")); comparador.setStrength(Collator.TERCIARY); // Ahora son distintas por la mayscula System.out.println(comparador.compare("Hola", "hola")); // pero estas s son iguales System.out.println(comparador.compare("hola", "hola"));

Pg. 6

Das könnte Ihnen auch gefallen