You are on page 1of 26

MySQL

Fuente: http://www.salnet.com.ar/inv_mysql/mysql.htm Los sitios web modernos parecen depender cada vez mas y ms en sistemas de bases de datos complejos. Estos sistemas almacenan todos sus datos crticos, y permiten un mantenimiento sencillo en la mayora de los casos. El Structured Query Languaje(SQL) es un lenguaje de base de datos muy popular y su estandarizacin hace bastante fcil almacenar, actualizar y procesar datos. Uno de los ms poderosos servidores SQL es llamado MySQL y sorprendentemente es libre!. Hablar de una base de datos SQL es muy complicado ya que habra que remontarse a los orgenes mismos de las bases de datos relacionales y el objetivo de este Informe no es tan ambicioso, simplemente intenta describir y mostrar una implementacin especfica de un gestor de bases de datos SQL. Objetivos Conocer las ventajas y usos de MySQL. Aprender a instalar y configurar un servidor de SQL. Creacin, modificacin, y borrado de tablas. Fundamentos del lenguaje MySQL

Destinatarios Colegios y Universidades: Administracin de alumnos, carreras, ctedras, calificaciones, horarios, etc. Pymes: Administracin de recursos, sueldos y jornales, empleados, gestin contable, etc. Estudiantes: Aprendizaje. Comercio: Gestin comercial, sueldos y jornales, control de stock, facturacin, ventas, etc. Estado: Administracin de recursos, contabilidad, sueldos y jornales, administracin de personal, etc. Bibliotecas: Administracin de recursos, catlogos, indices, prestamos y devoluciones, etc.

1. Introduccin 1.1. Qu es SQL? SQL es un mtodo basado en un potente lenguaje, para organizar, administrar y consultar datos almacenados en una computadora. SQL es una sigla que deviene de su nombre en ingls "Structured Query Language" (Lenguaje de Consulta Estructurado). Ms especficamente SQL esta definido en torno al modelo de bases de datos relacionales, basado en el lgebra relacional, esto le da a SQL las ventajas que lo imponen como el sistema de mayor aceptacin. Algunas de las ventajas son: Marco terico slido, fundamentado en el lgebra relacional Simplicidad de conceptos (modelo de base de datos: tablas=lineas x columnas) Definicin de vnculos en la consulta, esto le da a SQL una gran flexibilidad Fcil y rpido aprendizaje Arquitectura cliente-servidor Integracin con cualquier lenguaje de programacin Estandarizacin

1.2.Que es MySQL ? MySQL es un Sistema de Gestion de Base de Datos. Una Base de Datos es una coleccion estructurada de datos. Puede ser, desde una simple lista de articulos a las

inmensas cantidades de informacion en una red corporativa. MySQL es un gestor de bases de datos SQL (Structured Query Language). Es una implementacin ClienteServidor que consta de un servidor y diferentes clientes (programas/libreras).Podemos agregar, acceder, y procesar datos grabados en una base de datos. Actualmente el gestor de base de datos juega un rol central en la informtica, como nica utilidad, o como parte de otra aplicacin. Es un Sistema de Gestin de Base de Datos Relacional. El modelo relacional se caracteriza a muy grandes rasgos por disponer que toda la informacin debe estar contenida en tablas, y las relaciones entre datos deben ser representadas explcitamente en esos mismos datos. Esto aade velocidad y flexibilidad. MySQL es un software de cdigo abierto esto quiere decir que es accesible para cualquiera, para usarlo o modificarlo. Podemos descargar MySQL desde Internet y usarlo sin pagar nada, de esta manera cualquiera puede inclinarse a estudiar el cdigo fuente y cambiarlo para adecuarlo a sus necesidades. MySQL usa el GPL (GNU Licencia Publica General) para definir que podemos y no podemos hacer con el software en diferentes situaciones. Entre otras cuestiones esta licencia aclara que no cuesta dinero a menos que lo incluyamos en un software comercial y tenemos el cdigo fuente. 1.3.Porque usar MySQL? MySQL es muy rpido, confiable, robusto y fcil de usar tanto para volmenes de datos grandes como pequeos (siempre, claro est, comparada con las de su categora, como veremos mas adelante en este informe). Adems tiene un conjunto muy practico de caractersticas desarrolladas en cooperacin muy cercana con los usuarios. Sin embargo bajo constante desarrollo, MySQL hoy en da ofrece un rico y muy til conjunto de funciones. La conectividad, velocidad y seguridad hace de MySQL altamente conveniente para acceder a bases de datos en Internet. 1.4.Breve Historia IBM empez a comercializar en 1.981 el SQL y desde entonces este producto ha tenido un papel importante en el desarrollo de la bases de datos relacionales. IBM propuso y fue aceptada , una versin de SQL al Instituto de Estndares Nacional Americano(ANSI) y desde entonces es utilizado de forma generalizada en las bases de datos relacionales. En 1.983 naci DB2 la ms popular( por lo menos en los grandes ordenadores) de las bases de datos de este tipo hasta estos mismos momentos. En el mundo GNU, una de las bases de datos que se resea en cualquier referencia de aplicaciones de ste tipo bajo LINUX, es MySQL aunque no est incluida en ninguna distribucin ya que no tiene licencia GNU como tal, para comercializarla a ella o a cualquier software que la utilice o se sirva de sta habr que adquirir una licencia. Alrededor de la dcada del 90, Michael Windenis ( monty@analytikerna.se) comenz a usar mSQL para conectar tablas usando sus propias rutinas de bajo nivel (ISAM). Sin embargo, despus de algunos testeos llego a la conclusin que mSQL no era lo suficientemente rpido ni flexible para sus necesidades. De todo esto surgi en una nueva interfaz SQL (claro que con cdigo mas portable) con algunas apariencias similares en la API de C y en los nombres y funciones de muchos de sus programas. Esto haba sido hecho para lograr con relativa facilidad portar aplicaciones y utilidades de MiniSQL a MySQL. El Origen del nombre MySQL no esta perfectamente claro. Algunos lo atribuyen al hecho de que un gran numero de nuestras librerias y herramientas le asignamos el prefijo My por costumbre. Sin embargo la hija de Monty es ademas llamada My. Asi que cual de las dos razones da el nombre a MySQL es aun un misterio. 2. Informacin tcnica 2.1.Principales Caractersticas El principal objetivo de MySQL es velocidad y robustez. Escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconf para potabilidad. Clientes C, C++, JAVA, Perl, TCL. Multiproceso, es decir puede usar varias CPU si stas estn disponibles. Puede trabajar en distintas plataformas y S.O. distintos. Sistema de contraseas y privilegios muy flexible y segura. Todas la palabras de paso viajan encriptadas en la red. Registros de longitud fija y variable. 16 ndices por tabla, cada ndice puede estar compuesto de 1 a 15 columnas o partes de ellas con una

longitud mxima de 127 bytes. Todas las columnas pueden tener valores por defecto. Utilidad (Isamchk) para chequear, optimizar y reparar tablas. Todos los datos estn grabados en formato ISO8859_1. Los clientes usan TCP o UNIX Socket para conectarse al servidor. El servidor soporta mensajes de error en distintas lenguas. Todos los comandos tienen -help o -? Para las ayudas. Diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma flotante, doble precisin, carcter, fechas, enumerados, etc. ODBC para Windows 95 (con fuentes), se puede utilizar ACCESS para conectar con el servidor.

2.2.Sistemas operativos soportados por MySQL: Los siguientes son solo algunos de los Sistemas operativos que soporta MySQL:

AIX 4.x con consulta nativa. BSDI 2.x con el paquete MIT-pthreads incluido.
BSDI 3.0, 3.1 y 4.x con consulta nativa. DEC Unix 4.x con consulta nativa. FreeBSD 2.x con el paquete MIT-pthreads incluido. FreeBSD 3.x y 4.x con consulta nativa. HP-UX 10.20 con el paquete MIT-pthreads incluido. HP-UX 11.x con consulta nativa. Linux 2.0+ con LinuxThreads 0.7.1+ o glibc 2.0.7+ . Mac OS X Server. NetBSD 1.3/1.4 Intel y NetBSD 1.3 Alpha (carece de la marca GNU). OpenBSD > 2.5 con consulta nativa. OpenBSD < 2.5 con el paquete MIT-pthreads incluido. OS/2 Warp 3, FixPack 29 y OS/2 Warp 4, FixPack 4. SGI Irix 6.x con consulta nativa. Solaris 2.5 y con consulta nativa sobre SPARC y x86. SunOS 4.x con el paquete MIT-pthreads incluido. SCO OpenServer con un puerto reciente al paquete de FSU Pthreads. SCO UnixWare 7.0.1. Tru64 Unix Win95, Win98, NT, y Win2000.

La versin libre fue escrita por Michael Windenis, la versin comercial es distribuida por TCX Datakonsulter AB. 3. Instalacin de MySQL en Windows 95 98 3.1.Instalacin Si no tienes una copia de la distribucin de MySQL, descrgala primero de http://www.mysql.com /. Si planeas conectar a MySQL de algn otro programa, probablemente necesitars tambin el MyODBC driver. Puedes descargarlo de la pgina de MySQL. Para instalar cualquier distribucin, descrgala en alguna carpeta vaca y ejecuta el programa de Setup.exe. Por defecto, MySQL-Windows se configura para ser instalado en `C:\mysql '. Si quieres instalar MySQL en otra parte debes arrancar el servidor en otra parte. Por ejemplo, si has movido la distribucin de MySQL a D:\programs\mysql', debes empezar mysqld con: D:\programs\mysql\bin\mysqld basedir. 3.2. Arrancar MySQL en Windows 95 o Windows 98 MySQL usa TCP/IP para conectar un cliente a un servidor. (Esto permitir a cualquier mquina en tu red conectar a tu servidor MySQL.) Debido a esto, debes instalar TCP/IP en tu mquina antes de empezar MySQL. Puedes encontrar TCP/IP en tu CD-ROM de Windows. Hay 2 servidores MySQL diferentes que puedes usar:

mysqld

Compilado con depuracin full y verificacion de asignacin de memoria automtico

Mysqld-opt Perfeccionado para un procesador Pentium.


Los dos anteriores deben trabajar en cualquier procesador de Intel >= i386. Para arrancar el servidor del mysqld, debes iniciar una ventana de MS-DOS y tipear: C:\mysql\bin\mysqld Para apagar el servidor de MySQL ejecuta: C:\mysql\bin\mysqladmin -u root shutdown Si el mysqld no arranca, verifica si el archivo ` \mysql\mysql.err ' contiene cualquier razn para esto o no. 3.3. Correr MySQL en Windows Puedes probar si MySQL est trabajando o no ejecutando las siguientes rdenes: C:\mysql\bin\mysqlshow (Visualiza informacin sobre base de datos que hay en el Sistema) C:\mysql\bin\mysqlshow -u root mysql (Visualiza informacin sobre las tablas de la base de datos mysql) C:\mysql\bin\mysqladmin version status proc C:\mysql\bin\mysql test (Se nos presentar el prompt de la shell, con lo cual podemos enviar comandos al servidor.) Hay dos versiones de la herramienta para la linea de comandos de MySQL: mysql Mysqlc Compilado en Windows , ofrece capacidades de edicin de texto muy limitado. Compilado con el compilador Cygnus GNU y librerias que ofrecen edicin readline.

Si quieres usar mysqlc.exe, debes copiar `C:\mysql\lib\cygwinb19.dll ' a la carpeta de ` \windows\system '. 4. Instalacin de MySQL en Linux. 4.1.Instalacin Binario Una vez descargado el fichero empaquetado tal como: mysql-Version.tar.gz. Se proceder a desempaquetarlo. Se puede hacer de varias formas, pero yo prefiero hacerlo paso a paso: 1. Desempaquetar: gunzip -dfv mysql-Version.tar.gz 2. Despus se realiza el comando tar tar -xvf mysql-Version.tar Este comando tar en mi instalacin lo hice en el directorio /seminario/ con lo que en ste se cre el directorio: /seminario/mysql-3.23.31-pc-linux-gnu-i686 que como vemos no es muy prctico su manejo, con lo que se recomienda (en la propia gua de instalacin del MySQL) que se realice un acceso directo con el comando ln (hacer Links entre ficheros) ln -s mysql-3.23.31-pc-linux-gnu-i686 mysql Y haciendo cd mysql estaremos naturalmente en el directorio de MySQL Si tu eres nuevo en MySQL y nunca lo has instalado antes, necesitas crear los permisos por default, as que teclea... scripts/mysql_install_db para darlos de alta. Y si todo ha funcionado perfectamente estaremos en disposicin de poder arrancar el servidor de la base da datostecleando: bin/safe_mysqld &

4.2. Instalacin Fuentes Vimos que las versiones precompiladas para LINUX y las de Windows, son tan simples como desempaquetar y ocupar. Ahora veremos que aqu la cosa no es tan simple.

Baja el archivo comprimido en tu directorio fuente y descomprimelo de la misma forma que en el apartado anterior Esto podra crear un directorio llamado mysql-version, el cual contiene los cdigos fuentes. Muvete al directorio tecleando cd mysql-version y chequea los varios archivos README e INSTALL. Ellos son salvavidas en muchas situaciones peligrosas. MySQL viene con un script de configuracin. Simplemente teclea ./configure y deja que las cosas ocurran por si mismas. Si tu necesitas especificar que sucede y donde, teclea ./configure --help y te da una lista de opciones para escoger. Por ejemplo si estas compilando en una maquina con poca memoria, puedes optar por la bandera --with-low-memory . Me gusta instalar MySQL en un rbol prximo de directorios mejor dicho en varias localidades de mi maquina, as yo digo la localizacin de la instalacin con la bandera --prefix . Tambin puedes especificar otras varias opciones, como que compilar y que saltarse. Asumiremos que deseamos todas la cosas bajo /usr/local/mysql en nuestro servidor. Esto significa que deberas de teclear ./configure --prefix=/usr/local/mysql. El script de configuracin podra correr e inspeccionar tu sistema y entonces construir los archivos necesarios para la compilacin exitosa. Si falla, pudieses obtener un mensaje de error de mucha ayuda dicindote el porque. Con frecuencia, podras encontrar en el script por que fallo, cuando ests observando o buscando las libreras de hilos. Chequea que tengas los MIT-pthreads instalados en tu maquina, si no adicinalos. Los usuarios de Linux, tendran que obtener los Linuxthreads. Estas son libreras criticas que alojan la multitarea de MySQL. (Que sirve para correr mltiples versiones de si mismo). Las distribuciones recientes de Linux, pueden contener estas libreras instaladas. Si todas las cosas van de acuerdo al plan, simplemente teclea make y tomate un caf. MySQL es un programa complejo y toma algn tiempo compilarlo. Si tienes un error, chequea la documentacin y ve si existe alguna cosa especificada que hayas olvidado en particular para tu sistema operativo. Despus, teclea make install y todos los archivos necesarios quedaran instalados en todos los lugares. Ahora estas casi listo para seguir. Igual que en el apartado anterior teclea: scripts/mysql_install_db . Estas listo para continuar. Puedes entrar al directorio raz (root) de tu instalacin de MySQL ( /usr/local/mysql ) y teclea bin/safe_mysqld & 5. Utilizacin del Programa: 5.1. Estructura de MySQL Una vez instalado en Linux el gestor de bases de datos tendremos los siguientes ficheros y directorios: En Linux Directorios:

bin data include lib mysql-test scripts share sql-bench suport-files

tests
ficheros:

COPVING COPVING.LIB ChangeLog INSTALL-BINARY README Configure manual.html manual_toc.html

En los ficheros README, INSTALL-BINARY, manual.html, etc., viene informacin sobre la instalacin del servidor de bases de datos, manual de funcionamiento, etc. que es bastante completo y efectivo (parte de este informe est basado en ellos). En Windows: Carpetas:

bench bin data Docs examples include lib scripts share

Archivos: infolist my-example mysqlbug Readme Uninst.isu

Dentro del directorio /data encontraremos como subdirectorios de este cada una de las bases de datos que vamos creando. En el momento de la instalacin se define por defecto los archivos en los que se apoya el sistema de seguridad, esta base de datos es "mysql". En esta base de datos es donde se guardarn todos los permisos y restricciones a los datos de nuestras bases de datos. El directorio /bench encontraremos ejemplos de SQL. El directorio /share contiene los mensajes de error del servidor en cada uno de los idiomas que est disponible. Los directorios /include y /lib se encuentran los ficheros *.h y las libreras necesarias. El directorio /bin estn todos los ficheros ejecutables, entre los ms importantes destacaremos: 'mysql' Una Shell de SQL (con readline de GNU). Se puede usar tanto interactivamente como no. 'mysqladmin' Utilidades de administracin. Crear/borrar base de datos. Informacin sobre procesos y versiones. 'mysqld' El SQL "deamon" (demonio).Debe estar siempre ejecutndose. 'mysqlshow' Visualiza informacin sobre base de datos, tablas y campos.

'safe_mysqld' Arranca "mysqld". 'mysqlaccess' Script para chequear los privilegios de una combinacin: Host, Usuario y base de datos. 'mysqlbug' Se utiliza para enviar los posibles errores (bug) que encontremos en el gestor. 'mysql_install_db' Crear grandes tablas con privilegios por defecto, se ejecuta cuando se instala por primera vez en un sistema nuevo. 'isamchk' Chequea, optimiza y repara tablas. La principal herramienta de MySQL es mysqladmin, la cul como parece indicar su nombre es la encargada de la administracin. MySQL crea por defecto al usuario root con todos los permisos posibles habilitados, podemos utilizar este usuario como administrador o crear otro, por ejemplo mysqladmi. Como el usuario root lo crea sin clave de acceso, lo primero que debemos hacer es asignarle una: mysqladmin -u root -p password "miclave" A partir de ahora cualquier operacin que hagamos como root deberemos especificar la clave. Hay que destacar que entre el modificador -p y la clave no debe haber espacios. mysqladmin -u root -pmiclave Pues bien, ya estamos preparado para crear una base de datos mysqladmin -u root -pmiclave create mibasededatos Para borrarla mysqladmin -u root -pmiclave drop mibasededatos Para cada base de datos que nosotros creamos, MySQL crea un directorio con el nombre que le hemos asignado a la base de datos. Dentro de este directorio, por cada tabla que definamos MySQL va ha crear tres archivos: mitabla.ISD, mitabla.ISM, mitabla.frm El archivo con extensin ISD, es el que contiene los datos de nuestra tabla, el ISM contiene informacin acerca de las claves y otros datos que MySQL utiliza para buscar datos en el fichero ISD. Y el archivo frm contiene la estructura de la propia tabla. Dado que las bases de datos de MySQL son simples ficheros de un directorio, para realizar copias de seguridad, podremos utilizar las herramientas de compresin que habitualmente usamos en nuestro sistema y luego copiarlo a otro lugar, o simplemente esto ltimo. 5.2.Administracin (Seguridad) El sistema de seguridad de MySQL garantiza que cada usuario pueda hacer las cosas que le estn permitidas (nada ms y nada menos). El sistema decide los diferentes privilegios dependiendo de "QU USUARIO" conectado a "QU BASE DE DATOS" desde "QU HOST". El sistema de privilegios est basado, como no, en el contenido de 5 tablas, host, user, db, tables_priv, colums_priv de la base de datos "mysql". La tabla user contiene informacin sobre los usuarios, desde que mquinas pueden acceder a nuestro servidor MySQL, su clave y de sus diferentes permisos. La tabla host nos informa sobre que mquinas podrn acceder a nuestro sistema, as como a las bases de datos que tendrn acceso y sus diferentes permisos. Finalmente, las tablas db, tables_priv, columns_priv nos proveen de un control individual de las bases de datos, tablas y columnas (campos). Database: mysql Tables db host

user tables_priv colums_priv Las columnas de las primeras 3 tablas son: Table: db Field Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Table: host Field Host Db Select_priv Insert_priv Update_priv Type Char(60) Char(32) Char(1) Char(1) Char(1) Null Key PRI PRI N N N Default Extra Type Char(60) Char(32) Char(16) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1) Null Key PRI PRI PRI N N N N N N Default Extra

Delete_priv Create_priv Drop_priv Table: user Field Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv

Char(1) Char(1) Char(1)

N N N

Type Char(60) Char(16) Char(16) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1) Char(1)

Null

Key PRI PRI

Default

Extra

N N N N N N N N N N

He aqu una breve descripcin de los diferentes permisos: Select_priv: Permite utilizar la sentencia SELECT Insert_priv: Permite utilizar la sentencia INSERT Update_priv: Permite utilizar la sentencia UPDATE Delete_priv: Permite utilizar la sentencia DELETE Create_priv: Permite utilizar la sentencia CREATE o crear bases de datos

Drop_priv: Permite utilizar la sentencia DROP o eliminar bases de datos Reload_priv: Permite recargar el sistema mediante mysqladmin reload Shutdown_priv: Permite parar el servidor mediante mysqladmin shutdown Process_priv: Permite manejar procesos del servidor File_priv: Permite leer y escribir ficheros usando comando como SELECT INTO OUTFILE y LOAD DATA INFILE Grant_priv: Permite otorgar permisos a otros usuarios Index_priv: Permite crear o borrar ndices Alter_priv: Permite utilizar la sentencia ALTER TABLE Si dejamos en blanco los campos user, host o db, haremos referencia a cualquier usario, servidor o base de datos. Conseguiremos el mismo efecto poniendo el smbolo % en el campo. Se puede siempre comprobar nuestros privilegios con el script "mysqlaccess". Un HOST debe ser un "host local", un numero IP, o una expresin SQL . Si en la tabla "db" la columna host est vaca significa "cualquier host" en la tabla de "host". Si en la tabla "host" o "user" la columna host est vaca significa que cualquier HOST puede crear una conexin TCP con vuestro servidor. Una columna "USER" vaca significa cualquier nombre de usuario. Los privilegios predefinidos en Windows les dan privilegios full a todos los usuarios locales a todas las bases de datos; ya que en la instalacin se crea el usuario root sin password. Debes crear distintos usuarios con distintos permisos. Entre ellos, el usuario administrador de MySQL, con todos los permisos, y como recomendacin de seguridad, el usuario nobody slo con el permiso de ver (SELECT). Debes poner una contrasea para todos los usuarios y quitar la fila en la tabla de mysql.user que tiene Host = ' localhost ' y User = ' ' .

Tambin debes agregar una contrasea para el usuario root. (El siguiente ejemplo empieza quitando al usuario annimo que permite a cualquiera para acceder a la base de datos Test.): C:\mysql\bin\mysql mysql mysql> DELETE FROM user WHERE Host='localhost' AND User=''; mysql> QUIT C:\mysql\bin\mysqladmin reload C:\mysql\bin\mysqladmin -u root password your_password Despus que has puesto la contrasea, si quieres bajar el servidor del mysqld, puedes hacerlo usando esta orden as: mysqladmin -u root -p your_password shutdown 5.3. Primeros Pasos Lo primero que debemos hacer es arrancar el servidor MySQL para realizar cualquier operacin con la base de datos:

En Linux: La forma ms rpida de arrancar el servidor es ejecutando


mysql.server start

y para pararla: mysql.server stop

Se puede realizar lo mismo ejecutando el script safe_mysqld como indica en la gua de instalacin, aunque al final, de una forma o de otra, se ejecuta el fichero "mysqld".

En Windows: Solo tenemos que teclear desde una ventana de DOS lo siguiente
C:\mysql\bin\mysqld.exe y para pararla : C:\mysql\bin\mysqladmin -u root shutdown Una vez realizado esto se pueden ejecutar varios comandos para comprobar que el arranque del servidor ha sido correcto como, por ejemplo, "mysqladmin" cuyo formato completo ser: mysqladmin [OPCIONES] comando comando

donde OPCIONES puede ser:

-f, --force -?, --help -h, --host=#

No realiza la pregunta para confirmar al borrar una tabla. Visualiza esta ayuda . Conexin con el host.

-p, Palabra de paso para la conexin al servidor --password[=...] -P port=... -S socket=... -u, --user=# -V, --version Numero de puerto a usar en la conexin. Fichero Socket para usar en la conexin. Usuario de conexin si no es el usuario actual. Informacin sobre la versin actual .

donde Comando puede ser uno o ms de:

Createm nombre_base_de_datos Crea una nueva base de datos drop nombre_de_base_de_datos Borra una base de datos y todos sus tablas kill identificador_de_procesos "mata " un proceso mysql processlist Muestra una lista de los procesos que se ejecutan en el servidor shutdown Para al servidor status Obtiene un mensaje del estado del servidor version Obtiene la versin del servidor

as que, ejecutando: mysqladmin create nuevabasededatos crearemos una nueva base de datos cuyo nombre ser "nuevabasededatos". Podremos ver los procesos que se estn ejecutando en el servidor con:

mysqladmin processlist

Otro comando importante es el mysqlshow que nos permite ver las bases de datos que existen, por ejemplo, si ejecutamos el comando tal cual: mysqlshow

nos mostrar como resultado: +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ La shell de Mysql podemos arrancarla ejecutando en la lnea de comandos algo como la siguiente sintaxis para entrar. mysql -h host_name -u user_name -pyour_pass Usualmente usted tiene que preguntar al servidor web para un nombre de usuario y password para MySQL, ya que este es el primer servicio por el que usted preguntar primero. Personalmente, cuando yo ingreso a mysql, lo primero que veo es: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is XXXX to server version: 3.22.22 Type 'help' for help. Cuando usted escribe help, ver: MySQL commands: help (\h) Display this text ? (\h) Synonym for `help' clear (\c) Clear command connect (\r) Reconnect to the server. Optional arguments are db and host edit (\e) Edit command with $EDITOR exit (\q) Exit mysql. Same as quit

go (\g) Send command to mysql server ego (\G) Send command to mysql server; Display result vertically print (\p) Print current command quit (\q) Quit mysql rehash (\#) Rebuild completion hash status (\s) Get status information from the server use (\u) Use another database. Takes database name as argument Estos usualmente ayudan cuando uno se pierde durante las aventuras en MySQL... 5.4. Tipos de Datos. Cada columna en una tabla est hecha de un tipo de datos. Hay tres tipos generales de datos: tipos numricos, tipos de fechas y horas y tipos de cadenas de caracteres. En los siguientes ejemplos solo mostrar los tipos de datos ms usados comnmente. M - indica el tamao mximo que se despliega. El tamao mximo legal de despliegue es 255. Numeric Types INT[(M)] Un entero de tamao normal. El rango con signo es -2147483648 a 2147483647. El rango sin signo es 0 a 4294967295. Ejemplo: Age INT; FLOAT[(M,D)] Un nmero de punto flotante de presicin simple. No puede ser sin signo. Se permite valores entre -3.402823466E+38 y -1.175494351E-38. Los nmeros de punto flotante estn hechos para ser muy precisos. Si yo especifico FLOAT(6,2) entonces se permitiran seis nmeros a la izquierda del punto decimal y 2 a la derecha. Fecha y Hora. DATE Una fecha. El rango soportado es '1000-01-01' a '9999-12-31'. MySQL despliega las fechas en formato 'YYYY-MM-DD', pero permite asignar valores a columnas DATE usando cadenas o nmeros. Ej. Today DATE; TIME Un rango hora. Este rango es '-838:59:59' a '838:59:59'. MySQL despliega las horas en formato 'HH:MM:SS', pero permite asignar valores para columnas TIME usando cadenas o nmeros. Ej. Now TIME; Cadenas de Caracteres. CHAR(M) CHAR son cadenas de caracteres de longitud fija a las que se aade espacios a la derecha hasta llegar a la longitud que especific en M. Si usted especifica un tipo de datos como CHAR(60), y la nica entrada son solo 20 caracteres, entonces a la entrada se aaden 40 espacios. Aunque estos espacios se removern cuando el valor se entregue de nuevo. Estas cadenas se compararn por MySQL en forma no sensible a las maysculas a mnos que se le d la palabra clave BINARY. El tamao mximo es de 255 caracteres. Ej. Name CHAR(60); VARCHAR(M) Como el nombre sugiere estas cadenas son de longitud variable. Todos los espacios extra se removern cuando el valor sea almacenado en la base de datos. Esto es importante cuando se tiene espacio limitado en el disco duro, pero puede ser un problema de velcidad. Puede perder hasta 50% de la velocidad de

su base de datos por usar estas cadenas. La explicacin es que en realidad se carga la longitud mxima y guarda todo en memoria. Esto puede causar un retrazo en desarrollo. La longitud mxima es de 255 caracteres. Ej. Name VARCHAR(60); BLOB or TEXT Las columnas BLOB o TEXT tienen una longitud mxima de 65535(2^16 - 1). Pueden almacenar texto y son buenos manteniendo registros grandes como artculos. La diferencia es que las bsquedas BLOB son sensibles a las maysculas, mientras que las bsquedas TEXT no. Estas columnas son usadas cuando los registros estn entre 255 y 65535 caracteres. 5.5. Creando una Base de Datos. Primero, y antes de continuar, observa que todos los comandos MySQL finalizan con un punto y coma ';'. De todas formas, creemos una base de datos llamada info. Para crearla debemos escribir: mysql> create database info; Si todo fue bien ahora debes estar viendo un resultado como: Query OK, 1 row affected (0.03 sec) Para comenzar a usar esa base de datos escribe: mysql> use info; Obtendrs el resultado Database changed. Bien, ahora hemos creado la base de datos info 5.6. Creando Tablas. Aqu es donde los tipos de datos que mencionamos antes son tiles. Cuando se crea una tabla, se especifica todas las columnas y sus tipos de datos. Es posible aadir una columna o manipular columnas existentes una vez que se han creado, lo que luego te ensear. Est bien, esta tabla de ejemplo se llamar usuarios, y tendr un total de tres columnas. 1, el nmero de identificacin, 2, el nombre de la persona, y 3, la direccin de email de esa persona. mysql> CREATE TABLE usuarios ( -> id INT NOT NULL AUTO_INCREMENT, -> nombre VARCHAR (50), -> email VARCHAR (50), -> PRIMARY KEY (id)); Qu significa esto?, bueno, la explicacin seria as: La primera columna es probablemente la ms crtica. Bsicamente, le dice a MySQL que esta columna se va a llamar id, es un entero y su valor no puede ser null, y automticamente incrementar el nmero del registro anterior. Vers cmo se usa en la siguiente seccin: Aadiendo Datos. La columna nombre es una cadena de longitud variable. Su longitud tiene un mximo de 50 caracteres. La columna del email es mas o menos la misma cosa. Qu es entonces la parte del PRIMARY KEY? El PRIMARY KEY es una columna que MySQL usa como ndice. Este ndice puede hacer cosas como: 1. Hallar rpidamente filas que acierten una clausula WHERE.

2. Regresar filas de una tabla desde otras tablas cuando se realizan uniones. 3. Organizar o agrupar una tabla si el ordenado se hace en el prefijo izquierdo de la llave usable. Esto definitivamente te va a ayudar a agilizar sus peticiones tambin. 5.7. Aadiendo Datos. Aadiendo datos a una tabla no es un proceso tan difcil. Bsicamente tienes que especificar en cual tabla vas a insertar los valores y luego los inserta. La sintaxis es como sigue: mysql> INSERT INTO usuarios VALUES ('', -> 'Cristian', 'cristianh79@uole.com'); La respuesta debera ser algo como la siguiente: Query Ok, 1 row affected (0.05 sec) Nota: Cuando se aaden datos y no se tiene ningn valor para una columna, aun as debe tenerla listada. Por ejemplo, si yo no tuviera una direccin de correo electrnico, la sintaxis sera como la siguiente: mysql> INSERT INTO usuarios VALUES ('','Cristian',''); 5.8. Viendo Datos. Luego de aadir datos a su tabla, probablemente quiera revisarlos para asegurarse de que todo va como fue planeado. Para hacerlo, debe usar el comando SELECT. Para ver todos los datos en la tabla, debera usar algo como: mysql> SELECT * FROM usuarios; Esto le dar una salida como: +----+------------+-----------------------------+ | id | nonmbre | email | +----+------------+-----------------------------+ | 1 | Cristian | cristianh79@uole.com | | 2 | Sandra | s_alincastro@yahoo.com | +----+------------+-----------------------------+ 2 rows in set (0.00 sec) Digamos que usted quiere seleccionar una fila en particular, usted debe usar un comando como: mysql> SELECT * FROM users WHERE (name='Cristian'); Esto le entregar: +----+---------------+---------------------------------+ | id | nombre | email | +----+---------------+---------------------------------+ | 1 | Cristian | cristinh79@uole.com |

+----+---------------+---------------------------------+ Tambin puede seleccionar columnas especficas con: mysql> select nombre from usuarios; +----------------+ | nombre | +----------------+ | Cristian | | Sandra | +----------------+ 2 rows in set (0.06 sec) 5.9. Modificando Datos. Si ya tienes datos en la base de datos que necesitan ser modificados, puede cambiarlos usando el comando UPDATE en mysql. Se usa ms o menos as: mysql> UPDATE usuarios SET email = 'peter2mil@latinmail.com' -> WHERE email = 'cristianh79@uole.com'; Esto cambiar todas las filas donde el email sea 'cristianh79@uole.com' a 'peter2mil@latinmail.com'. En este caso, solo una entrada fue cambiada. 5.10. Eliminando Datos. Si quieres remover datos de la base de datos, puede usar el comando DELETE de MySQL. Su uso es como sigue: mysql> DELETE FROM usuarios WHERE (nombre='Sandra'); Esto eliminara la entrada de Sandra a la base de datos, dejando solamente la entrada de Cristian en ella. Hasta el momento solo hemos cubierto una pequea porcin de los comandos de MySQL. Aun hay bastantes comandos avanzados que puede integrar en sus peticiones SQL. 5.11. Funciones de Bsqueda. Como viste en los ejemplos anteriores, MySQL tiene la habilidad de encontrar datos especficos en una bsqueda. Aun no he cubierto las bsquedas en general, as que aqu van: El caracter % es el caracter comodn en MySQL. Esto es que puede representar cualquier cosa, literalmente. Para hacer una bsqueda general, usaramos la siguiente sintaxis: mysql> SELECT * FROM usuarios WHERE -> (nombre LIKE '%B%'); Esto resultar en buscar cualquier cosa con la letra mayscula B en la columna nombre. Nota que he usado dos %. Esto revisa cualquier cosa antes y despus de sa letra. Tambin podra haber usado uno. Puedes colocar el signo % en cualquier lugar de la bsqueda, ya que la bsqueda est basada en la

localizacin de se carcter. Otro carcter comodn es el carcter _. ste buscar exactamente un carcter. Para usar un carcter literal en sus bsquedas use tambin Order By: mysql> SELECT * FROM usuarios WHERE -> (nombre = 'Juan%') ORDER BY id DESC; Esto regresar todos los registros que contienen a alguien con su primer nombre Juan, y ordenar el resultado por el nmero de identificacin en forma descendente. Por defecto el ordenado es ascendente, por lo que si usted quiere ordenar en esta forma solo tiene que escribir ORDER BY id o aadirle la palabra ASC. 5.12. Operadores Lgicos. Una de las mejores caractersticas de MySQL es su soporte total para las operaciones lgicas. Ahora los nombrar y mostrar ejemplos de ellos. NOT ! mysql> SELECT * FROM usuarios WHERE -> (nombre != 'Cristian'); mysql> SELECT * FROM users WHERE -> (nombre NOT = 'Cristian'); Esta peticin regresar todos los registros sin 'Cristian' en ellos. AND && mysql> SELECT * FROM usuarios WHERE mysql> (nombre = 'Cristian') AND mysql> (email = 'cristianh79@uole.com'); mysql> SELECT * FROM usuarios WHERE -> (nombre = 'Cristian') && -> 'cristianh79@uole.com'; Esta peticin regresar todos los registros con 'Cristian' presente en el nombre Y 'cristianh79@uole.com' en el email. OR || mysql> SELECT * FROM users WHERE -> (nombre = 'Cristian') OR -> (email = 'peter2mil@latinmail.com');

mysql> SELECT * FROM users WHERE -> (nonmbre = 'Cristian') || -> (email = 'peter2mil@uole.com'); Esta peticin regresar todos los registros que contengan a 'Cristian' presente en el nombre O los que contengan 'cristianh79@uole.com' en el email. 5.13. Manipulando Tablas. Digamos que ya hiciste tu tabla, y has entrado toda clase de datos en ella. Ahora has llegado a un problema... el lmite de caracteres para una columna es demasiado pequeo para lo que necesitas ahora. Y no deseas eliminar todos estos datos, TIENES que cambiar la tabla de alguna forma. Puedes manipular las tablas que ya han sido creadas. El comando para esta tarea se conoce como ALTER TABLE. Solo una nota: es posible mezclar todos estos comandos, usualmente separndolos con una coma(,) o solo colocndolos todos en la misma lnea. Juega un poco con ellos para que entiendas de qu estoy hablando. Renombrando una Tabla. mysql> ALTER TABLE usuarios RENAME public;

Cambiando el tipo de datos de una columna. mysql> ALTER TABLE public MODIFY nombre CHAR(150);

Renombrando una tabla y cambiando el tipo de la columna a la vez. mysql> ALTER table usuarios CHANGE -> email emailaddy CHAR (100);

Aadiendo una Columna. mysql> ALTER TABLE public ADD time TIMESTAMP;

Removiendo una Columna. mysql> ALTER TABLE public DROP COLUMN time; Luego de hacer todos esos cambios a la tabla, talvez quieras optimizar la tabla(Especialmente si est usando VARCHARSs, TEXTs o BLOBs, ya que esto optimizar la localizacin de la memoria). Tambin querrs hacerlo si has borrado una gran parte de la tabla. Durante la optimizacin de una tabla, la tabla original est disponible a los clientes, sin embargo, la modificacin de la tabla es detenida hasta que la optimizacin finaliza. La sintaxis es: OPTIMIZE TABLE table_name_goes_here. 5.14. Eliminando una Tabla Entera. Para eliminar(drop) una tabla deberas usar la siguiente sintaxis: mysql> DROP TABLE public;

Si deseas eliminar ms tablas a la vez, debes hacer esto: mysql> DROP TABLE public, usuarios; 5.15.Usando mysql en modo batch En las secciones previas, hemos usado mysql interactivamente para introducir consultas y observar los resultados. Tambin puedes ejecutar mysql en modo batch. Para realizarlo, escribe los comandos que quieras ejecutar en un fichero, despus pdele a mysql que lea su entrada desde el fichero: shell> mysql < fichero-batch (N.T.: en algunos libros viene traducido como fichero por lotes) Si necesitas especificar parmetros de conexin en la lnea de comandos, el comando podra parecerse a esto: shell> mysql -h host -u user -p < fichero-batch Enter password: ******** Cuando usas MySQL de esta manera, ests creando un fichero script (de guin), y despus ejecutando el script. Por qu usar un script? He aqu algunas razones: * Si ejecutas una consulta repetidamente (digamos, cada da o cada semana), el construir un script con esta consulta te permite evitar volver a teclearla cada vez que la ejecutes. * Puedes generar nuevas consultas a partir de consultas ya existentes similares simplemente copiando y editando los ficheros script. * El modo batch puede ser tambin muy til cuando ests desarrollando una consulta, particularmente para comandos multi-lnea o mltiples secuencias de comandos de mltiples sentencias. Si cometes un error, no necesitas reescribir todo. LOAD DATA Para cargar una tabla puedes crear un fichero de texto, por ej. "usuarios.txt" conteniendo un registro por lnea, con valores separados por tabuladores, y dados en el orden en el que las columnas fueron listadas en la sentencia CREATE TABLE. Para valores perdidos (como email desconocidos), puedes usar valores NULL. Para representar estos en tu fichero de texto, use \N. Por ejemplo, el registro para Cristian sera algo como esto (donde el espacio en blanco entre valores es un simple caracter de tabulacin): 1 Cristian cristianh79@uole.com Para cargar el fichero de texto "usuarios.txt" en la tabla usuarios, usa este comando: mysql> LOAD DATA LOCAL INFILE "usuarios.txt" INTO TABLE usuarios; Puedes especificar el valor de separacin de columna y el marcador de final de lnea explcitamente en la sentencia LOAD DATA si lo deseas, pero por defecto equivalen a TAB y LF (intro). Estos valores por defecto son suficientes para que la sentencia que lee el fichero "usuarios.txt" funcione correctamente. Aunque esto, ni remotamente, cubre todas las caractersticas disponibles en MySQL, si raspa la superficie lo suficiente para atrapar tu inters. 6. Mysql Comparado con otras Bases de Datos El Gestor de bases de datos , MySQL , comparado con los de su categora , es considerado como el ms rpido y robusto tanto para volmenes de datos grandes como pequeos. Pero est rapidez es a costa de no implementar ciertos aspectos del SQL. Estos aspectos son por una lado los Triggers y por otro lado la Lgica Transaccional. Los triggers no es nada ms que una porcin de cdigo almacenado que se "dispara" o se ejecuta cuando se realiza una operacin ( actualizacin, borrado, etc.) con la base de datos. Naturalmente comprobar la propia

existencia de disparador y ejecutarlo si existe consume recursos y tiempo y es como su propio manual indica, la nica razn por la que los triggers no estn soportados. Un aspecto muy importante en cualquier base de datos relacional es la consistencia de las diferentes tablas que la componen, para conseguir esto de una forma ms o menos fcil es utilizando la "Lgica Transaccional, ser el propio gestor de base de datos el que proporcione mecanismos de bloqueo de ficheros y consolidacin o retroceso en la operaciones con las tablas. Pues bien Mysql no soporta las transacciones en aras simplemente de la velocidad (o por lo menos as lo indican en sus comentarios) , slo nos podemos ayudar con los comandos LOCK tables /UNLOCK tables que permiten bloquear tablas impidiendo que otros usuarios puedan acceder a ellas pero sin la posibilidad de deshacer las operaciones realizadas con los datos. 6.1.MySQL comparado con msql mSQL deber ser ms rpido al: Hacer pruebas que realizan repetidas conexiones y desconexiones, ejecutando una consulta muy simple durante cada conexin. Operaciones INSERT muy simples en las tablas, con pocas columnas y llaves. CREATE TABLE y DROP TABLE. SELECT sobre algo que no sea un ndice. (examinar una tabla es muy fcil.)

Despus de que la conexin se establece, MySQL debe realizarlo mucho mejor. Por otro lado, MySQL es mucho ms rpido que mSQL en la mayora de las otras implementaciones del SQL. Por ejemplo en lo siguiente: Operaciones SELECT complejas. Recuperando resultados grandes (MySQL tiene un protocolo mejor, ms rpido, y ms seguro).

Tablas con strings de longitud variable, porque MySQL es ms eficiente al manipularlos y puede tener ndices en columnas de VARCHAR. Manejando tablas con muchas columnas. Manejando tablas con grandes longitudes de registro. SELECT con muchas expresiones. SELECT sobre grandes tablas.

Manejando muchas conexiones al mismo tiempo. MySQL se multi-enhebra totalmente. Cada conexin tiene su propio hilo de modo que ningn hilo tiene que esperar por otro (a menos que un hilo est modificando una tabla y otro hilo quiera acceder). Una vez que en mSQL, una conexin se establece, todos los otros deben esperar hasta que el primero ha terminado, sin tener en cuenta si la conexin est ejecutando una consulta que es corta o que requiere mucho tiempo. Cuando la primera conexin termina, el prximo puede servirse, mientras todos los otros esperan de nuevo, etc. Joins. mSQL puede ponerse lento patolgicamente si usted cambia el orden de tablas en un SELECT. En tiempo ms de 15000 veces ms lento que MySQL . Esto es debido a la falta de un optimizador en mSQL para pedir tablas en el orden ptimo. Sin embargo, si usted pusiera las tablas en exactamente el orden correcto en mSQL2 y el WHERE es simple y usa columnas con ndice, el Join ser relativamente rpido!. ORDER BY y GROUP BY. DISTINCT. Usando TEXT o BLOB columnas.

Caractersticas SQL GROUP BY y HAVING. mSQL no soporta GROUP BY en absoluto. MySQL soporta GROUP BY a full con HAVING y las siguiente funciones: COUNT(), AVG(), MIN(), MAX(), SUM(), y STD(). CUENTA (*) se perfecciona para volver muy rpidamente si el SELECT recupera de una tabla, ninguna otra columna se recupera, y no hay clusula WHERE. MIN () y MAX () puede llevar argumentos strings. INSERT y UPDATE con clculos. MySQL puede hacer clculos en un INSERT o UPDATE. Por Ejemplo:

mysql> UPDATE SET x=x*10+y WHERE x<20; Aliasing. MySQL has column aliasing. Qualifying column names. In MySQL, if a column name is unique among the tables used in a query, you do not have to use the full qualifier. SELECT con funciones. MySQL tiene muchas funciones. Disk Space Efficiency:Es decir, Qu tan pequea puede hacer sus tablas? MySQL tiene tipos muy precisos, para que usted pueda crear tablas que ocupen un espacio muy pequeo. Un ejemplo de un tipo de dato de MySQL es el MEDIUMINT que tine 3 bytes . Si usted tiene 100,000,000 registros y ahorra un byte por registro, es muy importante. mSQL2 tienen un juego ms limitado de tipos datos, por lo que es ms difcil de conseguir tablas pequeas. Precio: Otro problema importante es la licencia. MySQL tiene una licencia ms flexible que el mSQL, y tambin es menos caro que el mSQL. Cualquier producto que usted quiera usar, recuerde considerar pagar por lo menos por una licencia o apoyo de e-mail. (Le exigen que consiga una licencia si usted incluye MySQL en un producto que usted vende, por supuesto.) 6.2.ARTICULO:MySQL vs PostgreSQL MySQL vs. PostgreSQL

Hemos estado buscando por internet informacin y comparativas sobre MySQL y PostgreSQL para ver cul puede ser mejor, y la informacin es abundante pero confusa. Hay muchos comentarios al respecto, la mayora de ellos catalogables dentro de las "guerras santas" como las que se producen en las comparaciones "Linux vs. Windows", "Mac vs. PC", etc... Para hacerse una idea, basta con ver todas las pginas que aparecen en el buscador google al buscar "postgres vs mysql" o hacer una bsqueda similar en SlashDot. De entre todo lo leido, podemos sacar estas conclusiones: MySQL: Su principal objetivo de diseo fue la VELOCIDAD. Se sacrificaron algunas caractersticas esenciales en sistemas ms "serios" con este fin. Otra caracterstica importante es que consume MUY POCOS RECURSOS, tanto de CPU como de memoria. Licencia GPL a partir de la versin 3.23.19. Ventajas: Mayor rendimiento. Mayor velocidad tanto al conectar con el servidor como al servir selects y dems. Mejores utilidades de administracin (backup, recuperacin de errores, etc). Aunque se cuelgue, no suele perder informacin ni corromper los datos. Mejor integracin con PHP. No hay lmites en el tamao de los registros. Mejor control de acceso, en el sentido de qu usuarios tienen acceso a qu tablas y con qu permisos. MySQL se comporta mejor que Postgres a la hora de modificar o aadir campos a una tabla "en caliente". Inconvenientes: No soporta transacciones, "roll-backs" ni subselects.

No considera las claves ajenas. Ignora la integridad referencial, dejndola en manos del programador de la aplicacin. PostgreSQL: Postgres intenta ser un sistena de bases de datos de mayor nivel que MySQL, a la altura de Oracle,

Sybase o Interbase. Licencia BSD. Ventajas: Por su arquitectura de diseo, escala muy bien al aumentar el nmero de CPUs y la cantidad de RAM.

Soporta transacciones y desde la versin 7.0, claves ajenas (con comprobaciones de integridad referencial). Tiene mejor soporte para triggers y procedimientos en el servidor. Soporta un subconjunto de SQL92 MAYOR que el que soporta MySQL. Adems, tiene ciertas caractersticas orientadas a objetos. Inconvenientes: Consume BASTANTES ms recursos y carga ms el sistema.

Lmite del tamao de cada fila de las tablas a 8k!!! (se puede ampliar a 32k recompilando, pero con un coste aadido en el rendimiento). Es de 2 a 3 veces ms lenta que MySQL. Menos funciones en PHP.

En cuanto a consideraciones de estabilidad del servidor, cada comparativa da datos contradictorios. En general parece que MySQL es ms estable (aunque tambin hay gente que opina lo contrario), y que Postgres tiende a desperdiciar memoria y sobrecargar bastante el sistema (aunque de nuevo, hay opiniones distintas). Como conclusin a la comparacin entre MySQL y Postgres, parece aceptado que MySQL junto con Apache y PHP forman un buen equipo para servir pginas web con contenido dinmico, discusiones, noticias, etc., por ejemplo al estilo de SlashDot. En general, sistemas en los que la velocidad y el nmero de accesos concurrentes sea algo primordial, y la seguridad no sea muy importante (pueda bastar con hacer backups peridicos que se restaurarn tras una caida del servidor). En cambio, para sistemas ms serios en las que la consistencia de la BD sea fundamental (BD con informacin realmente importante, bancos, etc.) PostgreSQL es una mejor opcin pese a su mayor lentitud. Por ltimo, sealar que hace poco Inprise/Borland ha liberado bajo una licencia Open Source (modificacin de la MPL de Mozilla) su BD InterBase 6.0. Tambin sera otra opcin a considerar. Fuentes de informacin: Comparativas:

PHPBuilder.com - MySQL and PostgreSQL Compared PostgreSQL versus MySQL: an unbiased comparison Why Not MySQL? :PR: Postgres Routs Competition in New Benchmark Tests DevShed - MySQL Developer Contests PostgreSQL Benchmarks
Discusiones en SlashDot:

Slashdot | Postgres Beats MySql, Interbase, And Proprietary DBs Slashdot | MySQL Developer Contests PostgreSQL Benchmarks Slashdot:What Database is the best for a Web Site/Small Business? Slashdot | MySQL And PostgreSQL Compared
Enlaces:

Web de MySQL

Web de PostgreSQL Web de Interbase

7.Interfaces Grficas con MySQL Estos programas nos ofrecen una forma de comunicarnos de manera ms amigable con el servidor SQL. 7.1.Para Linux GTKSQL. De instalacin sencilla sin muchas complicaciones, hace lo bsico, ideal para un usuario con un poco de entrenamiento en SQL. Te permite conectarte al servidor y hacer consultas en l.

La opcin de EXPORT permite guardar los resultados de la bsqueda en archivos de texto o en tablas con formato HTML. KMySQLAdmin. Las cosas mejoran, kysqladmin te permite hacer lo mismo que el paquete anterior pero con mucha mas elegancia en su diseo.

Crear tablas es sencillo y adems permite agregar datos. Solo un pequeo problema, se sale cuando haces consultas demasiado grandes. MySQLGUI El abuelito de las interfaces grficas para MySQL. Su diseo no es uniforme pero es una buena opcin si lo nico que quieres es administrar el servidor.

7.2.Para Windows myAdmin El myAdmin es un rpido cliente de mysql. Corre sobre libmysql.dll de TCX, y debe ser capaz de conectar a cualquier servidor de mysql. Al menos por el momento puedes bajarlo de: http://members.xoom.com/qabi/myadmin/myAdmin1.0.1.0.zip. MySQLWinAdmin Administrador de MySQL para Windows es un simple front-end de la administracin grfica MySQL para los usuarios de Windows. Trabaja con Windows 95,98 y NT 7.3.phpMyAdmin Un conjunto de scripts de PHP3 para administrar MySQL sobre la Web. ( corre en Linux y en Windows )

Versin 2.0.6 - 12/05/1999 http://www.phpwizard.net/phpMyAdmin / Requisitos: PHP3 MySQL (probado con 3.21.x, 3.22.x y 3.23.x, tambin trabaja en 3.20.x, pero en este caso las ordenes "SHOW" deben comentarse fuera en index.php3) a web-browser (doh!) phpMyAdmin maneja la adminstration de MySQL sobre WWW. Generalmente puede: - crear y eliminar bases de datos - crear, copiar, eliminar y alterar tablas - borrar, editar y agregar campos - ejecutar cualquier declaracin de SQL - manejar claves primarias en campos - cargar archivos de texto en las tablas - crear y leer descargas de tablas - exportar e importar los datos de CSV - administrar una sola base de datos

Instalacion phpMyAdmin puede administrar un -servidor de MySQL entero (necesidades de un Super-usuario) pero tambin una sola base de datos. Para lograr esto ltimo necesitars un puesto como usuario de MySQL que slo pueda leer y escribir en la bade de datos. pasos [1] descarga la distribucin tar xvf phpMyAdmin_x.x.x.tar [2] abre el archivo config.inc.php3 en tu editor favorito y cambia Los valores para el Host, usuario y contrasea. Mira la Documentation.html para una explicacin de todo los valores. [3] se recomienda que protejas el directorio en que instalas phpMyAdmin (a menos que ests en un intranet cerrado), por ejemplo con HTTP-AUTH (en un archivo .htaccess). [4] abre el archivo <www.your-host.com>/<your-install-dir>/index.php3 en tu browser. phpMyAdmin debe desplegar una pantalla de bienvenida y tus bases de datos.

You might also like