Sei sulla pagina 1di 24

INDICE

1 INTRODUCCIN 2 RESEA HISTORICA 3 Lenguajes de programacin 4 Aplicaciones 5 Especificaciones 5.1 Plataformas 6 Caractersticas adicionales 6.1 Caractersticas (versin 4.0) 6.2 Mejoras futuras 6.3 Caractersticas distintivas 6.4 Tipos de compilacin del servidor 6.5 Especificaciones del cdigo fuente 7 Desarrollo del proyecto 8 Otras funcionalidades de las listas de correo 9 Estructuras organizativas/asociativas o de decisin 10 Industria relacionada 11 Qu licencia utilizar 12 Instalacin y configuracin por primera vez en Windows 13 BIBLIOGRAFIA

1. INTRODUCCIN

Qu es Mysql? MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones. MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado en su mayor parte en ANSI C.

2. RESEA HISTORICA SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde ese entonces ha sido considerado como un estndar para las bases de datos relacionales. Desde 1986, el estndar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensourceMySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estndar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad. Michael Widenius en la dcada de los 90 trat de usar mySQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mySQL no era rpido y flexible para sus necesidades. Esto lo conllev a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero ms portable. La procedencia del nombre de MySQL no es clara. Desde hace ms de 10 aos, las herramientas han mantenido el prefijo My. Tambin, se cree que tiene relacin con el nombre de la hija del cofundador MontyWidenius quien se llama My. Por otro lado, el nombre del delfn de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso NametheDolphin. Este nombre fue enviado por AmbroseTwebaze, un desarrollador de Open source Africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose..

3. LENGUAJES DE PROGRAMACIN

Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programacin, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (viadbExpress), Eiffel, Smalltalk, Java (con una implementacin nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REALbasic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API especfica. Tambin existe un interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programacin que soporte ODBC comunicarse con las bases de datos MySQL. Tambin se puede acceder desde el sistema SAP, lenguaje ABAP.

4. APLICACIONES

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.

5. ESPECIFICACIONES 1. Plataformas MySQL funciona sobre mltiples plataformas, incluyendo: AIX BSD FreeBSD HP-UX GNU/Linux Mac OS X NetBSD Novell Netware

OpenBSD OS/2 Warp QNX SGI IRIX Solaris SunOS SCO OpenServer SCO UnixWare Tru64 eBD Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista y otras versiones de Windows.

6. CARACTERISTICAS ADICIONALES 1. Usa GNU Automake, Autoconf, y Libtool para portabilidad 2. Uso de multihilos mediante hilos del kernel. 3. Usa tablas en disco b-tree para bsquedas rpidas con compresin de ndice 4. Tablas hash en memoria temporales 5. El cdigo MySQL se prueba con Purify (un detector de memoria perdida comercial) as como con Valgrind, una herramienta GPL 6. Completo soporte para operadores y funciones en clusulas select y where. 7. Completo soporte para clusulas groupby y orderby, soporte de funciones de agrupacin 8. Seguridad: ofrece un sistema de contraseas y privilegios seguro mediante verificacin basada en el host y el trfico de contraseas est cifrado al conectarse a un servidor. 9. Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.

10. Se permiten hasta 64 ndices por tabla (32 antes de MySQL 4.1.2). Cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son 1000 bytes (500 antes de MySQL 4.1.2). 11. Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix. 12. En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. 13. MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el cdigo fuente de la distribucin de MySQL.

6.1 Caractersticas (versin 4.0)

Inicialmente, MySQL careca de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de pginas web con contenido dinmico, justamente por su simplicidad. Poco a poco los elementos de los que careca MySQL estn siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las caractersticas disponibles en las ltimas versiones se puede destacar: Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. Diferentes opciones de almacenamiento segn si se desea velocidad en las operaciones o el mayor nmero de operaciones disponibles. Transacciones y claves forneas. Conectividad segura. Replicacin. Bsqueda e indexacin de campos de texto.

MySQL es un sistema de administracin de bases de datos. Una base de datos es una coleccin estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galera de pinturas o el vasto volumen de informacin en un red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son

muy buenos manejando grandes cantidades de informacin, los administradores de bases de datos juegan un papel central en computacin, como aplicaciones independientes o como parte de otras aplicaciones. MySQL es un sistema de administracin relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas estn conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el cdigo fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el cdigo fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General PublicLicense) para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir cdigo MySQL en aplicaciones comerciales, usted puede comprar una versin comercial licenciada.

6.2 Mejoras futuras

El mapa de ruta de MySQL 5.1 indica soporte para: Particionado de la base de datos Backup en lnea para todos los motores de almacenamiento Replicacin segura Restricciones a nivel de columna Planificacin de eventos Funciones XML

6.3 Caractersticas distintivas

Las siguientes caractersticas son implementadas nicamente por MySQL: Mltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQLCluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea ms adecuada para cada tabla de la base de datos.

Agrupacin de transacciones, reuniendo mltiples transacciones de varias conexiones para incrementar el nmero de transacciones por segundo.

6.4 Tipos de compilacin del servidor

Hay tres tipos de compilacin del servidor MySQL: Estndar: Los binarios estndar de MySQL son los recomendados para la mayora de los usuarios, e incluyen el motor de almacenamiento InnoDB. Max (No se trata de MaxDB, que es una cooperacin con SAP): Los binarios incluyen caractersticas adicionales que no han sido lo bastante probadas o que normalmente no son necesarias. MySQL-Debug: Son binarios que han sido compilados con informacin de depuracin extra. No debe ser usada en sistemas en produccin porqu el cdigo de depuracin puede reducir el rendimiento.

7 DESARROLLO DEL PROYECTO El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solucin a los problemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs revisando el manual en lnea que contiene las soluciones a problemas encontrados; el historial de cambios ; la base de datos bugs que contiene bugs reportados y solucionados y en las listas de correo MySQL. A travs de las listas de correo los usuarios pueden enviar preguntas y stas sern contestadas por desarrolladores brindndoles soporte.

8. OTRAS FUNCIONALIDADES DE LAS LISTAS DE CORREOS Anuncios: informan sobre nuevas versiones de MySQL y programas relacionados. MySQL: lista principal de discusin de MySQL. Bugs: permite a la gente buscar y arreglar bugs. Temas internos: para gente que trabaja con el cdigo de MySQL. Es el frum para discutir sobre el desarrollo de MySQL.

MySQLdoc: para gente que trabaja en documentacin. Pruebas de rendimiento: para gente interesada en temas de rendimiento no solo de MySQL, sino de otros motores de bases de datos.

Empaquetadores: para discusiones sobre empaquetamiento y distribucin de MySQL. Java: discusiones sobre MySQL Server y Java. Otras listas de correo son: MyODBC, Herramientas GUI, Cluster, Dotnet, PlusPlus y Perl. Adicional a las listas de correo, se encuentra el soporte de IRC de la comunidad MySQL. Adems, hay soporte a travs de foros [5] agrupados en categoras tales como: Migracin, Uso de MySQL, Conectores MySQL, Tecnologa MySQL y Negocios.

9. ESTRUCTURAS ORGANIZATIVAS/ASOCIATIVAS O DE DECISIN

La direccin y el patrocinio de los proyectos MySQL estn a cargo de la empresa MySQL AB quien posee el copyrigth del cdigo fuente MySQL, su logo y marca registrada. MySQL, Inc. y MySQLGmbH son ejemplos de empresas subsidiarias de MySQL AB. Estn establecidas en los Estados Unidos y Alemania respectivamente. MySQL AB, cuenta con ms de 200 empleados en ms de 20 pases y funcionan bajo la estrategia de teletrabajo.

10. INDUSTRIA RELACIONADA La industria radica en la venta de productos software y de algunos servicios relacionados a numerosas empresas que utilizan estos productos. MySQL AB clasifica los productos as: MySQL Enterprise: incluye MySQL Enterprise Server , Monitoreo de la red MySQL, servicios de consulta y soporte de produccin MySQL MySQL Cluster MySQL Embedded Database MySQL Drivers: para JDBC, ODBC y .Net

MySQL Tools: MySQL Administrator, MySQL Query Browser, and the MySQL Migration Toolkit MaxDB: MaxDB es una base de datos open source certificada para SAP/R3

11. Mysql EN CIFRAS

12. QUE LICENCIA UTILIZAR

La licencia GNU GPL de MySQL obliga a que la distribucin de cualquier producto derivado (aplicacin) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.

13. Instalacin y configuracin por primera vez en windows:

Para instalar mysql en windows se baja el archivo mysql-max-3.23.48-win.zip y se desempaqueta en cualquier directorio, luego se ejecuta el archivo setup.exe, cuando se instala pedir un directorio en donde instalar en este caso pondremos c:\internet\mysql.

Ejecutamos la aplicacin c:\internet\mysql\bin\winmysqladmin.exe

Esta aplicacin nos permitir administrar la base de datos. La primera vez que se ejecuta nos va a pedir un usuario y una clave en este caso vamos a poner root y admin. En la parte inferior derecha de la pantalla aparecer un semforo con la luz verde encendida esto indica que el servidor est activo, para apagar el servidor damos un click con el botn derecho sobre el grfico del semforo y aparecer un men, elegimos la opcin win9x (en una instalacin en windows me) y luego shutdownBoth. Esta herramienta tambin sirve para crear bases de datos en modo grfico.

Para ingresar al modo de comandos y administrar la base de datos se va al directorio:

C:\internet\mysql\bin\mysql u root p

Como password se pone admin, esto har que salga el prompt de mysql:

mysql>

Para salir se pone exit o quit Las bases de datos se crearn el directorio:

c:\internet\mysql\data

Operaciones Bsicas

Se entra a la base de datos con: mysql -u root p pone: y como clave se pone admin. En la lnea de comandos se

mysql> SELECT VERSION(), CURRENT_DATE(); lo cual mostrara: +-----------+----------------+ | version() | current_date() | +-----------+----------------+ | 3.23.49 | 2002-06-06 +-----------+----------------+ 1 row in set (0.00 sec) |

se pueden hacer pequeas operaciones como:

mysql> SELECT SIN(PI()/4), (4+1)*5;

+-------------+---------+ | SIN(PI()/4) | (4+1)*5 | +-------------+---------+ | 0.707107 | 25 |

+-------------+---------+ 1 row in set (0.00 sec)

mysql> select user(); +----------------+ | user() |

+----------------+ | root@localhost | +----------------+ 1 row in set (0.04 sec)

Para ver las bases de datos existentes se pone: mysql> SHOW DATABASES;

+----------+ | Database | +----------+ | mysql | test | |

+----------+ 2 rows in set (0.00 sec)

Creacin de usuarios y permisos para las tablas

Una vez creada la base de datos se le puede dar permisos para que solo un usuario determinado pueda usar dicha base de datos la forma de hacerlo es la siguiente:

mysql u root p se ingresa con el usuario de administrador grant all on pruebas.* to ua033333@localhost identified by clave flushprivileges;

donde pruebas es la base de datos y ua033333 es el usuario al que se quiere dar acceso y clave la clave del usuario.

Para ingresar a la base se pone mysql -u ua033333 p y se introduce la clave Para cambiar de clave se pone SET PASSWORD FOR 'ua033333@localhost' = PASSWORD( '**********' )

Otra forma de crear usuarios es ingresar con la clave de root a la base de datos y poner las siguientes sentencias:

usemysql;

insertintouservalues("localhost", "nombredeusuario", password("clavedeusuario"), "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y");

insertintodbvalues ("localhost", "basededatosconcreta", "nombredeusuario", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y");

exit;

Pasos para crear bases de datos

El comando para crear la base de datos es:

mysql> CREATE DATABASE prueba;

esto har que se cree el directorio prueba en /var/lib/mysql/prueba.

Para crear las tablas de la base de datos se pone:

mysql> use prueba; para elegir la tabla en la que se va ha trabajar

mysql>createtable clientes (nombre varchar(20), edad int(2), -> sueldo float(9,2), memo text);

Tipos posibles de campos

VARCHAR Tiene un nmero variable de caracteres el nmero que se pone es el nmero mximo de caracteres que puede tener este nmero va de 1 a 255 CHAR DATE TIME DATETIME Tiene un nmero fijo de caracteres va de 1 a 255 Tipo fecha (YYYY-MM-DD)-( '1000-01-01' a '9999-12-31') Tipo hora (HH:MM:SS) (-838:59:59' a '838:59:59) Tipo fecha y hora (YYYY-MM-DD HH:MM:SS)

TIMESTAMP(N)

Tipo fecha y hora. Se utiliza para generar campos en los cuales

automticamente se guardan la fecha y hora de creacin o modificacin del registro. Ejemplos de formatos:

TIMESTAMP(14) TIMESTAMP(12) TIMESTAMP(10) TIMESTAMP(8) TIMESTAMP(6) TIMESTAMP(4) TIMESTAMP(2)

YYYYMMDDHHMMSS YYMMDDHHMMSS YYMMDDHHMM YYYYMMDD YYMMDD YYMM YY

YEAR(2 o 4) INTEGER (INT) FLOAT decimales (M,D)

Tipo ao (1970 a 2069) Tipo numrico entero (-2147483648 a 2147483647) Nmero real de coma flotante M es el nmero y D los

(-3.402823466E+38 a -1.175494351E-38, 0, y 1.175494351E-38 a 3.402823466E+38.) DOUBLE(M,D) decimales Nmero real de doble precisin M es el nmero y D los

(- 1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y 2.2250738585072014E-308 a 1.7976931348623157E+308) BLOB Para grandes textos la longitud mxima es 65535 con este tipo las bsquedas de texto son sensibles a las maysculas. TEXT Para grandes textos la longitud mxima es 65535 con este tipo las bsquedas de texto NO son sensibles a las maysculas.

Opciones para los campos

notnull auto_increment

El valor no puede ser nulo en el campo automticamente incrementa el nmero del registro anterior

primarykey El PRIMARY KEY es un campo que MySQL usa como ndice. Este ndice puede hacer cosas como:

Hallar rpidamente filas que acierten una clusula WHERE. Regresar filas de una tabla desde otras tablas cuando se realizan uniones.

Esto definitivamente te va a ayudar a agilizar sus peticiones tambin.

Key

Crea una llave secundaria

Creacin de una tabla con ndices o llaves:

Mysql> create table key(llave1),key(llave2));

prueba4

(llave1

int(1)

not

null,

llave2

int(1),

primary

Toda llave primaria debe ser de tipo notnull para que pueda indexar correctamente. En este ejemplo el campo llave1 es la llave primaria y el campo llave2 es la llave secundaria.

Creacin de campos para buscar textos en estos:

mysql> CREATE TABLE articles ( ->id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, ->title VARCHAR(200), ->body TEXT, -> FULLTEXT (title,body)

-> ); Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO articles VALUES -> (0,'MySQL Tutorial', 'DBMS stands for DataBase ...'), -> (0,'How To Use MySQL Efficiently', 'After you went through a ...'), -> (0,'Optimising MySQL','In this tutorial we will show ...'), -> (0,'1001 MySQL Trick','1. Never run mysqld as root. 2. ...'), -> (0,'MySQL vs. YourSQL', 'In the following database comparison ...'), -> (0,'MySQL Security', 'When configured properly, MySQL ...'); Query OK, 6 rows affected (0.00 sec) Records: 6 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM articles -> WHERE MATCH (title,body) AGAINST ('database');

+----+-------------------+------------------------------------------+ | id | title | body |

+----+-------------------+------------------------------------------+ | 5 | MySQL vs. YourSQL | In the following database comparison ... | | 1 | MySQL Tutorial | DBMS stands for DataBase ... |

+----+-------------------+------------------------------------------+ 2 rows in set (0.00 sec)

Para ver todas las tablas de la base: mysql> show tables;

+------------------+ | Tables_in_prueba | +------------------+ | clientes |

+------------------+ 1 row in set (0.00 sec)

Para ver la estructura de la tabla se pone: mysql> DESCRIBE clientes;

+--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+ | nombre | varchar(20) | YES | | edad | int(2) | YES | | YES | | YES | | NULL | NULL | NULL | NULL | | | | | | | |

| sueldo | float(9,2) | memo | text

+--------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)

Modificacin de la Estructura de una Tabla

Cambia los atributos de una columna que ya existe

ALTER TABLE [nombre_de_la_tabla] [nombre_columnaopciones_de _columna];

CHANGE

[nombre_columna]

ALTER TABLE clientes CHANGE nombre nombreapellidovarchar(10);

Colocar una columna al final de la tabla

ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones]; ALTER TABLE clientesADD cedulavarchar(10);

Si se desea crear una columna al inicio de una tabla:

ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] FIRST; ALTER TABLE clientesADD cedulavarchar(10) FIRST;

Y si se trata de colocarla despus de una columna dada, es:

ALTER TABLE [nombre_de_la_tabla] [nombre_de_columna];

ADD

[columna_nueva

opciones]

AFTER

ALTER TABLE clientes ADD cedula varchar(10) AFTER nombre;

Para eliminarla, se utiliza este comando:

ALTER TABLE [nombre_de_la_tabla] DROP [nombre_columna]; ALTER TABLE clientesDROP cedula;

Para insertar datos a la tabla

Se utiliza la siguiente sentencia: mysql> INSERT INTO clientes -> VALUES ('Pablo','30','600',NULL);

Nota: La comilla es obligatorio para el ingreso de datos

Otra forma de ingresar datos es:

mysql>insertinto clientes -> (nombre) ->values -> ('pablo');

con esta forma se ingresa el nombre pablo en el campo nombre nicamente

Para insertar datos a la tabla desde un archivo de textos la sentencia es: mysql> LOAD DATA LOCAL INFILE "datos.txt" INTO TABLE clientes;

el archivo debe tener el siguiente formato: Pablo 30 Juan 20 600 \N \N bueno

El smbolo \N sirve para cuando ese campo no tiene datos. El separador de campos es TAB y el de registros el fin de lnea LF (o Enter)

Si el archivo de texto tiene separado los campos por medio de comas y a su vez cada campo encerrado por comillas la sentencia que se utiliza es:

mysql> LOAD DATA INFILE 'datos.txt' INTO TABLE clientes -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'

->

LINES TERMINATED BY '\n';

Ejemplo de archivo datos.txt

Pabo,30,600,\N Juan,25,500,\N

Mostrar los datos de una tabla

Para los datos de una tabla se utiliza la sentencia : SELECT [campos que se quiere mostrar] FROM [nombre de la tabla de la cual se extraen datos] WHERE [condiciones para extraer datos]

Ejemplo:

mysql> SELECT * FROM clientes;

+--------+------+--------+------+ | nombre | edad | sueldo | memo | +--------+------+--------+------+ | pablo | 30 | 600.00 | NULL | | pablo | NULL | NULL | NULL | +--------+------+--------+------+ 2 rows in set (0.00 sec)

Enviar la consulta a un archivo

mysql> select * from empresas into outfile '/prueba/hola2.txt' fields terminated by '@@' ->lines terminated by \n;

consulta con condiciones:

mysql> SELECT * FROM clientes WHERE nombre="pablo" and sueldo="500"; mysql> SELECT * FROM clientes WHERE edad>= "30"; mysql> SELECT nombre, edad FROM clientes WHERE edad>= "30"; mysql> SELECT distinct nombre FROM clientes; distinct sirve para que saque solo los registros nicos no los repetidos en el campo nombre mysql> SELECT * FROM clientes ORDER BY edad; para que el resultado se ordene por edad mysql> SELECT * FROM clientes ORDER BY edad DESC; para que el resultado se ordene en forma descendente mysql> SELECT * FROM clientes GROUP BY edad; mysql> SELECT nombre, sueldo/100 from clientes; para que muestre la columna sueldo dividido para 100 mysql> select * from clientes where edad is NULL; mysql> select * from clientes where edad is NOT NULL; mysql> SELECT * FROM clientes WHERE nombre LIKE "P%"; para buscar nombres que comienzan con P mysql> SELECT * FROM clientes WHERE nombre LIKE "%P"; para buscar nombres que terminan con P

mysql> SELECT * FROM clientes WHERE nombre LIKE "%P%"; para buscar nombres que tengan P en cualquier posicion mysql> SELECT * FROM clientes WHERE nombre LIKE "_"; para buscar nombres que tengan un carcter mysql> SELECT nombre, COUNT(*) FROM clientes mysql> SELECT DISTINCT nombre FROM clientes saca los nombres sin repetidos mysql> SELECT * from tabla1 where not exists (SELECT * from tabla2 where tabla1.codigo = tabla2.codigo); muestra los cdigos de la tabla1 que no existan en la tabla2

Modificar un Registro

mysql> UPDATE clientes SET sueldo="500" WHERE nombre="pablo"; mysql> UPDATE clientes set sueldo="600" where edad=30;

Borrar todos los registros de la tabla

mysql> DELETE from clientes;

Borrar una Tabla y su estructura

mysql>droptable clientes;

Borrar una base de datos

mysql>dropdatabase datos;

Relaciones entre las Tablas

Se crean dos tablas con un campo que se llama factura de tipo int(1), este va ha ser la llave de las tablas por la cual se van ha relacionar.Para poder mostrar tablas con datos que las relacionan podemos hacerlo mediante el siguiente comando select:

mysql>selectcabecera.nombre,detalle.remediofromcabecera,detallewhere ->cabecera.factura=1 and detalle.factura=1;

+--------+------------+ | nombre | remedio +--------+------------+ | pablo | mejoral | |

| pablo | aspirina | | pablo | vitamina c | | pablo | cebion +--------+------------+ |

los campos que relacionan estas tablas son el nmero de la factura

Otra forma puede ser: selectcabecera.nombre,detalle.remediofromcabecera,detallewhere ->cabecera.factura=detalle.factura;

esto mostrara todos los campos en orden de relacin.

+--------+------------+

| nombre | remedio +--------+------------+ | pablo | mejoral |

| pablo | aspirina | | pablo | vitamina c | | pablo | cebion |

| juan | complejo B | | juan | contrex | juan | mentol | |

+--------+------------+ 7 rows in set (0.00 sec)

13. BIBLIOGRAFIA

http://es.wikipedia.org/wiki/MySQL http://www.sorgonet.com/linux/mysql/index_es.php http://www.arrakis.es/~chessy/docs/teoria/Tutorial-MySQL.html http://www.mysql.com/documentation/mysql/bychapter/ http://www.mysql.com/doc/F/u/Fulltext_Search.html http://www.mysql.com/doc/I/n/Indexes.html

Potrebbero piacerti anche