viernes, 5 de agosto de 2016

MANEJADORES DE BASE DE DATOS

  MySQL 


es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo1 2 , y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.


MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada porDavid Axmark, Allan Larsson y Michael Widenius). MySQL A.B. fue adquirida por Sun Microsystems en 2008, y ésta a su vez fue comprada porOracle Corporation en 2010, la cual ya era dueña desde 2005 de Innobase Oy, empresa finlandesa desarrolladora del motor InnoDB para MySQL.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de doble licenciamiento anteriormente mencionado. La base de datos se distribuye en varias versiones, una Community, distribuida bajo la Licencia pública general de GNU, versión 2, y varias versiones Enterprise, para aquellas empresas que quieran incorporarlo en productos privativos. Las versiones Enterprise incluyen productos o servicios addicionales tales como herramientas de monitorización y soporte oficial. En 2009 se creó un fork denominado MariaDB por algunos desarrolladores (incluido algunos desarrolladores originales de MySQL) descontentos con el modelo de desarrollo y el hecho de que una misma empresa controle a la vez los productos MySQL y Oracle Database.3


Está desarrollado en su mayor parte en ANSI C y C++ . Tradicionalmente se considera uno de los cuatro componentes de la pila de desarrollo LAMP y WAMP.


MySQL es usado por muchos sitios web grandes y populares, como Wikipedia, Google (aunque no para búsquedas), Facebook, Twitter, Flickr, y YouTube.






Es muy normal que utilicemos MySQL a través de páginas PHP y para administrar la base de datos utilicemos un programa como PhpMyAdmin, pero a veces no nos queda otro remedio que acceder a la base de datos a través de la línea de comandos.




MySQL tiene un programa, que se llama con el mismo nombre de la base de datos (mysql) que sirve para gestionar la base datos por línea de comandos. Ese programa, en una instalación de Windows se encuentra en un directorio como




C:\Archivos de programa\MySQL\MySQL Server 4.1\bin




El directorio puede variar, por ejemplo, puede estar localizado en la raíz del disco C:, o en cualquier otro lugar donde podamos haber instalado MySQL. Para acceder a la consola de MySQL en Windows tendremos que estar situados dentro de ese directorio.




En Linux, por supuesto, también se puede acceder a MySQL por línea de comandos. Posiblemente desde cualquier directorio podamos acceder a la consola de MySQL, sin necesidad de situarse en el directorio donde esté instalado. 


Conectar con el servidor MySQL 


Lo primero que tendremos que hacer es conectar con el sistema gestor de MySQL. Para ello, desde la línea de comandos invocamos a MySQL. Para ello, simplemente tenemos que escribir el comando "mysql" e indicarle unas opciones de conexión. 


% mysql 


Con el "%" expresamos el principio de la línea de comandos. Ese principio es el prompt que tengamos en nuestra consola de Linux o MsDOS, que puede ser algo como c:\mysql\bin>. El carácter "%", por tanto, no tenemos que escribirlo. 


Con esa sentencia se conecta uno con la base de datos con los parámetros por defecto. Es decir, al servidor local, con usuario y password igual a cadenas vacías. 


Lo más normal es que tengamos que indicar algún otro dato para conectar con la base de datos, como el usuario, la clave o la dirección del servidor con el que queremos conectar. La sintaxis sería la siguiente: 


% mysql -h nombre_servidor -u nombre_usuario -p 


Si deseamos conectarnos a la base de datos en local y con nombre de usuario root tendríamos que escribir: 


% mysql -h localhost -u root -p 


Lo primero que nos preguntará será el password para el usuario root. Una vez introducida la clave, ya estaremos dentro de la línea de comandos de MySQL. Con ello el prompt cambiará a algo como esto: 


mysql> 


Podríamos haber indicado la contraseña directamente en la línea de comandos para iniciar la sesión con MySQL, pero esto se desaconseja por razones de seguridad. De todos modos, la sintaxis hubiera sido: 


% mysql -h localhost -u root -pmi_clave 


Nos fijamos que entre -h y el nombre del host hay un espacio en blanco, igual que entre -u y el nombre de usuario. Sin embargo, entre -p y la clave no debemos poner ningún espacio. 


Dentro de la consola de MySQL 


Una vez dentro, tendremos a nuestra disposición todas las sentencias de MySQL para el trabajo con la base de datos y el lenguaje SQL. 


Lo más normal es que primero te tengas que conectar con una base de datos en concreto, de entre todas las que puedes tener creadas en tu servidor MySQL. Eso se hace con el comando use, seguido del nombre de la base de datos que deseas conectar. 


mysql> use mibasedatos; 


Esto nos conectaría con la base de datos llamada "mibasedatos". 


Atención: Hay que fijarse que todas las sentencias dentro de la línea de comandos de MySQL acaban en ";". Si no colocamos el punto y coma, lo más seguro es que no se ejecute el comando y nos vuelva a salir el prompt para que sigamos introduciendo el comando. Si lo que queríamos era ejecutar la sentencia que habíamos escrito antes, con simplemente entrar el ";" será suficiente. Es decir, no debemos escribir de nuevo la sentencia entera, sólo el ";" y volver a apretar "enter". 


Si queremos ver una lista de las bases de datos alojadas en nuestro servidor podemos escribir el comando show databases. Así: 


mysql>show databases; 


Con esto nos mostraría una lista de las bases de datos de nuestro servidor. Algo como esto: 


mysql> show databases 

-> ; 

5 rows in set (0.02 sec) 


Si queremos crear una base datos, podremos hacerlo con el comando "create database" seguido del nombre de la nueva base de datos. 


mysql> create database miprueba; 


Eso nos creará una base de datos que se llama "miprueba". Como habíamos comentado, si queremos luego usar esa base de datos escribiríamos: 


mysql> use miprueba; 


Lógicamente, esta base de datos recién creada estará vacía, pero si estuviéramos usando una base de datos ya creada y queremos ver las tablas que tiene escribiríamos el comando "show tables". 


mysql> show tables; 


Si no hay tablas, nos dirá algo como "Empty set", pero si tenemos varias tablas dadas de alta en la base de datos que estamos usando, nos saldrá una lista de ellas: 


mysql> show tables; 

2 rows in set (0.00 sec) 


Ahora, si deseamos obtener información sobre una tabla, para saber qué campos tiene y de qué tipo, podremos utilizar el comando describe seguido del nombre de la tabla. 


mysql> describe administrador; 

4 rows in set (0.11 sec) 


Otras Sentencias SQL 


Desde la consola de MySQL podemos indicar por línea de comandos todo tipo de sentencias en lenguaje SQL, como selecciones, inserciones, actualizaciones, creación de tablas, etc. El mecanismo es el que se puede deducir. Simplemente colocamos la sentencia a ejecutar seguida del punto y coma. Veamos una serie de sentencias seguidas y el resultado de ejecutarlas: 


mysql> create table prueba (id_prueba int); 

Query OK, 0 rows affected (0.08 sec) 

mysql> insert into prueba (id_prueba) values (1); 

Query OK, 1 row affected (0.00 sec) 

mysql> insert into prueba (id_prueba) values (2); 

Query OK, 1 row affected (0.00 sec) 

mysql> insert into prueba (id_prueba) values (3); 

Query OK, 1 row affected (0.00 sec) 

mysql> select * from prueba; 

3 rows in set (0.00 sec) 


En definitiva, podemos ejecutar todas las sentencias que se han aprendido en el manual del lenguaje SQL 


Para salir de la línea de comandos de MySQL 


Una vez hemos terminado de trabajar con MySQL, si queremos cerrar la conexión con el servidor, simplemente escribimos "quit" desde el prompt de MySQL: 


mysql> quit

postgresql
comandos básicos
1)El primer comando nos enseñará como iniciar el cliente de psql en nuestra consola:
psql -U user -W -h host database
Ya hemos hablado un poco de este comando en otro post, dejo el link por si quieres ver en detalle cada parámetro: Primeros pasos en PosgreSQL
2)Nuestro segundo comando nos ayudara a saber la lista de nuestras bases de datos, el comando es:
\l
3)Seleccionar una base de datos o cambiar de base:
\c basename
4)Listar tablas de una base de datos:
\d
Si la lista es muy larga veremos que podemos movernos hacia abajo y luego para salir solo digitamos la letra “q”
5)Para ver la información de la estructura de una tabla en especifico:
\d table
6)Vaciar una tabla en especifico o el famoso TRUNCATE que conocemos:
TRUNCATE TABLE table RESTART IDENTITY
Con este comando borramos el contenido de una tabla y reiniciamos su indice sino agregamos RESTART IDENTITY nuestros indices no seran reiniciados y seguiran según el ultimo registro.
7)Crear una base de datos:
CREATE DATABASE basename;
8)Borrar o eliminar una base de datos:
DROP DATABASE basename;
9)Borrar o eliminar una tabla en especifico:
DROP TABLE tablename;
10)Enviar resultados de una consulta a un archivo delimitado por |
COPY (SELECT * FROM tablename) TO '/home/tablename.csv' WITH DELIMITER '|';
Cabe mencionar que el archivo necesito permisos de escritura.
11)Uso de LIMIT y OFFSET
SELECT * FROM table LIMIT limit OFFSET offset;
Donde:
limit: es nuestro limite de registros a mostrar
offset: indica desde donde comenzaran a mostrarce los registros
12)Uso de comillas:
SELECT “column” FROM “table” WHERE “column” = 'value';
Generalmente podemos utilizar comillas dobles para nuestras columnas y comillas simples para nuestros valores, esto no es una regla pero a veces es necesario en casos especiales, tales como cuando ocupamos nombres reservados, por ejemplo:
SELECT to FROM table;
En este caso tenemos un campo llamado “to”, esto nos dará un error de sintaxis, por lo tanto tendremos que usar comillas dobles:
SELECT “to” FROM table;
13)Salir del cliente psql:
\q

No hay comentarios:

Publicar un comentario