Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
Importar y exportar datos en Postgres y MySQL

Exportar de Postgres a un archivo texto

Lo mas sencillo que se puede hacer es exportar todos los datos de una tabla a un archivo texto separando los campos por TABS (TSV), la sentencia sería algo así:

copy tabla1 to '/tmp/tabla1.txt';


Si se quiere exportar especificando un separador, como por ejemplo la "coma" para obtener un CSV:

copy tabla1 to '/tmp/tabla1.csv' with delimiter ',';

Podemos especificar además que campos de la tabla queremos exportar:

copy tabla1(campo1, campo2) to '/tmp/tabla1.csv' with delimiter ',';

Vamos a añadir los nombres de los campos en la primera linea del archivo y queremos encerrar los campos de texto entre comillas (útil cuando los campos de texto puedan tener saltos de línea o caracteres que coincidan con el separador):

copy tabla1(campo1, campo2) to '/tmp/tabla1.csv' with delimiter ',' csv header quote '"'; 


Existen otras opciones, por ejemplo, desde Postgres 8.3 se puede exportar el resultado se una consulta:

copy (select * from t1 inner join t2 on t1.c1 = t2.c1 where t1.c2=0) to '/tmp/tabla1.csv' with delimiter ',' csv header;

Más en http://www.postgresql.org/docs/9.1/static/sql-copy.html

Importar a Postgres desde un archivo texto


Vamos a ir poniendo los ejemplos para importar los mismos archivos que hemos ido exportando.

Para importar un archivo separado por TABS sin encabezado, en esta caso el archivo tiene que tener la misma cantidad de campos que la tabla donde vamos a poner los datos y deben estar en el mismo orden:

copy tabla1 from '/tmp/tabla1.txt';

Si queremos importar un archivo cuyo separador de campos es la coma:

copy tabla1 from '/tmp/tabla1.csv' with delimiter ',';


Podemos especificar que campos queremos importar, esto es muy útil cuando el archivo de texto no tiene todos los campos de la tabla o no estan en el mismo orden en que estan en la tabla:

copy tabla1(campo1, campo2) from '/tmp/tabla1.csv' with delimiter ',';

Por último si el archivo tiene en la primera línea los nombres de los campos y los campos texto puedan estan encerrados entre comillas:

copy tabla1(campo1, campo2) from '/tmp/tabla1.csv' with delimiter ',' csv header quote '"';


Sobre el separador 


El separador debe ser un caracter que no cause muchos conflictos, si va a exportar o importar datos numéricos el separador puede ser el TAB, pero en otros casos es necesario usar un separdor propio, una buena elección es la barra vertical (PIPE) "|", no se puede hacer uso de caracteres extraños ya que Postgres los interpreta como más de un caracter.

Exportar de MySQL a un archivo texto


En MySQL vamos a ir directamente al grano, la idea es inicialmente plantearnos que queremos exportar y hacer una consulta para obtener esos datos, por ejemplo:

select * from tabla1 where tabla1.c1=0 


Después especificamos a que archivo queremos exportarlo:

into outfile '/tmp/archivo1.csv'


Y por último especificamos las opciones de que separador queremos usar, si vamos a encerrar los archivos texto entre comillas y cual será el separador de filas, normalmente se debe usar para este último parametro un salto de línea (\n en caso de sistemas UNIX o \r\n para sistemas Windows):

fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';

Uniéndolo todo:

select * from tabla1 where tabla1.c1=0 into outfile '/tmp/archivo1.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';

Ver más en: http://dev.mysql.com/doc/refman/5.1/en/select-into.html

Importar a MySQL desde un archivo texto


Esta si es una sentencia más especifica para este objetivo, LOAD DATA:

load data infile '/tmp/archivo1.csv' into table tabla1 fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';

Ver más en: http://dev.mysql.com/doc/refman/5.0/es/load-data.html

.

15dias (4) agenda 2023 (1) Algo que leer (266) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Astro (1) Banner (1) Base de datos (35) Batalla Cultural (5) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (1) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (3) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (9) Criptomonedas (3) Cultura (1) Cursos (16) Darkweeb (3) Data Mining (1) Debian (18) Deep Learning (2) DeepWeb (7) demografia (9) Deporte y Recreación (9) Deportes (10) desclasificados (7) Desktop (1) developers (1) DevOps (1) Docker (11) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Empleos (1) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) framework (2) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (1) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (22) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (52) java eclipse (2) javaScript (9) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (39) kernel (2) Kotlin (1) Laravel (2) Latin (1) LIbreOffice (1) Libros (4) Linux (48) Linux VirtualBox (1) Literatura (1) Machine Learning (2) Manuales (42) mariaDB (1) Markdown (4) Marketing (1) Matando ladilla (9) Matematricas (1) Math (1) maven (1) metodos https (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (20) MySQL Workbench (1) Nagios (2) Naturismo (1) node (5) Node.js (6) NodeJS (9) NoSQL (1) Oracle (9) Oracle sql (9) Php (3) PL/SQL (1) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (5) Política (1) Postgresql (9) PowerShell (1) programacion (86) Psicologia (11) Python (7) React (1) Recomiendo (1) Redes (31) Redis (2) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (18) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (10) SQL (3) SQL en postgreSQL (39) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Tensorflow (4) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by