La base de datos es el corazón de toda empresa o institución , en ella se almacena y se gestiona toda la información que se necesita para operar y crecer. Las bases de datos se manejan a través de SQL (Standar Query Lenguage) que es un conjunto de comandos a través de los cuales podemos insertar, borrar y editar la información de la base de datos además de hacer consultas (queries) sobre la información contenida. PostgreSQL (PgSQL) es un excelente y veloz gestor de base de datos de código abierto que posee características avanzadas como manejo de concurrencia, procedimientos almacenados e integridad referencial. Como en muchos otros casos en el mundo del software libre, uno se sorprende de que algo tan bueno como PostgreSQL pueda ser descargado y usado sin pagar nada.
Instalando PostgreSQL
# apt-get install postgresql
Al instalar PgSQL con apt-get también se instalará psql, el cliente de PostgreSQL, además se añadirá al sistema el usuario postgres. Este usuario será el dueño de la base de datos pues por seguridad no puede ser el root.
Ahora cambiémonos al usuario postgres:
# su postgres
Al instalar PgSQL con apt-get también se instalará psql, el cliente de PostgreSQL, además se añadirá al sistema el usuario postgres. Este usuario será el dueño de la base de datos pues por seguridad no puede ser el root.
Ahora cambiémonos al usuario postgres:
# su postgres
Creando un usuario con el comando SQL CREATE USER
El comando CREATE USER requiere sólo un parámetro: el nombre del nuevo usuario. También hay una variedad de opciones que pueden ser establecidas, incluyendo un contraseña, un ID de sistema explícito, grupo, y un juego de permisos que pueden ser específicamente definidos. Aquí está la sintaxis completa para CREATE USER:
Creamos el usuario
template1=#\q
Crearemos una nueva base de datos
Accedemos a la Base de datos prueba:
Si desea ejecutar comandos de Linux dentro de psql, utilice “\! [comando]“. Para salir de psql sólo escriba “\q” y pulse enter.
Creando tablas y campos
El comando CREATE USER requiere sólo un parámetro: el nombre del nuevo usuario. También hay una variedad de opciones que pueden ser establecidas, incluyendo un contraseña, un ID de sistema explícito, grupo, y un juego de permisos que pueden ser específicamente definidos. Aquí está la sintaxis completa para CREATE USER:
#psql template1
Bienvenido a psql 8.2.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
template1=#
Bienvenido a psql 8.2.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
template1=#
Creamos el usuario
template1=# CREATE USER nombreUsuario
template1-# WITH PASSWORD 'claveUsuario';
CREATE USER
Salimos de template1template1=#\q
Crearemos una nueva base de datos
Accedemos a la Base de datos prueba:
molecula@kepler:~$ psql prueba
Bienvenido a psql 8.2.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
prueba=#
Bienvenido a psql 8.2.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
prueba=#
Si desea ejecutar comandos de Linux dentro de psql, utilice “\! [comando]“. Para salir de psql sólo escriba “\q” y pulse enter.
Creando tablas y campos
De este modo, para crear una tabla es necesario definir el tipo de información que se almacenara en cada columna. PgSQL posee varios tipos de datos, los más usados son:
- VARCHAR(n) Almacena cadena de caracteres de longitud variable, de longitud máxima n.
- CHAR(n). Almacena cadena de caracteres de longitud fija, de longitud n.
- INTEGER. Almacena números enteros como 2,33,107,15228, etc.
- NUMERIC. Almacena números enteros y decimales.
- DATE, almacena fechas.
- FLOAT: numérico con signo de doble palabra y coma flotante.
- TEXT. Guarda textos largos.
- SERIAL. Crea una secuencia y la asigna a una columna como llave de la tabla.
Para crear una tabla se usa el comando “CREATE TABLE nombre_de_tabla”. Por ejemplo, vamos a crear la tabla datos :
prueba=# CREATE TABLE datos( id serial, nombre varchar(50), ci integer, fechnac date, direccion varchar(150));
NOTICE: CREATE TABLE creará una secuencia implícita «datos_id_seq» para la columna serial «datos.id»
CREATE TABLE
prueba=#
NOTICE: CREATE TABLE creará una secuencia implícita «datos_id_seq» para la columna serial «datos.id»
CREATE TABLE
prueba=#
¿Como insertamos algunos datos en la tabla datos?
muy sencillo:
Ahora insertemos algunos registros a nuestra tabla, para ello usamos el comando INSERT INTO, el cual posee el siguiente formato:
INSERT INTO tabla (columna1, columna2) VALUES ('valor uno', 'valor dos');
Por ejemplo:
Ok ahora los visualizamos de la siguiente manera (consulta simple)
prueba=#
Modificar una tabla
Agregar una columna a una tabla:
Renombrar la columna de una tabla:
prueba=#ALTER TABLE datos RENAME COLUMN telefono TO telefonocelular;
Eliminar una columna a una tabla:
prueba=# ALTER TABLE datos DROP COLUMN telefonocelular;
Borrar la tabla:
prueba=# DROP TABLE datos;
prueba=# INSERT INTO datos(nombre,ci,fechnac,direccion) VALUES ('PEDRO PEREZ','5321789','01/05/1945','CALLE SAL SI PUEDES NRO. 20');
INSERT 0 1
prueba=#
INSERT 0 1
prueba=#
Ok ahora los visualizamos de la siguiente manera (consulta simple)
prueba=# SELECT * FROM DATOS;
id | nombre | ci | fechnac | direccion
----+-------------+---------+------------+-----------------------------
1 | PEDRO PEREZ | 5321789 | 1945-05-01 | CALLE SAL SI PUEDES NRO. 20
(1 fila)
id | nombre | ci | fechnac | direccion
----+-------------+---------+------------+-----------------------------
1 | PEDRO PEREZ | 5321789 | 1945-05-01 | CALLE SAL SI PUEDES NRO. 20
(1 fila)
prueba=#
Modificar una tabla
Agregar una columna a una tabla:
Renombrar la columna de una tabla:
prueba=#ALTER TABLE datos RENAME COLUMN telefono TO telefonocelular;
Eliminar una columna a una tabla:
prueba=# ALTER TABLE datos DROP COLUMN telefonocelular;
Borrar la tabla:
prueba=# DROP TABLE datos;
Espero que esta pequeña ayuda te motive a usar postgreSQL ya que es muy sencillo