1. Crear un Usuario.
[postgres@GNU][~]$
createuser luix
Clase_Maritima=>
CREATE USER pilar with password ‘pilar’;
2. Listando todos los
usuarios
Clase_Maritima=>
du
Clase_Maritima=>
SELECT * FROM pg_user ;
3. Cambiando el
Password de un Usuario.
Clase_Maritima=>
ALTER USER pilar with password ‘123456’;
4. Cambiando el
nombre de un usuario
Clase_Maritima=>
ALTER USER pilar RENAME TO manolo;
5. Borrando Usuarios
[postgres@GNU][~]$
dropuser pilar
Clase_Maritima=>drop
user pilar;
6. Crear una Base
Datos
[postgres@GNU][~]$
createdb Maritima
Clase_Maritima=>
CREATE DATABASE marimar;
7. Listando todas las
Base Datos
Clase_Maritima=> l
Clase_Maritima=>
SELECT datname FROM pg_database ;
[postgres@GNU][~/data]$
psql -l
8. Cambiando el
nombre de una Base datos
Clase_Maritima=>
ALTER DATABASE marimar RENAME TO Maritmar;
9. Borrando una Base
Datos
postgres@GNU][~]$
dropdatadb Maritima
Clase_Maritima=>drop
database Maritima;
10. Accesando a una
Base Datos con un usuario.
[postgres@GNU][~]$
psql -U pilar -h localhost -d Maritima
11. Creando Tablas
CREATE TABLE Pollo (
Codigo char(5),
Nombre varchar(40),
Peso integer ,
Edad date,
Famila varchar(10)
);
12. Creando tabla
desde un SELECT
Clase_Maritima=>
create table Mar as SELECT * FROM pollo;
13. Listando las
Tablas creadas
Clase_Maritima=>dt
Clase_Maritima=>
SELECT * FROM pg_tables;
14. Viendo la
Estructura de una Tabla
Clase_Maritima=>d
pollo
15. Cambiando el
nombre de una Tabla
Clase_Maritima=>
ALTER TABLE pollo RENAME TO pollos;
16. Cambiando el
nombre de un campo de una Tabla
Clase_Maritima=>
ALTER TABLE pollos RENAME edad TO Fecha_Muerte;
17. Agregandole un
campo a una tabla
Clase_Maritima=>
ALTER TABLE pollos ADD column sex char(1);
18. Borrando un campo
de una tabla
Clase_Maritima=>
ALTER TABLE pollos DROP sex;
19. Cambiando el tipo
de dato de una columna de una tabla.
Clase_Maritima=>
ALTER TABLE pollos ALTER codigo TYPE varchar;
20. Borrando una
Tabla
Clase_Maritima->
DROP TABLE pollo;
21. Insertando Datos
en una Tabla
Clase_Maritima=>
INSERT INTO pollo VALUES ( ‘1’, ‘Gallina’, 8, Current_date, ‘Criollo’);
22. Insertando datos
a partir de un SELECT
Clase_Maritima=>
INSERT INTO pollos (nombre, famila) SELECT bandera, codigo FROM buque ;
23. Selecionado datos
de una tabla
Clase_Maritima=>
SELECT * FROM pollo ;
24. Muestra el plan
de ejecución de la sentencia
Clase_Maritima=#
EXPLAIN SELECT * FROM buque ;
25. Para saber la
cantidad de registro en una tabla (Count)
Clase_Maritima=#
SELECT count(*) FROM buque ;
26. Selecionar los
registros no repetidos de una campo (DISTINCT)
Clase_Maritima=#
SELECT distinct(bandera) FROM buque ;
27. Actualizando
datos de una tabla
Clase_Maritima=>
UPDATE pollo SET nombre = ‘Gallo’ WHERE codigo=1;
28. Borrando
registros de una tabla.
Clase_Maritima=>
DELETE FROM pollo WHERE codigo =’1′;
29. Truncando tablas
Clase_Maritima=>
TRUNCATE pollo ;
30. Agregando una
llave primaria a un campo de una tabla
Clase_Maritima=>
ALTER TABLE pollos ADD CONSTRAINT pk_codigo PRIMARY KEY (codigo);
31. Creando una Vista
Clase_Maritima=#
CREATE VIEW v_pollo as SELECT * FROM pollos ;
32. Seleccionando
datos de una Vista
Clase_Maritima=#
SELECT * FROM v_pollo ;
33. Viendo las Vistas
Creadas
Clase_Maritima=#dv
Clase_Maritima=#
SELECT viewname FROM pg_views ;
34. Borrando una
Vista
Clase_Maritima=# DROP
VIEW v_pollo ;
35. Agreando una
llave foraneas a un campo de una tabla
Clase_Maritima=>
ALTER TABLE pollos ADD CONSTRAINT pk_codigo FOREIGN KEY (codigo) REFERENCES
buque (codigo);
36. Borrando una un CONSTRAINT
Clase_Maritima=>
ALTER TABLE pollos DROP CONSTRAINT pk_codigo;
37. Agregando un
CONSTRAINT CHECK a un campo
Clase_Maritima=>
ALTER TABLE pollos ADD CONSTRAINT c_check check (fecha_muerte >
‘2007-01-01’);
38. Agregando un
CONSTRAINT DEFAULT a un campo
Clase_Maritima=>
ALTER TABLE pollos ALTER peso SET DEFAULT 23;
39. Creando un índice
a una tabla
Clase_Maritima=>
CREATE INDEX pkU_pollo ON pollos (codigo);
40. Creando un indice
unico
Clase_Maritima=>
CREATE UNIQUE INDEX pku_pollo ON pollos (peso );
41. Cambiandole el
nombre a un indice
Clase_Maritima=>
ALTER INDEX pku_pollo RENAME TO pki_pollo;
42. Ver los indices
creados en una Base Datos
Clase_Maritima=>di
Clase_Maritima=>
SELECT indexname, tablename FROM pg_indexes;
43. Borrando un
indice
Clase_Maritima=>
DROP INDEX pku_pollo ;
44. Creando un
sequence
Clase_Maritima=>
CREATE SEQUENCE s_mari start with 1000 increment by 2 maxvalue 1100;
45. Ver el siguente
valor de un sequence
Clase_Maritima=>
SELECT nextval(‘s_mari’);
46. Ver el valor
actual de un sequence
Clase_Maritima=>
SELECT currval(‘s_mari’);
47. Modificar el
valor inicial de un sequence
Clase_Maritima=>
SELECT setval(‘s_mari’, 1000);
48. Utilizando INNER
JOIN
Clase_Maritima=#
SELECT * FROM files f Inner Join lineas l ON l.codigo=f.linea;
49. Utilizando LEFT
OUTER JOIN
Clase_Maritima=#
SELECT * FROM files f LEFT OUTER JOIN lineas l ON l.codigo=f.linea;
50. Utilizando RIGHT
OUTER JOIN
Clase_Maritima=#
SELECT * FROM files f RIGHT OUTER JOIN lineas l ON l.codigo=f.linea;
51. Utilizando FULL
OUTER JOIN
Clase_Maritima=#
SELECT * FROM files f FULL OUTER JOIN lineas l ON l.codigo=f.linea;
52. Utilizando LEFT
OUTER JOIN
Clase_Maritima=#
SELECT * FROM files f LEFT Join lineas l USING(Linea);
53. Utilizando
operador Mayor que
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa > 1000;
54. Utilizando
operador Menor que
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa < 1000;
55. Utilizando
operador Igual
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE buque=’AIDA’;
56. Utilizando
operador Menor o igual que
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa <= 1000;
57. Utilizando
operador Mayor o igual que
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa >= 1000;
58. Utilizando
operador No igual
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa <> 1000;
Clase_Maritima=#
SELECT buque, loa FROM buque WHERE loa != 1000;
59. Utilizando
operador Concatenación
Clase_Maritima=#
SELECT buque||’ ‘ ||dueno FROM buque ;
60. Utilizando EXISTS
SELECT * FROM
boardingclerk WHERE exists(SELECT 1 FROM files);
61. Utilizando
conector IN
SELECT * FROM files
WHERE boarding_clerk IN (31, 33, 35);
SELECT * FROM files
WHERE boarding_clerk NOT IN (31, 33, 35);
62. La cláusula ORDER
BY
Clase_Maritima=#
SELECT * FROM puertos ORDER BY 1 ASC;
Clase_Maritima=#
SELECT codigo, puerto FROM puertos ORDER BY puerto DESC;
63. La cláusula GROUP
BY
Clase_Maritima=#
SELECT buque, count(*) FROM files GROUP BY buque;
64. Funciones para
calcular
Clase_Maritima=#
SELECT AVG(LOA) FROM BUQUE;
Clase_Maritima=#
SELECT MAX(LOA) FROM BUQUE;
Clase_Maritima=#
SELECT MIN(LOA) FROM BUQUE;
Clase_Maritima=#
SELECT SUM(LOA) FROM BUQUE;
65. Operaciones de
conjunto (UNION).
SELECT linea FROM
files
union
SELECT codigo FROM
lineas ;
66. Operaciones de
conjunto (UNION ALL).
SELECT linea FROM
files
union all
SELECT codigo FROM
lineas ;
67. Operaciones de
conjunto (INTERSECT).
SELECT linea FROM
files
INTERSECT
SELECT codigo FROM
lineas ;
68. Utilizando
operadores aritméticos
FCLD=# SELECT 8+3 as
Suma;
FCLD=# SELECT 8-3 as
Resta;
FCLD=# SELECT 8/3 as
Divide;
FCLD=# SELECT 8*3 as
Multiplica;
69. Utilizando
Funciones Matemáticas
FCLD=# SELECT 20-233
as Resta ; — El resultado Sera Negativo
FCLD=# SELECT
abs(20-233) as Resta ; Esta Funcion
FCLD=# SELECT
cbrt(27); — Retorna El cubo
FCLD=# SELECT
round(99.4);
FCLD=# SELECT
round(99.2, 3);
FCLD=# SELECT pi();
FCLD=# SELECT
trunc(99.1);
70. Funciones Cadenas
FCLD=# SELECT
‘Jose’||’Paredes’;
FCLD=# SELECT
bit_length(‘k’) ;
FCLD=# SELECT
char_length(‘jose’);
FCLD=# SELECT
lower(‘GNU’);
FCLD=# SELECT
upper(‘gnu’);
FCLD=# SELECT
initcap(‘manuel’);
FCLD=# SELECT
ascii(‘K’);
FCLD=# SELECT chr(75);
FCLD=# SELECT
md5(‘1’);
71. Funciones Fechas
y Horas
FCLD=# SELECT
abstime(‘now’::timestamp); –convierte a abstime
FCLD=# SELECT
age(‘now’,’1957-06-13′::timestamp); –preserva meses y años
FCLD=# SELECT
to_char(current_timestamp,’HH12:MI:SS’); –convierte datetime a string
FCLD=# SELECT
to_char( now(), ‘HH12:MI:SS’);
FCLD=# SELECT
current_date;
FCLD=# SELECT
current_timestamp;
Clase_Maritima=#
SELECT to_date(fecha_llegada, ‘Mon MM YY’) FROM files ;
Clase_Maritima=#
SELECT to_char(to_date(fecha_llegada, ‘Mon MM YY’), ‘YYYY-Month-Day’) FROM
files ;
FCLD=# SELECT
to_date(’08 Dec 2007 13′, ‘DD Mon YYYY HH’); –convierte string a date
72. Los conectores
lógicos en SQL son AND-OR- NOT
Clase_Maritima=#
SELECT buque, capitan, bandera, loa FROM buque WHERE capitan like ‘A%’ AND loa
<1000 OR loa=2450;
73. Copiando datos
desde un archivo a una tabla
COPY buque FROM
‘/var/lib/pgsql/Buquedatos.txt’;