Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   APORTE: archivo SQL con todos los paises y sus respectivos estados/provincias (http://www.forosdelweb.com/f21/aporte-archivo-sql-con-todos-paises-respectivos-estados-provincias-557815/)

isc_jsh_Chuck 18/04/2008 19:14

Re: APORTE: archivo SQL con todos los paises y sus respectivos estados/provincias
 
De Maravilla yde Pelos :aplauso: lo Implementare en un sitio que estoy construyendo

Saruman 21/05/2008 08:03

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Muy bueno el dato, pero yo no lo haría en dos tablas separadas sinó en una. ¿por qué? por el simple hecho de que la misma puede crecer usando la recursividad (estilo árbol).

ejemplo en PostgreSQL:

tabla "localizacion":

CREATE TABLE localizacion
(
id serial NOT NULL,
parent_id integer NOT NULL,
nombre character varying(128) NOT NULL,
CONSTRAINT pk_localizacion PRIMARY KEY (id)
)

con esta estructura tan simple yo puedo crear una locación de la siguiente manera:

País -> Estado -> Provincia -> Distrito -> Corregimiento

Esto aplica a los paises que lo utilicen, ejemplo, en mi país solo tenemos:

Pais -> Provincia -> Distrito -> Corregimiento

Para paises como México, Estados Unidos y demás que manejen estados sería como el primero, algunos no manejan provincia, eso simplemente se obvia y listo.

para hacer el insert, simple:

Código PHP:

insert into localizacion values(1,0,'Panamá');
insert into localizacion values(2,0,'Estados Unidos');
insert into localizacion values(3,0,'México');
insert into localizacion values(4,0,'Costa Rica'); 

donde el valor cero (0) representa el padre, esto quiere decir que nuestros padres serán los paises.

insertemos ahora hijos para Panamá:

Código PHP:

insert into localizacion values(5,1,'Los Santos');  //Provincia
insert into localizacion values(6,5,'Las Tablas');  //Distrito
insert into localizacion values(7,6,'Peña Blanca');  //Corregimiento 

Como ven, es una forma simple pero a la vez efectiva.

se preguntarán, pero como cargo esto en un drop down?

FACIL: Si sabemos que los que son parent_id = 0 son paises, pues solo es seleccionar esos y de ahi cuando se seleccione un pais, nos devolverá su codigo, ese código a su vez lo parseamos para sacar los hijos haciendo referencia al campo parent_id, ejemplo:

//seleccionamos los paises:

Código PHP:

select from localizacion where parent_id=

Esto nos devolverá: Panamá, Estados Unidos, México y Costa Rica.

y validamos si el pais que seleccionamos tiene hijos:

//supongamos que seleccionamos panama (id = 1)
Código PHP:

select from localizacion where parent_id=

esto nos devolverá: Los Santos
y comprobamos que "los santos" tenga hijo hacemos el paso anterior y así sucesivamente.... esto si se trabaja con full javascript y ajax se logra (asi lo hice yo).

Espero les sirva esto, esta es mi humilde contribución a este temita.

Saludos :si:

guybrush78 22/05/2008 10:44

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Muchas gracias, :aplauso:, está muy completo.

¿Aparte de eso...?, ¿alguien tiene algo así pero de los codigos postales de españa?

cp - localidad - provincia

Gracias.

Blade_Stom 04/06/2008 08:36

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
sin mas....que crack....

radarcba 23/06/2008 11:58

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
:aplauso::aplauso::aplauso: Muchas gracias.

hawaiian050 10/07/2008 18:14

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Exelete todo Gracias .

Saludos

Diegotopet 11/12/2008 10:02

Respuesta: Re: APORTE: archivo SQL con todos los paises y sus respectivos estados/pro
 
a mi me sale este error

CREATE TABLE `estados` ( `id` int(5) unsigned NOT NULL auto_increment, `estado` varchar(100) NOT NULL, `relacion` varchar(100) NOT NULL default '0', PRIMARY KEY (`id`), KEY `codigo_pais` (`relacion`)
Error Code : 1050
Table 'estados' already exists
INSERT INTO `estados` (`id`, `estado`, `relacion`) VALUES (1, 'Badakhshan', '1'), (2, 'Badghis', '1'), (3, 'Baghlan', '1'), (4, 'Balkh', '1'), (5, 'Bamian', '1'), (6, 'Farah', '1'), (7, 'Faryab', '1')
Error Code : 1062
Duplicate entry '1' for key 1
INSERT INTO `estados` (`id`, `estado`, `relacion`) VALUES (3905, 'Port-of-Spain', '222'), (3906, 'Saint Andrew', '222'), (3907, 'Saint David', '222'), (3908, 'Saint George', '222'), (3909, 'Saint Patr
Error Code : 1062
Duplicate entry '3905' for key 1

nicolaspar 11/12/2008 11:02

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Muy bueno, aporto a la causa:

[APORTE] Sql - Datos - Regiones y Comunas de chile

Adolfiten 11/12/2008 22:41

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Gracias fenómeno.

seedcode 12/12/2008 02:38

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Buenisimo aporte, muchas gracias.

genoma 04/01/2009 13:14

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Hola,

Muchas gracias, excelente.

el_guiye 05/02/2009 09:49

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
gracias loco por el aporte, me ahorraste un buen tiempo, lo habia en contrado pero no tam completo, gracias de nuevo :aplauso:

pixelera 27/04/2009 02:15

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
hola!

primero, muchas gracias por el aporte!

al hilo de esto, tengo una duda / problema...

si buscais en la lista de paises "Bélgica" vereis que no lo ordena correctamente, lo pone al final de los paises que comienzan con "B" debe ser que no entiende / ordena bien los acentos...

alguna idea para solucionar esto? he probado a cambiar la codificacion de la tabla, etc... y nada...

gracias!
~

hgp147 27/04/2009 12:22

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Lo ordenas en la consulta:

SELECT * FROM `paises` ORDER BY pais ASC

pive10 28/07/2010 03:19

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Exelente aporte compañero, me ha sido de gran utilidad.

Un saludo.

hgp147 05/04/2011 17:51

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Hola, tengo un SQL con los paises, provincias/estados y sus ciudades (es decir de 3 niveles). Las ciudades son 500000 aprox. Si alguien esta interesado le dejo el link al tema donde lo publique: http://www.forosdelweb.com/f112/list...udades-893319/

Gracias.

pato12 16/05/2011 15:11

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
ya no anda el link, alguien puede subirlo? :D

hgp147 14/08/2011 17:18

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Cita:

Iniciado por pato12 (Mensaje 3855976)
ya no anda el link, alguien puede subirlo? :D

Ya lo volví a subir a: http://hgp147.hostzi.com/paises.sql :-)

vrenzo 15/08/2011 08:39

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Efectivamente ya esta actuializado el vinculo......buen aporte!

vrenzo 15/08/2011 08:44

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Error de mensaje... sorry.

HiraSysCom 07/12/2011 08:29

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Link muerto otra vez, puedes resubirlo?¿

jasminekely28 01/02/2012 12:38

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
hOLA A todos del foro antes habia en este foro la base de datos de Departamentos, Provincias y Distritos con sus respectivos insert procedure. Por favor lo requiero lo mas pronto posible. SI alguien aun lo tiene favor de pasarme el enlace, ya que entre a este enlace http://hgp147.110mb.com/paises.sql y me bota que el enlace No existe por favor pasemelo, lo requeriero con urgencia muchas gracias especialmente de PERU

liloo6retug 13/03/2012 00:13

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Cita:

Iniciado por jasminekely28 (Mensaje 4107798)
hOLA A todos del foro antes habia en este foro la base de datos de Departamentos, Provincias y Distritos con sus respectivos insert procedure. Por favor lo requiero lo mas pronto posible. SI alguien aun lo tiene favor de pasarme el enlace, ya que entre a este enlace http://hgp147.110mb.com/paises.sql y me bota que el enlace No existe por favor pasemelo, lo requeriero con urgencia muchas gracias especialmente de PERU

:aplauso: Oracle???

Los datos los puedes conseguir en
http://www.ziddu.com/download/1936707/Country.csv.html
http://www.ziddu.com/download/1936708/City.csv.html
y acomodarlos como quieras

u_u
Espero te sirvan: tabla, secuencia, disparador y procedimiento
estos los tome de un proyecto que hice para un banco de hojas de vida...


:silbar:
TABLA
CREATE TABLE CIUDADES
(
CIUD_ID NUMBER(30) NOT NULL ,
CIUD_CODPROVINCIA VARCHAR2 (10 BYTE) NOT NULL ,
CIUD_NOMBRECIUDAD VARCHAR2 (100 BYTE) NOT NULL ,
CIUD_CODPAIS VARCHAR2 (10 BYTE) NOT NULL ,
CIUD_NOMBREPAIS VARCHAR2 (100 BYTE) NOT NULL ,
CIUD_CREADOPOR NUMBER(30) NOT NULL ,
CIUD_FECHACREADO DATE NOT NULL ,
CIUD_ACTUALIZADOPOR NUMBER(30) NOT NULL ,
CIUD_FECHAACTUALIZACION DATE NOT NULL
);

COMMENT ON COLUMN CIUDADES.CIUD_ID IS 'CODIGO DE LA CIUDAD';
COMMENT ON COLUMN CIUDADES.CIUD_CODPROVINCIA IS 'CODIGO DE LA PROVINCIA';
COMMENT ON COLUMN CIUDADES.CIUD_NOMBRECIUDAD IS 'NOMBRE DE LA CIUDAD';
COMMENT ON COLUMN CIUDADES.CIUD_CODPAIS IS 'CODIGO DEL PAIS';
COMMENT ON COLUMN CIUDADES.CIUD_NOMBREPAIS IS 'NOMBRE DEL PAIS';
COMMENT ON COLUMN CIUDADES.CIUD_CREADOPOR IS 'CODIGO DEL USUARIO QUE CREA LA INFO' ;
COMMENT ON COLUMN CIUDADES.CIUD_FECHACREADO IS 'FECHA EN LA QUE SE CREA LA INFO' ;
COMMENT ON COLUMN CIUDADES.CIUD_ACTUALIZADOPOR IS 'CODIGO DEL USUARIO QUE ACTUALIZA LA INFO' ;
COMMENT ON COLUMN CIUDADES.CIUD_FECHAACTUALIZACION IS 'FECHA EN LA QUE SE ACTUALIZA LA INFO' ;

ALTER TABLE CIUDADES ADD CONSTRAINT PK_CIUD_ID PRIMARY KEY ( CIUD_ID ) ;


SECUENCIA

CREATE SEQUENCE S_CIUD_ID MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE ;

DISPARADOR

CREATE OR REPLACE
TRIGGER TR_CIUD_ID
BEFORE
INSERT ON CIUDADES FOR EACH ROW DECLARE SECUENCIA NUMBER;
BEGIN
IF INSERTING THEN
SELECT S_CIUD_ID.NEXTVAL INTO SECUENCIA FROM DUAL;
:NEW.CIUD_ID := SECUENCIA;
END IF;
END;

PROCEDIMIENTO

CREATE OR REPLACE
PROCEDURE "PR_CIUD_ID" (
P_CIUD_CODPROVINCIA IN DESARROLLO.CIUDADES.CIUD_CODPROVINCIA%TYPE,
P_CIUD_NOMBRECIUDAD IN DESARROLLO.CIUDADES.CIUD_NOMBRECIUDAD%TYPE,
P_CIUD_CODPAIS IN DESARROLLO.CIUDADES.CIUD_CODPAIS%TYPE,
P_CIUD_NOMBREPAIS IN DESARROLLO.CIUDADES.CIUD_NOMBREPAIS%TYPE,
P_CIUD_CREADOPOR IN DESARROLLO.CIUDADES.CIUD_CREADOPOR%TYPE,
P_CIUD_FECHACREADO IN DESARROLLO.CIUDADES.CIUD_FECHACREADO%TYPE,
P_CIUD_ACTUALIZADOPOR IN DESARROLLO.CIUDADES.CIUD_ACTUALIZADOPOR%TYPE,
P_CIUD_FECHAACTUALIZACION IN DESARROLLO.CIUDADES.CIUD_FECHAACTUALIZACION%TYPE,
P_RETORNO OUT NUMBER)
AS
E_ERROR EXCEPTION;
BEGIN
INSERT INTO DESARROLLO.CIUDADES(
CIUD_CODPROVINCIA,
CIUD_NOMBRECIUDAD,
CIUD_CODPAIS,
CIUD_NOMBREPAIS,
CIUD_CREADOPOR,
CIUD_FECHACREADO,
CIUD_ACTUALIZADOPOR,
CIUD_FECHAACTUALIZACION
)
VALUES (
P_CIUD_CODPROVINCIA,
P_CIUD_NOMBRECIUDAD,
P_CIUD_CODPAIS,
P_CIUD_NOMBREPAIS,
P_CIUD_CREADOPOR,
P_CIUD_FECHACREADO,
P_CIUD_ACTUALIZADOPOR,
P_CIUD_FECHAACTUALIZACION
);
SELECT S_CIUD_ID.CURRVAL INTO P_RETORNO FROM DUAL;
END;

hgp147 26/04/2012 14:44

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Hola a todos, funciona el link en http://hgp147.110mb.com/paises.sql

Suerte!

raptaparty 01/05/2012 10:52

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
al importar este archivo a mi base de datos, se pierden datos, por ejemplo, en lugar de España, sale Espa, creo que esto se debe a que mi base de datos esta en utf8 y esta tabla esta en latin1, de que manera puedo importarla sin que se pierdan datos?, gracias...

pateketrueke 06/11/2012 09:44

Respuesta: APORTE: archivo SQL con todos los paises y sus respectivos estados/provinc
 
Por cierto, este es un verdadero aporte OpenSource sin fines de lucro.

https://github.com/geraldb/world.db

En ves de sacar provecho deberías de compartir lo que tienes, vale mas el reconocimiento de la comunidad que todo el dinero que puedas juntar. ;-)


La zona horaria es GMT -6. Ahora son las 12:48.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.