Suche Anfragen zum üben

Beginner

Benutzer
Beiträge
6
hallo ich suche eigentlich nur anfragen mit denen ich sql statements üben kann, wisst ihr vllt wo man solche finden kann (kostenlos). Und eventuell noch eine Datenbank dazu. Ich möchte das ganze jetzt mit Postgre Sql machen.
Danke schonma
 
Werbung:
Hier ist eine PG Beispiel DB mit Tutorial

Hier ein kleines Tutorial mit einer vorbereiteten Postgres DB
How to Set Up the Sample Bookstore Database
 
ich habe jetzt schon pgadmin heruntergeladen, gibt es vielleicht auch irgentwo eine Umgebung wo man seinen Code selber schreiben kann, müsste das nämlich noch bissle üben für ne Klausur
 
gibt es auch irgentwie da ein einfacheres tool wo ich auch sachen ändern kann und die dann net sofort wie zurückgeändert werden obwohl ich auf save databankchanges klicke
Code:
CREATE TABLE public."Planet"(
Id bigserial primary key,
Name varchar(100),
Größe bigint,
Gewicht numeric
);

INSERT INTO public."Planet"(
    "Id", "Name", "Gewicht", "Größe")
    VALUES (1, 'Erde',5972200000000000000000,12744 );
INSERT INTO public."Planet"("Id", "Name", "Gewicht", "Größe")
    VALUES (2, 'Mars',639000000000000000000,6779);
INSERT INTO public."Planet"("Id", "Name", "Gewicht", "Größe")
    VALUES(3, 'Venus',4867000000000000000000,12104);
INSERT INTO public."Planet" ("Id", "Name", "Gewicht", "Größe")
    VALUES(4, 'Merkur',328500000000000000000,4879);
INSERT INTO public."Planet" ("Id", "Name", "Gewicht", "Größe")
    VALUES(5, 'Saturn',568300000000000000000000 ,116460);
INSERT INTO public."Planet" ("Id", "Name", "Gewicht", "Größe")
    VALUES(6, 'Jupiter',1898000000000000000000000,139820);
INSERT INTO public."Planet"("Id", "Name", "Gewicht", "Größe")
    VALUES(7, 'Uranus', 86810000000000000000000,50724);
INSERT INTO public."Planet" ("Id", "Name", "Gewicht", "Größe")
    VALUES(8, 'Neptun', 102400000000000000000000,49244);
INSERT INTO public."Planet" ("Id", "Name", "Gewicht", "Größe")
    VALUES(9, 'Quatsch', 273489, 2374);

DELETE FROM public."Planet"
WHERE Id = 9;

löschen funktiert nicht daten ändern macht er net, gibts irgentwo ne umgebung mit der man ganz normal üben kann ?
 
Wenn Du beim CREATE das so machst wie oben, hast Du dann diese Tabelle:

Code:
postgres=# CREATE TABLE public."Planet"(
Id bigserial primary key,
Name varchar(100),
Größe bigint,
Gewicht numeric
);
CREATE TABLE
postgres=# \d "Planet"
;
                                     Table "public.Planet"
 Column  |          Type          | Collation | Nullable |               Default                
---------+------------------------+-----------+----------+--------------------------------------
 id      | bigint                 |           | not null | nextval('"Planet_id_seq"'::regclass)
 name    | character varying(100) |           |          | 
 größe   | bigint                 |           |          | 
 gewicht | numeric                |           |          | 
Indexes:
    "Planet_pkey" PRIMARY KEY, btree (id)

Die Namen der Spalten sind als alle klein. Wenn Du nun einen Insert machst:

Code:
postgres=# INSERT INTO public."Planet"(
    "Id", "Name", "Gewicht", "Größe")
    VALUES (1, 'Erde',5972200000000000000000,12744 );
ERROR:  column "Id" of relation "Planet" does not exist
LINE 2:     "Id", "Name", "Gewicht", "Größe")
            ^
postgres=#

Dann findet er die Spalten nicht, weil durch die doppelten Anführungsstriche er nun die Spalte "Id" sucht, die Tabelle hat aber "id" als Spalte.

Tipp: lasse die doppelten konsequent einfach weg.
 
löschen funktiert nicht daten ändern macht er net, gibts irgentwo ne umgebung mit der man ganz normal üben kann ?
Sinnvoll ist es natürlich zu lernen _wie_ man die Daten auch über UPDATE, DELETE und INSERT ändert.

Es gibt einige Tools bei denen man das Resultat eines SELECT direkt bearbeiten kann und diese Änderungen dann auch speichern kann. SQuirreL, DBeaver, DataGrip und SQL Workbench/J können das (ich persönlich verwende SQL Workbench/J und dort geht es definitiv)

Kleiner Tip am Rande: Man kann bei INSERT auch mehr als einen Datensatz angeben, man muss nicht für jeden Datensatz das INSERT INTO wiederholen:
Code:
insert into target_table (c1, c2, c3) 
values 
(1,1,1),
(2,2,2),
(3,3,3);

Ich kann akretschmer auch nur zustimmen: die Verwendung von doppelten Anführungszeichen führt zu mehr Problemen als sie Wert sind. Vergiss einfach, das die existieren wenn Du mit SQL arbeitest (zumindest außerhalb von JSON Werten)
 
Werbung:
Zurück
Oben