Guia de MySQL

5

Click here to load reader

description

MySQL

Transcript of Guia de MySQL

  • REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

    PROGRAMA NACIONAL DE FORMACIN DE INGENIERA EN INFORMTICA UNIDAD CURRICULAR: BASE DE DATOS

    DOCENTE: Ing. Andrs Gordillo

    Concepto de Base de Datos

    Bsicamente una base de datos se puede definir como una coleccin de tablas (entidades) relacionadas que permiten el almacenamiento y manejo de informacin de una institucin. Cada tabla puede ser vista como una coleccin de registros y cada registro est compuesto de una coleccin de campos (atributos). Cada uno de los campos de cada registro permite llevar informacin especfica de algn atributo de una entidad del mundo real (conocido como dato o informacin). Ejemplo 1

    Si se desea representar el modelo de una Base de Datos de una Institucin de Educacin Superior (CUFM), las entidades de inters podran ser: ALUMNOS, PROFESORES, SALONES, etc.

    Para la entidad ALUMNO, los atributos importantes podran ser: CARNET, NOMBRES, TELEFONO, DIRECCION, CARRERA, etc.

    Para la entidad PROFESORES, los atributos importantes podran ser: CI, NOMBRES, TELEFONO, DIRECCION, ASIGNATURAS, etc.

    Ejemplo 2

    Si se desea representar el modelo de una Base de Datos de una Compaa, las entidades de inters podran ser: DEPARTAMENTOS, EMPLEADOS, PRODUCTOS, etc.

    Para la entidad DEPARTAMENTOS, los atributos importantes podran ser: NOMBRE DEL DEPARTAMENTO, NOMBRE DEL DIRECTOR o RESPONSABLE DEL DEPARTAMENTO,

    FUNCIN DEL DEPARTAMENTO, etc.

    Para la entidad EMPLEADOS, los atributos importantes podran ser: CI, NOMBRES, TELEFONO, DIRECCION, SALARIO, etc.

    Una entidad o tabla de una base de datos tambin puede ser pensado como una matriz en la que tenemos

    filas y columnas, cada fila corresponde a un registro y cada columna corresponde a un campo.

    Manejadores de Base de Datos

    Entre algunos nombres de los Manejadores de Base de Datos que se conocen en la actualidad se consideran los siguientes:

    Nombre Origen y Caractersticas MySQL Origen:

    El origen de MySQL se remonta a la dcada de los ochenta. Michael Widenius, tambin conocido como Monty, un joven programador que realizaba complejas aplicaciones en lenguaje BASIC, al no encontrar un sistema de almacenamiento de archivos que le resultara satisfactorio, pens en construir el suyo propio.

    Aos despus, en 1995, y en colaboracin con David Axmark, Widenius desarroll un producto que

    bsicamente era el resultado de sus investigaciones, ms dos aportaciones nuevas: el uso del lenguaje SQL y la accesibilidad a travs de Internet. As naci MySQL y tambin la empresa MySQL AB.

    Caractersticas: Programa de licencia open-source. Posibilidad de crear y configurar usuarios, asignando a cada uno de ellos permisos diferentes. Facilidad de exportacin e importacin de datos, incluso de la base de datos completa. Posibilidad de ejecutar conjuntos de instrucciones guardadas en ficheros externos a la base de

    datos.

  • REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

    PROGRAMA NACIONAL DE FORMACIN DE INGENIERA EN INFORMTICA UNIDAD CURRICULAR: BASE DE DATOS

    DOCENTE: Ing. Andrs Gordillo

    PostgreSQL Origen: Se inicia en la Universidad de Berkeley en 1977 bajo el nombre Ingres como un ejercicio de aplicacin

    de las teoras de las RDBMS. Posteriormente en 1986, cambia su nombre a Postgres con el objetivo de aplicar los conceptos de Objetos Relacionales. En 1995, cambia su nombre a Postgres95 que luego derivara a PostgreSQL.

    En 2004, PostgreSQL 8.0, adopcin en el mundo comercial, se le calific como la 5ta DBMS ms

    popular en USA.

    Caractersticas: PostgreSQL es un sistema de gestin de base de datos relacional orientada a objetos y libre,

    publicada bajo licencia BSD. Es un programa de cdigo abierto, por lo que est dirigido por una comunidad de

    desarrolladores llamada PGDG. Sistema estable y de alto rendimiento. Gran flexibilidad ya que puede funcionar en la mayora de los sistemas Unix. Es portable ya que permite desarrollar o migrar aplicaciones desde otros manejadores de BD. Cuenta con una alta concurrencia, una amplia variedad de tipos nativos de datos, y diversas

    funciones ms especficas.

    DB2

    Investigar las Caractersticas de estos Manejadores de BD

    SQL Server

    Oracle

    Informix

    Sybase

    Qu es un SGBD? SGMBD?

    Un Sistema de Gestin (de Manejo) de Base de Datos es una aplicacin (software) que permite manipular, organizar y gestionar la informacin que una organizacin posee en una Base de Datos. Entre sus caractersticas ms importantes se presentan:

    Interfaz grfica para facilitar un manejo de la informacin de forma ms comoda. Control de acceso y Permisologa a la Base de Datos a travs de Cuentas de Usuarios. Creacin de Objetos de una Base de Datos (Tablas, Vistas, Funciones, etc). Respaldo y Recuperacin de la informacin.

    A continuacin se muestra una lista de los SGBD ms utilizados en la actualidad a nivel general:

    Nombre Licencia Base de Datos

    PHPMyAdmin Gratuito MySQL

    PHPpgAdmin Gratuito PostgreSQL

    MysqlYog Gratuito MySQL

    MySQLWorkBench Gratuito MySQL

    PgAdminIII Gratuito PostgreSQL

    PL-SQL Privado Oracle

  • REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

    PROGRAMA NACIONAL DE FORMACIN DE INGENIERA EN INFORMTICA UNIDAD CURRICULAR: BASE DE DATOS

    DOCENTE: Ing. Andrs Gordillo

    Comandos de MySQL

    A continuacin se muestran algunos Comandos (los ms comunes) utilizados en MySQL

    DDL (Lenguaje de Definicin de Datos)

    Comando Descripcin Ejemplo

    use Se conecta a una BD. use progiv;

    connect Igual al comando anterior permite conectarse a una base de datos.

    connect progiv;

    show databases Muestra todas las bases de datos. show databases;

    create database Crea una Base de Datos create database progiv

    show tables Listar todas las tablas. show tables;

    show tables from Muestra Tablas de otra Base de Datos. show tables from mysql;

    show table status Muestra informacin descriptiva sobre las tablas de la base de datos.

    show table status;

    show table status from

    Igual al anterior pero de otra Base de Datos. show table status from mysql;

    describe Muestra la estructura de una tabla de la base de datos.

    describe estudiantes;

    show columns Igual que el comando anterior (describe). show columns from estudiantes;

    create table Permite crear una tabla incluyendo su estructura (Nombre de Campos, Tipo de Dato, Clusulas o restricciones).

    create table libros (IdLibro int(4) Primary Key, Autor varchar(30) not null, Titulo varchar(20), fechacompra date);

    alter table Permite renombrar la tabla o variar la estructura de la tabla de datos. Se pueden utilizar mltiples criterios para modificar la estructura. ADD COLUMN

    ADD INDEX

    ADD PRIMARY KEY

    ADD UNIQUE

    CHANGE

    DROP

    DROP INDEX

    DROP PRIMARY KEY

    MODIFY

    RENAME

    alter table libros add column campo1 varchar(5); alter table modify campo1 int(4); alter table libros change campo1 correos nvarchar(40) not null; alter table libros rename libro; alter table drop column correos;

    optimize table Optimiza el espacio asignado a la tabla optimize table libros;

    drop table Elimina la tabla, incluyendo registros y estructura.

    drop table libros;

    drop table if exists

    Elimina la tabla de la base de datos, pero antes verifica que exista.

    drop table if exists libros;

    truncate table Elimina los registros, pero mantiene la estructura de la tabla.

    truncate table libros;

    rename table Renombra una tabla de la base de datos. rename table libros to librosnew;

    create user Permite crear usuarios de BD. create user usrprog@localhost identified by 123;

    select user Muestra la cuenta de usuario activa. select user();

  • REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

    PROGRAMA NACIONAL DE FORMACIN DE INGENIERA EN INFORMTICA UNIDAD CURRICULAR: BASE DE DATOS

    DOCENTE: Ing. Andrs Gordillo

    grant Otorga permisos a los usuarios. grant all privileges on progiv.* to usrprogiv@localhost identified by 123; grant select, update on progiv.* to usrprogiv@localhost identified by 123;

    DML (Lenguaje de Manipulacin de Datos)

    Comando Descripcin Ejemplo

    insert into [table] values (valor1, valor2, , valorn) insert into [table] (campo1, campo2, campon) values (valor1, valor2, , valorn)

    Permite ingresar registros (tuplas) en las Tablas de la BD.

    Insert into libros values (6, Pablo Neruda, VVV, 2012-06-19); Insert into libros (Autor, IdLibro, fechacompra, Titulo) values (Rmulo Gallegos, 7, 2013-10-27, Doa Brbara);

    select Permite mostrar los registros de una Tabla. Se pueden utilizar mltiples criterios para filtrar la informacin requerida.

    select * from libros; Muestra todos los registros de todos los campos de la Tabla. select IdLibro, Titulo from libros; Muestra las columnas seleccionadas separadas por ,.

    select * from [table] limit [numero]

    Muestra los registros desde el 1ro hasta [numero].

    select * from progiv limit 10; Muestra los 10 primeros registros.

    select * from [table] limit [numero inicio], [numero]

    Muestra los registros a partir del [numero de inicio] hasta [numero inicio] + [numero]

    select * from libros limit 11, 10; Muestra desde el registro 11 hasta el 20.

    select * from [table] order by [campo(s)]

    Muestra los registros ordenados por uno o varios campos

    select * from libros order by Autor; select * from libros order by Autor, Titulo; select * from libros order by fechacompra desc;

    select * from [table] where *campo=valor+

    Muestra solamente los registros que cumplen con la condicin establecida.

    select * from libros where fechacompra>=2013-05-01; select * from libros where fechacompra>=2013-05-01 and fechacompra

  • REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

    PROGRAMA NACIONAL DE FORMACIN DE INGENIERA EN INFORMTICA UNIDAD CURRICULAR: BASE DE DATOS

    DOCENTE: Ing. Andrs Gordillo

    %Gab% or (fechacompra >= 2013-05-01 and fechacompra