You are on page 1of 30

Antes de empezar a crear una base de datos comprueba si existe alguna base de datos con el nombre que vas

a crear. Revisa esto con la sentencia SHOW: mysql> show databases; Este ejemplo listar las bases de datos disponibles. Por favor ten en cuenta que MySQL es sensible al uso de maysculas. As que puedes dar el ejemplo con diferentes maysculas tambin. As que show dataBASES; , SHOW dataBASES; tambin funcionar. Una vez que has confirmado que no tienes ninguna base de datos con el nombre que quieres crear, entonces puedes crear tu propia base de datos con, mysql> create database sample;

Si quieres crear tablas para una base de datos primero tiene que seleccionar la base de datos. Para seleccionar la base de datos tienes que introducir el siguiente ejemplo:
mysql> USE sample; Database changed

Aqu sample es la database (base de datos) que tu quieres seleccionar. El comando USE no necesita un punto y coma al final del ejemplo. Puedes usar el siguiente comando para ver la actual base de datos a la que ests conectado:
mysql> select database(); +------------+ | database() | +------------+ | sample | +------------+

Entiende las diferencias entre Usar una Base de Datos y Seleccionar una Base de Datos () ya que la primera es seleccionar una base de datos y la ltima mostrar la actualmente seleccionada. Despus de seleccionar la base de datos tu puedes crear tablas y otras operaciones similares. Nota : Tienes que seleccionar la base de datos usando la sentencia USE cada vez que entras en Mysql server o cuando quieres cambiar la base de datos. Si escribes el ejemplo siguiente podrs ver una informacin como Empty set (por ejemplo) no hay tablas en la seleccionada base de datos. mysql> show tables; Empty set (0.00 sec)
Las bases de datos pueden ser reemplazadas o eliminadas usando la sentencia DROP. El siguiente ejemplo elimina la base de datos de muestra. mysql> drop database sample; Query OK, 1 row affected (0.05 sec)

Este ejemplo borrar la muestra de base de datos. El ejemplo eliminar permanentemente la base de datos. DROP DATABASE suelta todas las tablas de la base de datos y borra la base de datos. Una vez que el comando DROP es usado, entonces no podemos usar esa base de datos. As que debemos ser cuidadosos con esta sentencia.

Tipos de Datos : Definicin : Tipos de Datos es la caracterstica de las columnas y variables que definen que tipos de valores de datos pueden albergar. La caracterstica indica cuando un dato representa un nmero, fecha, un carcter string, etc. Los tipos de Datos son usados para indicar el tipo de campo que estamos creando en la tabla. MySQL soporta un nmero de tipos de datos en tres categoras importantes:

Tipos Numricos Tipos de Fecha y Hora Tipos String(Carcter)

Antes de crear una tabla, identifica si en la columna debe ir un texto, un nmero o un tipo de fecha. Cada columna en una tabla est hecha de tipos de datos. El tamao del valor deber ser el valor ms pequeo dependiendo del valor ms grande. Por ejemplo, si el nmero de estudiantes de un colegio est en cientos, establece la columna con una cifra de tres dgitos SMALLINT(permitiendo hasta 999 valores). Debemos ser conscientes de que si insertamos un string de cinco caracteres en un campo de (3) caracteres, los dos caracteres finales sern truncados. Es mejor establecer una longitud para texto y nmero de columnas as como otros atributos como UNSIGNED. Los corchetes ('[' y ']') indican partes optionales del tipo de definiciones. Ahora nos iremos levemente a una visin general de los tipos de datos MySQL. Tipo de Datos Numricos : Los tipos de datos numricos son como sigue:

BIT SMALLINT INTEGER DOUBLE

TINYINT MEDIUMINT BIGINT DECIMAL

BOOLEAN INT FLOAT

Vamos a ver los tipos de datos numricos de manera abreviada.

BIT : BIT es un sinnimo de TINYINT(1). TINYINT[(M)] : Un nmero entero muy pequeo. El rango suscrito va de -128 a 127. El rango no suscrito va de 0 a 255. BOOL, BOOLEAN :

Estos tipos son sinnimos de TINYINT(1). Un valor para cero es considerado falso. Valores que no sean cero son considerados verdad. SMALLINT : Un nmero entero pequeo. El rango suscrito va de -32768 a 32767. El rango no suscrito va de 0 a 65535. MEDIUMINT : Un nmero entero de tamao medio. El rango suscrito va de -8388608 a 8388607. El rango no suscrito va de 0 a 16777215. INT : Un nmero entero de tamao normal. El rango suscrito va de 2147483648 to 2147483647. El rango no suscrito va de 0 a4294967295. INTEGER : Este tipo es sinnimo de INT. BIGINT : Un nmero entero grande. El rango suscrito va de 9223372036854775808 a 9223372036854775807. El rango no suscrito va de 0 a 18446744073709551615. FLOAT : Un nmero punto flotante pequeo (simple precisin). Los valores van de 3.402823466E+38 a -1.175494351E-38, 0, y1.175494351E38 a 3.402823466E+38. DOUBLE : Un nmero punto flotante normal (doble precisin). Los valores van de 1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y 2.2250738585072014E-308 a 1.7976931348623157E+308. DECIMAL : El nmero mximo de dgitos (M) para DECIMAL es 64.

Tipos de Datos Fecha y Hora :


DATE :

DATE TIMESTAMP

TIME YEAR

DATETIME

Una Fecha. El rango es 1000-01-01 a 9999-12-31. Los valores de fecha se muestran con el formato YYYY-MM-DD (Ao-Mes-Da).

TIME : Una Hora. El rango es -838:59:59 a 838:59:59. Los valores de hora se muestran con el formato HH:MM:SS. DATETIME : Una combinacin de Fecha y Hora. El rango es 1000-01-01 00:00:00 a 9999-12-31 23:59:59. Los valores fecha hora son mostrados en formato YYYY-MM-DD HH:MM:SS. TIMESTAMP : Una Marca de Tiempo. El rango es 1970-01-01 00:00:01 UTC hasta parcialmente el ao 2037. Una columna TIMESTAMP es tila para grabar la fecha y hora de una operacin INSERT o UPDATE. YEAR : Un Ao. Los valores de ao son mostrados en formato de dos dgitos o de cuatro. El rango de valores para un dgito de cuatro es1901 a 2155. Para los dos dgito, el rango es 70 a 69, representando aos desde 1970 a 2069. Para todas la columnas de fecha y hora, podemos asignar tambin los valores usando strings o nmeros.

String tipos de datos :


CHAR() :

CHAR TEXT LONGTEXT ENUM

VARCHAR BLOB BINARY SET

TINYTEXT MEDIUMTEXT VARBINARY

Es un string de longitud fija que es principalmente usado cuando los datos no van a variar mucho en su longitud. Toma valores de 0 a255 de longitud de caracteres. Cuando almacenamos valores CHAR ellos estn rellenos correctamente con espacios de la longitud especfica. Cuando obtenemos valores CHAR, los espacios finales son eliminados. VARCHAR() : Es una variable string de longitud y es usada principalmente cuando los datos pueden variar en longitud. Toma valores de 0 a 255 de longitud de caracteres. Los valores VARCHAR no son rellenados cuando son ms cortos. TINYTEXT, TINYBLOB : Un string con una longitud mxima de 255 caracteres.

TEXT : Las columnas TEXT son tratadas como caracteres string (strings no binarios). Contiene una longitud mxima de 65535 caracteres. BLOB : BLOB es el acrnimo de Binary Large OBject (Objeto Binario Grande). Puede tener un montn de datos variables. Las columnasBLOB son tratadas como string de bytes (string binarios). Contiene una longitud mxima de 65535.

MEDIUMTEXT, MEDIUMBLOB : Tiene una longitud mxima de 16777215 caracteres. LONGTEXT, LONGBLOB : Tiene una longitud mxima de 4294967295 caracteres. BINARY : BINARY es similar al tipo CHAR. Almacena el valor como string de byte binario en vez de como un caracter string no binario VARBINARY : VARBINARY es similar al tipo VARCHAR. Almacena el valor como un string de bytes binario en vez de como un caracter string no binario. ENUM() : Una enumeracion. Cada columna puede tener uno de los posibles valores especificados. Puede almacenar solo uno de los valores que estn declarados en la lista especfica contenida en los parntesis ( ). La lista ENUM tiene un alcance de ms de 65535 valores.. SET() : Un set. Cada columna puede tener ms de uno de los posibles valores especificados. Contiene ms de 64 objetos de lista y puede almacenar ms de una opcin. Los valores SET son representados internamente como nmeros enteros.

Si CHAR y VARCHAR son usados en la misma tabla, entonces MySQL cambiar automticamente CHAR a VARCHAR por razones de compatibilidad. Los parntesis ( ) permiten introducir un mximo nmero de caractereces que sern usados en la columna.

Explicacin
Creando tablas : Una vez que has seleccionado la base de datos, podemos empezar a crear tablas. La sentencia CREATE es usado para crear una tabla en MySQL con restricciones. Una restriccin es una cohibicin para el comportamiento de una variable. La sintaxis de Create es CREATE TABLE tableName ( fieldName1 dataType(size) [NULL | NOT NULL] fieldName2 dataType(size) [NULL | NOT NULL] ); Si NULL est especificado, el campo se puede dejar vaco. Si NOT NULL est especificado, el campo debe tener un valor. En ausencia de NULL o NOT NULL, NULL es asumido. El ejemplo siguiente te ayudar a crear una tabla: CREATE TABLE student ( studID INT(5), name VARCHAR(30), ); El ejemplo de la tabla de arriba crear una tabla student con campos ID y Name. PRIMARY KEY : PRIMARY KEY es un campo en una tabla que identifica unicamente un registro. Este atributo es usado para definir el nombre del campo para crear una clave primaria. Ejemplo : fieldName INT UNSIGNED AUTO_INCREMENT PRIMARY KEY La PRIMARY KEY est especificada despues de definir los campos en el ejemplo siguiente: CREATE TABLE student ( studID INT UNSIGNED AUTO_INCREMENT, name VARCHAR(30), PRIMARY KEY(studID) ); Tambin podemos crear una clave primaria compuesta. Una clave primaria compuesta es cuando ms de un campo es usado para identificar nicamente un registro. Vamos a crear una tabla para mantener los detalles de student en una clase. mysql> create table student(studid int(10), name varchar(20), address varchar(40), phone int(10)); Query OK, 0 rows affected (0.05 sec)

Tabla Desc : Podemos examinar la estructura de una tabla usando la sentencia DESCRIPTION o DESC. El ejemplo siguiente describe ula estructura de la tabla student. mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) Tambin podemos usar la sentencia SHOW FIELDS FROM para mostrar la misma estructura. mysql> SHOW FIELDS FROM student; Listando Tablas : Podemos listar todas las tablas en la base de datos usando el ejemplo SHOW TABLES. El siguiente ejemplo listar las tablas en la actual base de datos. mysql> show tables; +--------------------+ | Tables_in_sample | +--------------------+ | student | +--------------------+ 1 row in set (0.00 sec)

Borrando tablas : La sentencia DROP es usada para borrar una o ms tablas completamente de la base de datos. La sintaxis es DROP TABLE tbl_name El ejemplo siguiente borrar la tabla student mysql> drop table student; Query OK, 0 rows affected (0.00 sec) Este ejemplo eliminar o borrar la tabla student. DROP TABLE este ejemplo suelta todos los campos de una tabla y borra la tabla. Una vez que se usa la sentencia DROP TABLE, no podemos usar esa tabla. As que debemos ser cuidadosos con esta sentencia.

Renombrando tablas : La sentencia RENAME es usada para renombrar una o ms tablas en una base de datos. La sintaxis es RENAME TABLE tbl_name TO new_tbl_name

[, tbl_name2 TO new_tbl_name2] ... El siguiente ejemplo de muestra renombra la tabla de student como tabla class. mysql> rename table student to class; Query OK, 0 rows affected (0.00 sec) Ahora podemos ver la tabla si el nombre es cambiado con el ejemplo siguiente.

mysql> show tables; +--------------------+ | Tables_in_sample | +--------------------+ | class | +--------------------+ 1 row in set (0.00 sec) Si el ejemplo renombra ms de una tabla, las operaciones de renombrar van de izquierda a derecha. Podemos tambien alternar dos nombres de tablas. Vamos a asumir la tabla tmp que no existe. Ejemplo : RENAME TABLE emp1 TO tmp, emp2 TO emp1, tmp TO emp2; Podemos tambin usar RENAME TABLE para mover la tabla de una base de datos a otra. Ejemplo : RENAME TABLE current_db.tbl_name TO other_db.tbl_name; ALTER TABLE : ALTER TABLE es usado para cambiar la estructura de una tabla existente. Podemos aadir o borrar columnas, cambiar el tipo de las columnas existentes, o renombrar las columnas o la tabla misma. Tambin podemos cambiar el comentario de la tabla y el tipo de tabla. La Sintaxis es ALTER TABLE tbl_name alter_specification [, alter_specification] ... La siguiente tabla describe la especificacion Alter

Especificacin Alter Rename Add Add First Add After Drop Change Change Type Modify

Descripcin Renombra el nombre de una Tabla Aade una columna nueva, clave, ndice Aade una columna First Aade una columna After Suelta una columna, ndice, clave Cambia el nombre de una columna Cambia el tipo de columna Modifica el tipo de columna

Renombrando una Tabla : Podemos RENOMBRAR la tabla usando ALTER TABLE. El siguiente ejemplo renombra la tabla student a class. mysql> ALTER TABLE student RENAME class; El ejemplo de arriba cambiar el nombre de la tabla. Aadiendo una columna a una tabla: Para hacerlo el modificador ADD COLUMN es utilizado para aadir una columna a una tabla. El siguiente ejemplo aade un campo llamado marks a la tabla student. mysql> ALTER TABLE student ADD COLUMN marks INT(10); Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | | marks | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) A continuacin veremos las alteraciones al mostrar las tablas. Aadir una columna First : Podemos posicionar el campo usando los modificadores FIRST y AFTER. El siguiente ejemplo colocar el nuevo campo como el primer campo de la tabla. mysql> ALTER TABLE student ADD COLUMN marks INT(10) FIRST; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | marks | int(10) | YES | | NULL | | | studid | int(10) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) Aadir una columna After : Tambin podemos poner el nuevo campo al lado de cualquier otro campo. El siguiente ejemplo colocar el nuevo campo inmediatamente despus del nombre del campo.

mysql> ALTER TABLE student ADD COLUMN marks INT(10) AFTER names; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | marks | int(10) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) Despus veremos como borrar y cambiar un campo. Borrar una columna: DROP COLUMN es usado para borrar una columna de una tabla. La sintaxis es as ALTER TABLE tbl_name DROP col_name; Lo siguiente deja caer las marcas de campo. mysql> ALTER TABLE student DROP COLUMN marks; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) Cambiar el nombre de una columna: Cuando modificamos una columna, tenemos que especificar el atributo de la columna de nuevo. El siguiente ejemplo renombra el nombre del campo a stud_name en la tabla de estudiante. mysql> ALTER TABLE student CHANGE name stud_name VARCHAR(20); Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | stud_name | varchar(20) | YES | | NULL | | | marks | int(10) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) Cambiar el nombre de una columna: Si queremos cambiar el atributo solo, podemos usar la mimsa columna como en el siguiente ejemplo. mysql> alter table student change name name varchar(40); Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student;

+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(40) | YES | | NULL | | | marks | int(10) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)

Modificar un tipo de columna: La variable modify tambin es usada para cambiar el tipo de columna de una tabla, como el anterior ejemplo. El ejemplo siguiente modificar el tipo de columna.

mysql> alter table student modify name varchar(40); Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc student; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | studid | int(10) | YES | | NULL | | | name | varchar(40) | YES | | NULL | | | marks | int(10) | YES | | NULL | | | address | varchar(40) | YES | | NULL | | | phone | int(10) | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)

INSERT STATEMENT : INSERT es usado para insertar nuevas filas o datos en una tabla existente. La sintaxis de Insert es INSERT INTO tbl_name VALUES[(col_name,...)]; Si el tipo de datos no es mencionado considerar valores NULL. El siguiente ejemplo aadir los valores como studid, nombre, notas, direccin y nmero de Telfono en la tabla student. mysql> insert into student values(1, "steve", 100, "5th cross street", 2456987); Query OK, 1 row affected (0.01 sec) INSERT...SET STATEMENT : INSERT...SET tambin es usado para insertar valores usando el nombre de la columna. La sintaxis es INSERT INTO tbl_name SET col_name = expr,.....; Vamos a tomar los mismos valores insertando en la tabla student. mysql> insert into student set studid=1, name='steve', marks=100, address='5th cross

street', phone=2456987; Query OK, 1 row affected (0.03 sec) INSERT STATEMENT FOR MULTIPLE ROWS : Podemos insertar mltiples filas en una tabla usando una sentencia simple INSERT. La Sintaxix es INSERT INTO tbl_name(col_name1, col_name2,...) VALUES(expr1, expr2,.....;), (expr1a, expr2a,.....;) Ejemplo : mysql> insert into student(studid,name,marks,address,phone) values(3,'michael',75,'edinburgh',2598234), (4,'jack',82,'victoria street',2436821), (5,'anne',100,'downing street',2634821); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 El ejemplo de arriba insertar tres detalles para students en la tabla student. Este ejemplo ser til mientras se inserta una gran cantidad de datos en una tabla especfica. Auto Increment : El atributo auto increment es usado para genera un identificador para las filas introducidas. Vamos a ver un ejemplo usando auto increment. mysql> create table stud(id bigint not null unique auto_increment, name char(20)); Query OK, 0 rows affected (0.03 sec) En el ejemplo de arriba, hemos creado una tabla stud y hemos asignado autoincrement al campo llamado id. Ahora podemos insertar valores para el campo solo como en el ejemplo siguiente. mysql> insert into stud(name) values ('anne'),('michael'),('james'), ('rajesh'),('harry'); Query OK, 5 rows affected (0.05 sec) Records: 5 Duplicates: 0 Warnings: 0 Ahora si seleccionamos la tabla, el campo nombrado id se incrementar automticamente como se muestra a continuacin. mysql> select * from stud; +----+---------+ | id | name | +----+---------+ | 1 | anne | | 2 | michael | | 3 | james | | 4 | rajesh | | 5 | harry | +----+---------+ 5 rows in set (0.00 sec)

Contando Filas : COUNT(*) cuenta el nmero de filas de una tabla. La sintaxis es SELECT COUNT(*) from tbl_name; Ejemplo : mysql> select count(*) from student;

+----------+ | count(*) | +----------+ | 5 | +----------+ 1 row in set (0.00 sec) El ejemplo superior listar el nmero de filas en la tabla student. Despus de insertar datos en la tabla, probablemente queramos revisar si los datos estn guardados correctamente. Para hacer, usamos la sentencia SELECT. La Sintaxis de Select es SELECT what_to_select from tbl_name; Para ver todos los datos de la tabla, usamos el ejemplo siguiente.

mysql> select * from student; +--------+---------+-------+------------------+---------+ | studid | name | marks | address | phone | +--------+---------+-------+------------------+---------+ | 1 | steve | 100 | 5th cross street | 2456987 | | 2 | david | 98 | welling street | 547896 | | 3 | michael | 75 | edinburgh | 2598234 | | 4 | jack | 82 | victoria street | 2436821 | | 5 | anne | 100 | downing street | 2634821 | | 6 | steve | 75 | downing street | 2874698 | | 7 | anne | 80 | edinburgh | 2569843 | | 8 | mille | 98 | victoria street | 1236547 | +--------+---------+-------+------------------+---------+ 8 rows in set (0.00 sec) El ejemplo de arriba listar los detalles completos de la tabla student. Aqui * seleccionar todas las columnas de la tabla. LIMIT : La clsula LIMIT puede ser usada para acotar el nmero de filas devueltas por la sentencia SELECT. Toma uno o dos argumentos numricos, que deben ser nmeros enteros constantes no negativos. Veamos un ejemplo de muestra para la sentencia SELECT LIMIT. mysql> select * from student limit 2,5; +--------+---------+-------+-----------------+---------+ | studid | name | marks | address | phone | +--------+---------+-------+-----------------+---------+ | 3 | michael | 75 | edinburgh | 2598234 | | 4 | jack | 82 | victoria street | 2436821 | | 5 | anne | 100 | downing street | 2634821 | | 6 | steve | 75 | downing street | 2874698 | | 7 | anne | 80 | edinburgh | 2569843 | +--------+---------+-------+-----------------+---------+ 5 rows in set (0.00 sec) Aqu el primer argumento del ejemplo especifica el ajuste de la primera fila a devolver, y el segundo especifica el mximo nmero de filas a devolver. Por tanto devuelve las filas de la 3 a la 7 de la tabla student. Tambin podemos devolver valores del principio del resultado especificando el nmero de filas en un simple argumento como el siguiente. mysql> select * from student limit 5; +--------+---------+-------+------------------+---------+ | studid | name | marks | address | phone | +--------+---------+-------+------------------+---------+ | 1 | steve | 100 | 5th cross street | 2456987 |

| 2 | david | 98 | welling street | 547896 | | 3 | michael | 75 | edinburgh | 2598234 | | 4 | jack | 82 | victoria street | 2436821 | | 5 | anne | 100 | downing street | 2634821 | +--------+---------+-------+------------------+---------+ 5 rows in set (0.08 sec) El ejemplo superior devuelve las cinco primeras filas de la tabla student. Podemos seleccionar una columna en particular para ver, obtener las filas enteras. Supn que quieres ver el nombre del student solo; para ello usamos el ejemplo siguiente. mysql> select name from student; +---------+ | name | +---------+ | steve | | david | | michael | | jack | | anne | | steve | | anne | | mille | +---------+ 8 rows in set (0.27 sec) Podemos tambin seleccionar mltiples columnas, separando con comas como en el ejemplo siguiente. mysql> select name, marks from student; +---------+-------+ | name | marks | +---------+-------+ | steve | 100 | | david | 98 | | michael | 75 | | jack | 82 | | anne | 100 | | steve | 75 | | anne | 80 | | mille | 98 | +---------+-------+ 8 rows in set (0.03 sec) En el ejemplo de arriba, hemos seleccionado name y marks de la tabla student. En las muestras precedentes, el ejemplo para las filas seleccionadas son mostradas en orden no particular. Tambien podemos seleccionar las filas mostrandose en un formato ordenado usando la clusula ORDER BY. El siguiente ejemplo de muestra ordenar las filas en orden ascendente segn las marks. mysql> select name, marks from student order by marks; +---------+-------+ | name | marks | +---------+-------+ | michael | 75 | | steve | 75 | | anne | 80 | | jack | 82 | | david | 98 | | mille | 98 | | steve | 100 | | anne | 100 | +---------+-------+ 8 rows in set (0.03 sec) Tambin podemos ordenar las filas en orden descendente. En el ejemplo siguiente de muestra las marks son ordenadas en orden descendente.

mysql> select name, marks from student order by marks desc; +---------+-------+ | name | marks | +---------+-------+ | steve | 100 | | anne | 100 | | david | 98 | | mille | 98 | | jack | 82 | | anne | 80 | | michael | 75 | | steve | 75 | +---------+-------+ 8 rows in set (0.00 sec) Ahora veremos cmo podemos ordenar mltiples columnas. Tambin podemos ordenar mltiples columnas en diferentes direcciones como se muestra en el ejemplo siguiente.

mysql> select name, marks, address from student order by name, marks desc; +---------+-------+------------------+ | name | marks | address | +---------+-------+------------------+ | anne | 100 | downing street | | anne | 80 | edinburgh | | david | 98 | welling street | | jack | 82 | victoria street | | michael | 75 | edinburgh | | mille | 98 | victoria street | | steve | 100 | 5th cross street | | steve | 75 | downing street | +---------+-------+------------------+ 8 rows in set (0.00 sec) Aqu hemos seleccionado tres columnas, name, marks y address. En este ejemplo hemos ordenado la columna name solo en orden ascendente y hemos mencionado adicionalmente marks en orden descendente. As que si hay iguales name, la nota ms alta ser tomada como primera prioridad. En el ejemplo anterior, hay 2 anne, as que la anne con la mayor mark se mostrar primero. Podemos seleccionar una fila en particular usando la clusula sentencia WHERE. Tambin podemos revisar cualquier condicin usando la clusula o palabra clave WHERE. Donde la condicin viene de la mano cuando estamos usando una tabla grande con muchos y grandes volmenes de datos pero puede que queramos ver solo un nmero pequeo de filas que satisfagan una condicin. La sintaxis de select where eis SELECT what_to_select FROM tbl_name WHERE conditions_to_satisfy; Aqu conditions_to_satisfy especifica una o ms condiciones que las filas deben satisfacer para clasificarse y aparecer. Veamos un ejemplo de muestra para obtener un dato simple de student usando WHERE. mysql> select * from student where name = 'jack'; +--------+------+-------+-----------------+---------+ | studid | name | marks | address | phone | +--------+------+-------+-----------------+---------+ | 4 | jack | 82 | victoria street | 2436821 | +--------+------+-------+-----------------+---------+ 1 row in set (0.00 sec)

Aqu en el ejemplo de muestra de arriba hemos obtenido detalles simples para student. Supon que si queremos recivier los detalles de 'studen' que hayan aprobados ms de 90 notas, podemos usar el ejemplo siguiente. mysql> select * from student where marks > 90; +--------+-------+-------+------------------+---------+ | studid | name | marks | address | phone | +--------+-------+-------+------------------+---------+ | 1 | steve | 100 | 5th cross street | 2456987 | | 2 | david | 98 | welling street | 547896 | | 5 | anne | 100 | downing street | 2634821 | | 8 | mille | 98 | victoria street | 1236547 | +--------+-------+-------+------------------+---------+ 4 rows in set (0.05 sec)

Algunas veces podemos necesitar ver la tabla con un carcter comparable. En MySQL usamos LIKE o NOT LIKE para la comparacin. EIn MySQL los patrones son sensibles a las maysculas por defecto. Let us consider an example query to display the student names starting with the letter M.

mysql> select * from student where name like 'm%'; +--------+---------+-------+-----------------+---------+ | studid | name | marks | address | phone | +--------+---------+-------+-----------------+---------+ | 3 | michael | 75 | edinburgh | 2598234 | | 8 | mille | 98 | victoria street | 1236547 | +--------+---------+-------+-----------------+---------+ 2 rows in set (0.01 sec) En el ejemplo de muestra de arriba listar todos los nombres que empiecen por M de la tabla student. El ejemplo de muestra siguiente listar los nombres que acaben por la letra e. mysql> select * from student where name like '%e'; +--------+-------+-------+------------------+---------+ | studid | name | marks | address | phone | +--------+-------+-------+------------------+---------+ | 1 | steve | 100 | 5th cross street | 2456987 | | 5 | anne | 100 | downing street | 2634821 | | 6 | steve | 75 | downing street | 2874698 | | 7 | anne | 80 | edinburgh | 2569843 | | 8 | mille | 98 | victoria street | 1236547 | +--------+-------+-------+------------------+---------+ 5 rows in set (0.00 sec) Tambin podemos listar los nombres que contienen una letra especfica en cualquier lugar. El siguiente ejemplo de muestra listar los nombres que contienen la letra "a". mysql> select * from student where name like '%a%'; +--------+---------+-------+-----------------+---------+ | studid | name | marks | address | phone | +--------+---------+-------+-----------------+---------+ | 2 | david | 98 | welling street | 547896 | | 3 | michael | 75 | edinburgh | 2598234 | | 4 | jack | 82 | victoria street | 2436821 | | 5 | anne | 100 | downing street | 2634821 | | 7 | anne | 80 | edinburgh | 2569843 | +--------+---------+-------+-----------------+---------+ 5 rows in set (0.00 sec) Supn que si queremos encontrar nombres que contienen exactamente cinco caracteres, usaremos una carater especial "_" (guin bajo). El siguiente ejemplo de muestra listar todos los nombres de cinco letras de la tabla student. mysql> select * from student where name like '_____'; +--------+-------+-------+------------------+---------+

| studid | name | marks | address | phone | +--------+-------+-------+------------------+---------+ | 1 | steve | 100 | 5th cross street | 2456987 | | 2 | david | 98 | welling street | 547896 | | 6 | steve | 75 | downing street | 2874698 | | 8 | mille | 98 | victoria street | 1236547 | +--------+-------+-------+------------------+---------+ 4 rows in set (0.00 sec)

Group By : La clusula Group by clause es usada para mostrar las filas y columnas agrupadas por columnas selectivas. Puede usarse para ver las funciones agregadas, como count(). El siguiente ejemplo de muestra listar el nombre del student y tambin contar los nombres repetidos usando Group By en la sentencia select. mysql> select name, count(name) from student group by name; +-------+-------------+ | name | count(name) | +-------+-------------+ | anne | 2 | | david | 1 | | jack | 1 | | mille | 1 | | steve | 2 | +-------+-------------+ 5 rows in set (0.03 sec) El ejemplo siguiente mostrar el nombre y la suma d elas notas del student usando la clusula groupby. mysql> select name,sum(marks),count(*) from students group by name; +----------+------------+----------+ | name | sum(marks) | count(*) | +----------+------------+----------+ | anne | 175 | 2 | | maichael | 82 | 1 | | mike | 182 | 2 | | rock | 100 | 1 | | steve | 175 | 2 | +----------+------------+----------+ 5 rows in set (0.00 sec)

Sentencia UPDATE : El ejemplo UPDATE es usado para cambiar o modificar los valores de la tabla existentes. La sintaxis Update es

UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_condition]; El ejemplo UPDATE actualiza las columnas de las filas existentes en una tabla con los nuevos valores. La clusula SET es usada para indicar qu columnas sern modificadas. La clusula WHERE es usada para especificar las condiciones que identificarn las filas a actualizar. El siguiente ejemplo establecer la address de student a una nueva address. mysql> update student set address='welling street' where address='victoria street'; Query OK, 1 row affected (0.03 sec)

Rows matched: 1 Changed: 1 Warnings: 0 Pero esto establecer todas las address de students que alguna vez vivieron en vitoria street cambiarn a welling street. Supn que si queremos establecer la address de un solo student a una nueva address entonces podemos coger la opcin siguiente. mysql> update student set address='welling street' where name='jack'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 Si queremos cambiar una mark de student tambin podemos usar lo siguiente. mysql> update student set marks=100 where name='david'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 Esto tambin se puede escribir como sigue. mysql> update student set marks=marks+2 where name='david'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 En la sentencia UPDATE podemos usar tambin operaciones aritmticas.

Sentencia DELETE : El ejemplo de borrado es usado para borrar los valores de una tabla. La sintaxis es

DELETE FROM tbl_name [WHERE where_condition]; La sentencia DELETE borrar las filas de la tabla tbl_name y devuelve el nmero de filas borradas. La clusula WHERE es usada para especificar las condiciones que identifican qu filas sern borradas. Si la sentencia DELETE est sin la clusula WHERE, todas las filas sern borradas. Ahora veamos un ejemplo para la sentencia DELETE. mysql> delete from student where name='michael'; Query OK, 1 row affected (0.00 sec) El ejemplo de arriba borrar la grabacin para el "student" Michael de la tabla. Tambin podemos borrar todos los valores en la tabla como el ejemplo siguiente. mysql> delete from student; Query OK, 8 rows affected (0.00 sec) El ejemplo de arriba borrar todas las grabaciones de la tabla de estudiantes.

Precedencia de Operador : Los operadores son usado para operar con dos operandos. Una amplia coleccin de Operadores estn disponibles en MySQL. Los operadores precedentes son mostrados en esta tabla. Preced. Mayor := 1 2 3 ||, OR, XOR &&, AND BETWEEN, CASE, WHEN, THEN, ELSE

4 5 6 7 8 9 10 11 12 Menor

=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN | & <<, >> -, + *, /, DIV, %, MOD ^ - (unary minus), ~ (unary bit inversion) !, NOT BINARY, COLLATE

Si una sentencia contiene parntesis, entonces las operaciones dentro del parntesis van primero. Estos operadores sern explicados en las siguientes secciones. sections. Tipo de Conversin : Tipo de conversin tiene lugar cuando los operadores son usados con diferentes tipos de operandos en una expresin. Algunas conversiones son hechas implcitamente y algunas necesitan conversiones explcitas. En MySQL los nmeros son convertidos a strings y algunas veces los strings en nmeros dependiendo de la condicin. Consideremos un ejemplo parar convertir un string en un entero. mysql> Select 1+'11'; --> 12 Aqu el string '11' es convertido a nmero y el resultado de la expresin es tambin un nmero. Veamos otro ejemplo para convertir un entero en un string. mysql> select concat(1, ' HIOX'); --> '1 HIOX' No podemos convertir fundir un nmero en un string explicitamente. Aqu usamos la funcin CAST() o CONCAT().

mysql> select 12, cast(12 as char); --> 12, '12' mysql> select 12, concat(12); --> 12, '12'

Operador Lgico : MySQL soporta las siguientes operaciones lgicas :

Operado AND(&&) Operador OR(||) Operador NOT(!)

Operador AND(&&) : El operador lgico AND(&&) indica si ambos operandos son verdad. Vamos a ver una sentencia usando el operador AND.

mysql> select studid, name from student where marks > 80 and marks < 100; (or) mysql> select studid, name from student where marks > 80 && marks < 100; +--------+-------+ | studid | name | +--------+-------+ | 4 | jack | | 8 | mille | +--------+-------+ 2 rows in set (0.00 sec) En el ejemplo de arriba se listar el studid y name del student que ha asegurado ms de 80 y menos de 100. Operador OR(||) : El operador lgico (||) indica si cada operando es verdad. Vamos a ver una sentencia usando el operador OR. mysql> select name, marks, address from student where name like 'a%' or name like 's%'; (or) mysql> select name, marks, address from student where name like 'a%' || name like 's%'; +-------+-------+------------------+ | name | marks | address | +-------+-------+------------------+ | steve | 100 | 5th cross street | | anne | 100 | downing street | | steve | 75 | downing street | | anne | 80 | edinburgh | +-------+-------+------------------+ 4 rows in set (0.00 sec) En la sentencia de arriba se listar name, marks y address de student donde el name empieza con las letras A y S. Operador NOT(!) : El operador lgico NOT(!) slo tiene un operando y devuelve el valor inverso. mysql> select * from student where not (studid=1); (or) mysql> select * from student where ! (studid=1); +--------+-------+-------+-----------------+---------+ | studid | name | marks | address | phone | +--------+-------+-------+-----------------+---------+ | 2 | david | 100 | welling street | 547896 | | 4 | jack | 82 | welling street | 2436821 | | 5 | anne | 100 | downing street | 2634821 | | 6 | steve | 75 | downing street | 2874698 | | 7 | anne | 80 | edinburgh | 2569843 | | 8 | mille | 98 | victoria street | 1236547 | +--------+-------+-------+-----------------+---------+ 6 rows in set (0.00 sec) Listar todos los detalles de student excepto el studid 1. Operador de Comparacin: El operador de comparacin es usado para comparar expresiones o valores. El resultado de comparacin ser o Verdadero (1) o Falso (0). MySQL admite los siguientes operadores de comparacin:

EQUAL(=) LESS THAN OR EQUAL(<=) GREATER THAN OR EQUAL(>=) BETWEEN

LESS THAN(<) GREATER THAN(>) NOT EQUAL(<>,!=) GREATEST

=:

Igual.

mysql> select 1 = 0; --> 0 mysql> select 0.0 = 0; --> 1 <: Menos que. mysql> select 4.5 < 5; --> 1 mysql> select 1.1 < 1; --> 0 <= : Menor que o igual. mysql> select 2.2 <= 2.2; --> 1 mysql> select 2.2 <= 2.1; --> 0 >: Greater than. mysql> select 7 > 2; --> 1 mysql> select 4 > 4.1; --> 0 >= : Mayor que o igual. mysql> select 10 >= 10; --> 1 mysql> select 4.4 >= 4.5; --> 0 <>, != : Diferente. mysql> select 8 <> 8; --> 0 mysql> select 7 != 7.7; --> 1 expr BETWEEN min AND max : Si expr es mayor que o igual a min y expr es menor que o igual a max, BETWEEN devuelve 1, de otra forma devuelve 0. mysql> select 5 between 5 and 6; --> 1 mysql> select 'N' between 'M' and 'O'; --> 1 Es igual para expr NOT BETWEEN min AND max, pero con Not. GREATEST(value1,value2,...) : Este operador devuelve el argumento mayor, comparado con dos o ms argumentos. mysql> select greatest('N', 'M', 'O'); --> O mysql> select greatest(1, 2); --> 2 La misma regla se aplica buscando el LEAST().

Funciones Numricas : Una funcin numrica consiste en dos secciones principales. Estas son :

Operaciones Aritmticas Funciones Matemticas

Vamos a hablar acerca de las operaciones Aritmticas. Arithmetic Operations : En MySQL, tenemos las operaciones Aritmticas usuales. Veamos los operadores aritmticos uno a uno con un ejemplo. Addition (+) : mysql> select 5+5; --> 10 Subtraction (-) : mysql> select 25-18; --> 7 Multiplication (*) : mysql> select 4*4; --> 16 Division (/) : mysql> select 5/3; --> 1.67 Ahora vamos a las funciones Matemticas. Funciones Matemticas :

ABS COS FORMAT LOG10 RAND TAN

ACOS COT LN MOD ROUND TRUNCATE

ASIN DEGREES LOG PI SIGN

ATAN EXP LOG(B,X) POWER SIN

CEIL FLOOR LOG2 RADIANS SQRT

Ahora vamos a ver algunas funciones Matemticas con un ejemplo. ABS(X) : Esta funcin devuelve el valor Absoluto para el valor dado. mysql> select abs(5); --> 5 mysql> select abs(-25); --> 25 ACOS(X) : Devuelve el valor arco coseno de el nmero dado. mysql> select acos(0); --> 1.5707963267949

mysql> select acos(1); --> 0 ASIN(X) : Devuelve el valor arco seno para el nmero dado. mysql> select asin(1); --> 1.5707963267949 mysql> select asin(0); --> 0 ATAN(X) : Devuelve el valor de la arcotangente para el valor dado. mysql> select atan(1); --> 0.78539816339745 mysql> select atan(2); --> 1.1071487177941 CEIL(X) or CEILING(X) : Devuelve el nmero entero ms pequeo ms prximo al valor dado pero no inferior a este. mysql> select ceil(1.14); --> 2 mysql> select ceiling(-1.14); --> -1 COS(X) : Devuelve el Coseno de X, donde X viene dado en radianes. mysql> select cos(pi()); --> -1 mysql> select cos(0); --> 1 COT(X) : Devuelve el valor de la cotangente de X. mysql> select cot(1); --> 0.64209261593433 mysql> select cot(45); --> 0.61736962378356

Funciones Matemticas : Ahora veamos funciones Matemticas con un ejemplo. DEGREES(X) : Esta funcin devuelve la sentencia X, convertida de radianes a grados. mysql> select degrees(pi()); --> 180 mysql> select degrees(0.78539816339745); --> 45 EXP(X) : Devuelve el valor de la base de logaritmos(e) naturales elevados a la potencia de X. mysql> select exp(-1); --> 0.36787944117144 mysql> select exp(1);

--> 2.718281828459 FLOOR(X) : Devuelve el valor entero ms grande no mayor que X. mysql> select floor(5.68); --> 5 mysql> select floor(-1.26); --> -2 FORMAT(X,D) : Cambia el formato del nmero dado en formato ##,###.##, redondeado a D espacios decimales. mysql> select format(7895423.23478,2); --> 7,895,423.23 mysql> select format(1287654.458,0); --> 1,287,654 LN(X) : Devuelve el logaritmo natural de X, la base-e del logaritmos de X. mysql> select ln(3); --> 1.0986122886681 mysql> select ln(-1); --> NULL LOG(X) : Esta funcin devuelve el logaritmo natural de X, si contiene un parmetro simple. mysql> select log(1); --> 0 mysql> select log(-2); --> NULL LOG(B,X) : Si contiene dos parmetros, entonces devuelve el logaritmos natural de X para una base arbitraria B. mysql> select log(3,4512); --> 7.659204143237 mysql> select log(1,250); --> NULL

Funciones Matemticas : Veamos algunas funciones Matemticas con un ejemplo. LOG2(X) : Devuelve el logarito de base 2 de X. mysql> select log2(7215); --> 12.816783679379 mysql> select log2(-10); --> NULL LOG10(X) : Devuelve el logaritmo de base 10 de X. mysql> select log10(5); --> 0.69897000433602 mysql> select log10(-5);

--> NULL MOD(N,M), N % M, N MOD M : Esta funcin devuelve el resto de N dividido por M. mysql> select mod(123, 10); --> 3 mysql> select 111 % 8; --> 7 mysql> select 45 mod 4; --> 1 PI() : Devuelve el valor de (pi). mysql> select pi(); --> 3.141593 POW(X,Y), POWER(X,Y) : Esta funcin devuelve el valor de X . mysql> select pow(3,4); --> 81 mysql> select pow(3,-4); --> 0.012345679012346 RADIANS(X) : Esta funcin devuelve el argumento X, convertido de grados a radianes. mysql> select radians(30); --> 0.5235987755983 mysql> select radians(45); --> 0.78539816339745 RAND(X) : Esta funcin devuelve el nmero de coma flotante aleatorio entre 0 y 1. Si un nmero es dado dentro de esta funcion, produce secuencias de valores que se pueden repetir. mysql> select rand(); --> 0.13388662052703 mysql> select rand(10); --> 0.65705152196535 mysql> select rand(10); --> 0.65705152196535 mysql> select rand(); --> 0.82382530888899 mysql> select rand(); --> 0.7174667135975 mysql> select rand(10); --> 0.65705152196535
Y

Funciones Matemticas : Veamos ahora algunas funciones Matemticas con un ejemplo. ROUND(X), ROUND(X,D) : Devuelve el argumento X, redondeado al nmero entero ms cercano. Si contiene dos argumentos, entonces devuelve X redondeado a D espacios decimales.

mysql> select round(12.589); --> 13 mysql> select round(-12.23); --> -12 mysql> select round(5.258, 1); --> 5.3 mysql> select round(5.258, -1); --> 10 SIGN(X) : Devuelve el signo del nmero dado como -1 si es negativo, 0 si es cero o 1 si es positivo.

mysql> select sign(-89); --> -1 mysql> select sign(0); --> 0 mysql> select sign(123); --> 1
SIN(X) : Devuelve el seno del valor de X,X dado en radianes. mysql> select sin(45); --> 0.85090352453412 mysql> select sin(pi()); --> 1.2246063538224e-016 SQRT(X) : Devuelve la raz cuadrada de un nmero, el nmero debe ser un nmero positivo. mysql> select sqrt(144); --> 12 mysql> select sqrt(741); --> 27.221315177632 TAN(X) : Devuelve la tangente de X, donde X viene dado en radianes. mysql> select tan(45); --> 1.6197751905439 mysql> select tan(90); --> -1.9952004122082 TRUNCATE(X,D) : El nmero esta truncado a D digitos despues del punto decimal. Si D es negativo, los D dgitos anteriores al punto decimal son convertidos a 0. mysql> select truncate(4.556,1); --> 4.5 mysql> select truncate(444.556,-1); --> 440

Funcin String : Las funciones son sets predefinidos de instrucciones que devuelven un valor. Las funciones referentes a strings son llamados funciones String. Hay diferentes tipos de funciones disponibles en MySQL. Las funciones string importantes son,

CHAR_LENGTH LCASE REPLACE

CONCAT LENGTH REVERSE

CONCAT_WS LOCATE SUBSTRING

FORMAT REPEAT

CHAR_LENGTH(str) or CHARACTER_LENGTH(str) : Esta funcin string devuelve la longitud del string. mysql> select char_length("hioxindia"); --> 9 mysql> select character_length("easycalculation"); --> 15 CONCAT(str1,str2,...) : Devuelve el string concatenado de los argumentos dados. mysql> select concat('hiox','india'); --> 'hioxindia' CONCAT_WS() : Acrnimo de Concatenate With Separator (Concatenado Con Separador) y es una forma especial de funcin CONCAT. Devuelve el string concatenado de los argumentos dados separado por un separador dado. mysql> SELECT CONCAT_WS('!','One','Two','Three'); --> 'One!Two!Three' ( Here '!' is the seperator) FORMAT() : Formatea el n dado y redondea a los dgitos dados despues del punto decimal. mysql> SELECT FORMAT(12332.123456, 4); --> '12,332.1235' LCASE(str) or LOWER() : Devuelve la minscula del string dado. mysql> select lcase('HIOX'); --> 'hiox' mysql> select lower('EASYCALCULATION'); --> easycalculation De la manera que UPPER o UCASE devuelve la mayscula del string dado. LENGTH(str) : Devuelve la longitud del string dado en bytes. Si hay un caracter de 2 byte la longitud es calculada como 2. Donde CHAR_LENGTH calcula solo la longitud del caracter. mysql> select length('HIOXINDIA'); --> 9 LOCATE(substr,str) or POSITION(substr IN Str) : Devuelve la posicin de la primera aparicin del substring en el string. mysql> select locate('ind','hioxindia'); --> 5 mysql> select position('cul' in 'easycalculation'); --> 8 REPEAT(str,count) : El string dado es repetido para la cuenta dada. mysql> select repeat('HIOX',2); --> 'HIOXHIOX'

REPLACE(str,from_str,to_str) : En el string dado 'str' el 'from_str' es reemplazado por el string 'to_str'. mysql> select replace('MyMYSql','My','you'); --> youMYSql El 'from_str' es sensible a las maysculas. Aqu en el ejemplo superior la primera 'My' es cambiada, pero no la segunda ('MY'). REVERSE(str) : El string dado es revertido y devuelto. mysql> select reverse('HIOX'); --> 'XOIH' SUBSTRING(str,pos) : La funcin devuelve un substring del string 'str' empezando en la posicin 'pos'. mysql> select substring('EASYCALCULATION', 5); --> 'CALCULATION'

Funciones de Fecha y Hora : Esta funcin es usada para manipular el formato de muestra de una fecha y una hora. Vamos a ver algunas funciones bsicas para fecha y hora.

CURDATE DAYNAME HOUR NOW

CURTIME DAYOFMONTH MINUTE

DATEDIFF DAYOFWEEK MONTH

DATE_ADD DAYOFYEAR MONTHNAME

CURDATE() : Esta funcin devuelve la fecha actual en formato 'YYYY-MM-DD' o 'YYYYMMDD' (Ao-MesDa) mysql> select curdate(); --> 2007-01-03 CURTIME() : Devuelve la hora actual en formato 'HH:MM:SS' o 'HHMMSS'. mysql> select curtime(); --> 17:33:07 DATEDIFF(expression1,expression2) : expression1 y expression2 son expresiones fecha o fecha-y-hora. Esta funcin devuelve expression1 expression2 expresados como un valor en das de una fecha a la otra. Aqu slo las partes de fecha sern consideradas para el clculo. mysql> select datediff('2007-2-6 17:33:25','2007-1-1'); --> 36 DATE_ADD(fechahora, INTERVAL tipo expresin fechahora) : Esta funcin de fecha aade la expresin a la datetime suministrada. mysql> select date_add('2007-1-14', interval 15 day); --> 2007-01-29 Esta funcin es la misma para DATE_SUB, pero tomar lugarsubstrayndola en vez de aadindola.

DAYNAME(fecha) : Devuelve el nombre del da para una fecha especificada. mysql> select dayname('2007-01-04'); --> Thursday DAYOFMONTH(fecha) or DAY(fecha) : Devuelve la fecha para el da del mes en el rango de 1 a 31. DAY () es un sinnimo para DAYOFMONTH(). mysql> select dayofmonth('2007-01-04'); --> 4 DAYOFWEEK(fecha) : Devuelve el da de la semana en formato numrico como 1 para Domingo hasta 7 para Sbado. mysql> select dayofweek('2007-01-04'); --> 5 DAYOFYEAR(fecha) : Devuelve el da del ao para la fecha dada en formato numrico, en rago de 1 a 366. mysql> select dayofyear('2007-07-09'); --> 190 HOUR(hora) : Devuelve la hora del tiempo especificado en formato numrico de 0 a 23. mysql> select hour('14:46:12'); --> 14 MINUTE(hora) : Devuelve el minuto del tiempo especificado en formato numrico de 0 a 59. mysql> select minute('14:46:12'); --> 46 MONTH(fecha) : Devuelve el mes para la fecha dada en formato numrico en rango de 0 a 12. mysql> select month('2007-07-09'); --> 7 MONTHNAME(fecha) : Devuelve el nombre del mes para la fecha especificada. mysql> select monthname('2007-07-09'); --> July NOW() : Esta funcin de fecha devuelve la fecha y hora actual en formato 'YYYY-MM-DD HH:MM:SS' o YYYYMMDDHHMMSS (Ao-Mes-Da Hora:Minuto:Segundo) mysql> select now(); --> 2007-01-04 14:56:15

You might also like