sábado, 26 de septiembre de 2015

73 Comandos Basicos para postgres



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’;

lunes, 21 de septiembre de 2015

Mi clase java Postgres

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package abbir;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author Administrador
 */
public class Postgres {
//DATOS PARA LA CONEXION

    private final String database = "abbir";
    private final String hostname = "localhost";
    private final String port = "5432";
    private final String user = "postgres";
    private final String password = "1234";
    private final String gestor = "postgresql";
    private final String url = "jdbc:" + gestor + "://" + hostname + ":" + port + "/" + database;
    private Connection conectar = null;

    //Constructor de clase que se conecta a la base de datoS
    public Connection Postgres() {
        try {
            Class.forName("org.postgresql.Driver");
            conectar = DriverManager.getConnection(url, user, password);
            System.out.println("Conectado a la base de datos [ " + this.database + " " + this.gestor + "]");
        } catch (ClassNotFoundException | SQLException e) {
            System.err.println(e.getMessage());
        }
        return conectar;
    }

    Connection getConnection() {
        return conectar;
    }

    void desconectar() {
        conectar = null;
        System.out.println("La conexion a la  base de datos " + database + " a terminado");
    }
}

domingo, 20 de septiembre de 2015

3 juegos que te harán pensar

3 juegos que te harán pensar

JAN29
Google Play cuenta con miles de juegos entretenidos unos gratuitos otros de pagos, a continuación te presento tres divertidos juegos para pasar el rato, todas con versiones gratuitas.
2048 Number Puzzle game
Descripción
2048 es un juego en línea y para móviles creado en marzo de 2014 por el desarrollador web italiano de 19 años Gabriele Cirulli, cuyo objetivo es deslizar baldosas en una cuadrícula para combinarlas y crear una baldosa con el número 2048. Cuando se crea un mosaico de 2048, el jugador gana.
Cirulli creó el juego durante un fin de semana como prueba para determinar si era capaz de programar un juego desde cero, describiéndolo como un clon de la aplicación 1024 de Veewo Studios, tomando la idea de ampliarlo a 2048 basado en el clon 2048 de Sami "Saming" Romdhana, quedando sorprendido cuando el juego tuvo más de 4 millones de visitas en menos de una semana, especialmente debido a que era un proyecto de fin de semana.0 Cirulli, en una entrevista, declaró que "fue una manera de hacer pasar el tiempo".
Descargar

Logic Maze
Logic Maze es un juego de puzzle para poner a prueba el razonamiento lógico y el coeficiente intelectual. El objetivo es simple: para resolver el nivel en el que sólo hay que llegar a la estrella. Para lograr esto se puede empujar y rotar los bloques, la definición de una estrategia.
Ponga a prueba su razonamiento lógico!
DESCARGAR

Lightbot One Hour Coding

Enseña programación a los niños de la manera más divertida.
Lightbot One Hour Coding está destinado a introducir a los niños que no tienen experiencia alguna programación, y es para todas las edades también. pueden jugar, divertirse y aprender la lógica de programación real.
Lightbot One Hour Coding es un juego puzzle de programación: un juego de puzzle que utiliza la mecánica de juego que están firmemente arraigados en los conceptos de programación. permite a los jugadores ganan una comprensión práctica de los conceptos de control de flujo básicos como la secuenciación de instrucciones, procedimientos y bucles, con sólo guiar a un robot con comandos para iluminar azulejos y resolver los niveles.
DESCARGAR