MySQL es un sistema
de administración de bases de datos (Database
Management System, DBMS) para bases de datos relacionales. Así, MySQL no
es más que una aplicación que permite gestionar archivos llamados de bases de
datos.
Este gestor de base
de datos en multihilo y multiusuario. lo que le permite ser utilizado por
varias personas al mismo tiempo, e incluso, realizar varias consultas a la vez,
lo que lo hace sumamente versátil.¿EN DONDE SE ENCUENTRAN?La mayor parte del
código se encuentra escrito en lenguaje
C/C++ y la sintaxis de su uso es bastante simple, lo que permite
crear bases de datos simples o complejas con mucha facilidad. Además, es
compatible con múltiples plataformas informáticas y ofrece una infinidad de
aplicaciones que permiten acceder rápidamente a las sentencias del gestor de
base de datos.
Slide 3
•INSTRUCCIONES PRINCIPALES EN MY SQL
Cada conjunto de relaciones que componen un
modelo completo forma una base de datos. Desde
punto de vista de SQL, una base de datos es sólo un conjunto de
relaciones (o tablas), y para organizarlas o distinguirlas se accede a ellas mediante su
nombre. A nivel de sistema operativo, cada base de datos se guarda en un directorio diferente.Es un listado básico donde no hay mucha explicación.
Simplemente es una guía para comenzar a trabajar con la base de datos Mysql.
Slide 4
Estos son algunos comandos útiles usados por MySQL
Obtener información
sobre la base de datos Mysql:
show databases; –
Listar todas las bases de datos.
connect [database]; –
Conectarse a esa base de datos.
show tables; – Listar
todas las tablas de una base de datos.
show table status; –
Muestra información sobre las tablas de la base de datos.
describe [table]; –
Muestra la estructura de una tabla de la base de datos.
Slide 5
Manejo de bases de datos Mysql:
drop table [table]; –
Elimina la tabla, incluyendo registros y estructura.
drop table if exists
[table]; – Elimina la tabla de la base de datos, pero antes verifica que
exista.
truncate table [table];
– Elimina los registros, pero mantiene la esrtuctura de la tabla.
rename table [table]
to [nuevo nombre de tabla]; – Renombra una tabla de la base de datos.
Slide 6
Algunos comandos utiles para cunsultas Mysql:
select * from [table]
limit [numero]; – Muestra los registros desde el 1 hasta [numero].
Ej. select * from
tabla limit 10; – Muestra los 10 primeros registros.
select * from [table]
limit [numero inicio],[numero]; – Muestra los registros desde el numero de
inicio hasta numero inicio + numero.
Ej. select * from
tabla limit 11,10; – Muestra desde registro 11 hasta el 20.
Slide 7
Bases de datos Mysql en consola:
$ mysqladmin -u -p
create – crear base de datos.
$ mysqladmin -u -p
drop – borrar la base de datos.
$ mysqladmin -u root
-p proc – listar procesos en ejecucion en el servidor de bases de datos Mysql.
$ mysqladmin -u root
-p -i 5 status – verificar status cada 5 segundos.
$ mysqldump –opt -u
-h -p > /path/to/file – Exportar base de datos a un archivo.
$ mysqldump –opt -u
-h –all-databases -p > /path/to/file – Exportar TODAS las bases de datos a
un archivo.
$ mysql -h -u -p
$ mysqlcheck -o -u
root -p –all-databases – Optimizar las bases de datos mysql.
Slide 8
Verificacion y reparacion de bases de datos erroneas:
check table [table];
– Verificar la tabla.
repair table [table];
– Reparar la tabla rota.
Slide 9
•TIPOS DE DATOS EN MY SQL
1 Tipos numéricos: 2 Tipos fecha: 3 Tipos de cadena:
Slide 10
Existen tipos de datos numéricos, que se pueden
dividir en dos grandes grupos, los que están en coma flotante (con decimales) y
los que no. TinyInt: es
un número entero con o sin signo. Con signo el rango de valores válidos va
desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 Bit ó Bool: un número entero que puede ser 0 ó 1 SmallInt: número
entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767.
Sin signo, el rango de valores es de 0 a 65535. MediumInt: número entero con o sin signo. Con signo el rango de valores va
desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. Integer, Int: número entero con o sin signo. Con signo el rango de valores va
desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a
429.4967.295 BigInt: número
entero con o sin signo. Con signo el rango de valores va desde
-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va
desde 0 a 18.446.744.073.709.551.615. Float: número
pequeño en coma flotante de precisión simple. Los valores válidos van desde
-3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a
3.402823466E+38. xReal, Double: número en coma flotante de precisión doble. Los valores permitidos
van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde
2.2250738585072014E-308 a 1.7976931348623157E+308 Decimal, Dec, Numeric: Número en coma flotante desempaquetado.
1 Tipos numéricos:
Slide 11
se almacena como una cadena
Tipo de Campo
Tamaño de Almacenamiento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes
if D > 0, M+1 bytes if D = 0
Slide 12
2 Tipos fecha:
A la hora de
almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera
estricta si una fecha es válida o no. Simplemente comprueba que el mes esta
comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. Date: tipo
fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001
al 31 de diciembre de 9999. El formato de almacenamiento es de
año-mes-dia DateTime: Combinación
de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0
horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59
minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia
horas:minutos:segundos TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de
1970 al año 2037. El formato de almacenamiento depende del tamaño del
campo:
Time: almacena
una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a
838, 59 minutos y 59 segundos. El formato de almacenamiento es de
'HH:MM:SS' Year: almacena
un año. El rango de valores permitidos va desde el año 1901 al año 2155. El
campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el
año con dos o cuatro dígitos.
Slide 13
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte
Tipo de Campo Tamaño de Almacenamiento
Slide 14
3 Tipos de cadena:
Char(n): almacena una cadena de
longitud fija. La cadena podrá contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener
desde 0 a 255 caracteres.
Dentro de los tipos de cadena se pueden
distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large
Object)
La diferencia entre un tipo y otro es el
tratamiento que reciben a la hora de realizar ordenamientos y comparaciones.
Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las
minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos
binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud máxima de 255
caracteres. Blob y Text: un texto con un máximo de 65535 caracteres. MediumBlob y MediumText: un texto con un máximo de 16.777.215
caracteres. LongBlob y LongText: un texto con un máximo de caracteres
4.294.967.295. Hay que tener en cuenta que debido a los protocolos de
comunicación los paquetes pueden tener un máximo de 16 Mb. Enum: campo
que puede tener un único valor de una lista que se especifica. El tipo Enum
acepta hasta 65535 valores distintos Set: un
campo que puede contener ninguno, uno ó varios valores de una lista. La lista
puede tener un máximo de 64 valores.
Slide 15
Tipo de campo
Tamaño de Almacenamiento
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB, TINYTEXT
Longitud+1 bytes
BLOB, TEXT
Longitud +2 bytes
MEDIUMBLOB, MEDIUMTEXT
Longitud +3 bytes
LONGBLOB, LONGTEXT
Longitud +4 bytes
ENUM('value1','value2',...)
1 ó dos bytes dependiendo del número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes, dependiendo del número de
valores