Postgres Kompakt: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(7 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 68: Zeile 72:
 
=Sichern in CSV Datei=
 
=Sichern in CSV Datei=
 
*copy my_table to '/tmp/my1.csv' delimiter ','  csv header ;
 
*copy my_table to '/tmp/my1.csv' delimiter ','  csv header ;
 
+
=Backup einer Datenbank=
 +
*pg_dump -C my_db > my_db.sql
 
=Datenbank löschen=
 
=Datenbank löschen=
 
*drop database my_db;
 
*drop database my_db;
=Backup einer Datenbank=
+
=Restore einer Datenbank=
*pg_dump -C my_db > my_db.sql
+
*pg_restore -f my_db.sql
  
=Restore einer Datenbank=
 
*mysql my_db  <  my_db.sql
 
 
=Reihe löschen=
 
=Reihe löschen=
 
*delete from my_table where kw=11;
 
*delete from my_table where kw=11;
Zeile 81: 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