Postgres Kompakt: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Betreten=
 +
*su - postgres
 +
*psql template1
 +
psql (9.1.8)
 
=Datenbank erstellen=
 
=Datenbank erstellen=
 
*create database my_db;
 
*create database my_db;
Zeile 24: Zeile 28:
 
=Tabelle aus CSV Datei füllen=
 
=Tabelle aus CSV Datei füllen=
 
;Beispiel CSV Datei
 
;Beispiel CSV Datei
*cat /var/lib/mysql-files/my.csv
+
*cat /tmp/my.csv
 
<pre>  
 
<pre>  
 
kw,tests,labor,postiv,prozent
 
kw,tests,labor,postiv,prozent
Zeile 49: Zeile 53:
 
31,573802,161,5551,0.97
 
31,573802,161,5551,0.97
 
</pre>
 
</pre>
*load data infile "/var/lib/mysql-files/my.csv" into table my_table fields terminated by ',' lines terminated by '\nignore 1 rows;
+
 
 +
*copy my_table from '/tmp/my.csv' delimiter ','  csv header;
 +
 
 
=Tabelle löschen=
 
=Tabelle löschen=
 
*drop table my_table;
 
*drop table my_table;
 
=Spalte hinzufügen=
 
=Spalte hinzufügen=
*alter table my_table  add column test_p_1000 int(16);
+
*alter table my_table  add column test_p_1000 int;
 +
 
 
=Spalte entfernen=
 
=Spalte entfernen=
 
*alter table my_table  drop column test_p_1000;
 
*alter table my_table  drop column test_p_1000;
Zeile 64: Zeile 71:
 
*select * from my_table where tests > 500000 order by labor;
 
*select * from my_table where tests > 500000 order by labor;
 
=Sichern in CSV Datei=
 
=Sichern in CSV Datei=
*select * into outfile "/var/lib/mysql-files/backup.csv" fields terminated by ',' enclosed by '"lines terminated by '\n' from my_table;
+
*copy my_table to '/tmp/my1.csv' delimiter ','  csv header ;
 
=Backup einer Datenbank=
 
=Backup einer Datenbank=
*mysqldump my_db > my_db.sql
+
*pg_dump -C my_db > my_db.sql
 +
=Datenbank löschen=
 +
*drop database my_db;
 
=Restore einer Datenbank=
 
=Restore einer Datenbank=
*mysql my_db  <  my_db.sql
+
*pg_restore -f my_db.sql
 +
 
 
=Reihe löschen=
 
=Reihe löschen=
 
*delete from my_table where kw=11;
 
*delete from my_table where kw=11;
Zeile 74: Zeile 84:
 
*select * from my_table order by KW desc limit 1;
 
*select * from my_table order by KW desc limit 1;
 
=Benutzer angelegen=
 
=Benutzer angelegen=
*create user 'tuxman'@'localhost' identified by 'Suxer-88';
+
*create user tuxman password 'Suxer-88';
 +
 
 
=Benutzer Rechte gewähren=
 
=Benutzer Rechte gewähren=
*grant all privileges on my_db.* to 'tuxman'@'localhost' ;
+
*grant all on database my_db to tuxman;
*flush privileges;
+
 
 
=Tabelle mit Primären Schlüssel=
 
=Tabelle mit Primären Schlüssel=
*create table my_table (kw int(4) primary key , tests int(16), labor int(16) , postiv int(16), prozent float)
+
*create table other_table (kw int primary key , tests int, labor int , postiv int, prozent float);
 
=Spalte mit Werte generieren=
 
=Spalte mit Werte generieren=
*alter table my_table add column prozent float default( postiv / tests * 100);
 
 
=Duplizieren einer Tabelle=
 
=Duplizieren einer Tabelle=
*create table my_new_table like my_table;
+
*create table my_new as table my_table;
 +
*create table my_new as table my_table with no data;
 +
 
 
=Select Into=
 
=Select Into=
*select * into my_table from rki_csv where AnzahlGenesen=1 and Landkreis = "SK Zweibrücken";
 
 
=Datentyp einer Spalte ändern=
 
=Datentyp einer Spalte ändern=
*alter table rki_all modify column Datenstand timestamp;
 

Aktuelle Version vom 7. Februar 2024, 10:34 Uhr

Betreten

  • su - postgres
  • psql template1

psql (9.1.8)

Datenbank erstellen

  • create database my_db;

In Datenbank wechseln

  • \c my_db

Tabelle erstellen

  • create table my_table (kw int4, tests int, labor int , postiv int, prozent float);

Beschreibung der Tabelle anzeigen

  • \d my_table;

Werte in Tabelle einfügen

  • insert into my_table values(11,127457,114,7582,5.95);
  • insert into my_table values(12,348619,152,23820,6.83);
  • insert into my_table values(13,361515,151,31414,8.69);
  • insert into my_table values(14,408348,200,36885,9.3);

Wert in einer Reihe ändern

  • update my_table set labor=154 where kw=14;

Alle Werte einer Tabelle anzeigen

  • select * from my_table;

Alle Werte in einer Tabelle löschen

  • truncate table my_table;

Tabelle aus CSV Datei füllen

Beispiel CSV Datei
  • cat /tmp/my.csv
 
kw,tests,labor,postiv,prozent
11,127457,114,7582,5.95
12,348619,152,23820,6.83
13,361515,151,31414,8.69
14,408348,154,36885,9.03
15,380197,164,30791,8.10
16,331902,168,22082,6.65
17,363890,178,18083,4.97
18,326788,175,12608,3.86
19,403875,182,10755,2.66
20,432666,183,7233,1.67
21,353467,179,5218,1.48
22,405269,178,4310,1.06
23,340986,176,3208,0.94
24,326645,172,2816,0.86
25,387484,175,5309,1.37
26,467004,180,6374,1.36
27,505518,150,3080,0.61
28,509298,177,2989,0.59
29,537334,173,3480,0.65
30,569868,176,4462,0.78
31,573802,161,5551,0.97
  • copy my_table from '/tmp/my.csv' delimiter ',' csv header;

Tabelle löschen

  • drop table my_table;

Spalte hinzufügen

  • alter table my_table add column test_p_1000 int;

Spalte entfernen

  • alter table my_table drop column test_p_1000;

Select mit Bedingung

  • select * from my_table where tests > 500000;

Ausgabe nur gewisser Werte

  • select kw,prozent from my_table where tests > 500000;

Order by

  • select * from my_table where tests > 500000 order by labor;

Sichern in CSV Datei

  • copy my_table to '/tmp/my1.csv' delimiter ',' csv header ;

Backup einer Datenbank

  • pg_dump -C my_db > my_db.sql

Datenbank löschen

  • drop database my_db;

Restore einer Datenbank

  • pg_restore -f my_db.sql

Reihe löschen

  • delete from my_table where kw=11;

Letzer Wert anzeigen

  • select * from my_table order by KW desc limit 1;

Benutzer angelegen

  • create user tuxman password 'Suxer-88';

Benutzer Rechte gewähren

  • grant all on database my_db to tuxman;

Tabelle mit Primären Schlüssel

  • create table other_table (kw int primary key , tests int, labor int , postiv int, prozent float);

Spalte mit Werte generieren

Duplizieren einer Tabelle

  • create table my_new as table my_table;
  • create table my_new as table my_table with no data;

Select Into

Datentyp einer Spalte ändern