Professional Documents
Culture Documents
Adatkezelő Utasítások PostgreSQL
Adatkezelő Utasítások PostgreSQL
SELECT-kiválasztani
INSERT-adat beírása
UPDATE-adatok módosítása
DROP/DELETE-törlés
INSERT INTO-
ORDER BY-sorrendbe helyezés
SELECT COUNT *
FROM tablazat_neve -→megszámolja a sorokat a táblázatban
UPDATE tablazat_neve
SET műveletek elvégzése az oszlopban →frissítés
SELECT oszlop_neve
FROM tablazat_neve
ORDER BY oszlop neve ASC/DSC →sorrendbe helyezés
UPDATE tablazat_neve
SET terulet = st_area(geom)/1000*1000 →terület kiszámítása km2-ben
UPDATE tablazat_neve
SET suruseg = aminek_a_surusege_kell/terulet →sűrűség kiszámítása,
SELECT *
FROM adminisztrativ_egysegek
SELECT name,
ST_GeometryType(geom),
ST_Length(geom)
FROM roads_osm_stereo
WHERE name ='Autostrada Transilvania'
SELECT
name,
ST_AsGeoJSON(geom)
FROM roads_osm_stereo
WHERE name ='Șoseaua Pantelimon'
SELECT ST_X(ST_centroid(geom)),name
FROM uat_limit_stereo
ORDER BY ST_X(ST_centroid(geom))
LIMIT 1;
SELECT name
FROM neighborhood
WHERE ST_Intersects(geom, st_geomfromtext('POINT(392086.39740632597
586488.9389058831)',31700))
SELECT name
FROM neighborhood
WHERE ST_disjoint(geom, st_geomfromtext('POINT(392086.39740632597
586488.9389058831)',31700))
SELECT roads.id
FROM roads, highways
WHERE st_crosses(roads.geom, highways.geom);
select n.name
from hospital h
cross join neighborhood n
where st_contains(n.geom, h.geom)
select n.name
from hospital h
cross join neighborhood n
where st_within(h.geom, n.geom)
select *, st_distance(h.geom, b.geom)
from hospital h
cross join bus_station b
select *
from populatie_sb
update populatie_sb
set nepesseg_novekedes=(pop_2022-pop_2014)/pop_2014::double precision *100
SELECT pop_2022,localitate
FROM populatie_sb
WHERE localitate LIKE '%MEDIAS%'
SELECT *
FROM populatie_sb
ORDER BY pop_2022 DESC
Select *
from kereskedelem_sb
Select *
from kereskedelem_uat
update kereskedelem_uat
set terulet=st_area(geom)/1000*1000
update kereskedelem_uat
set suruseg=commercial_units/terulet
SELECT count(*)
from kereskedelem_uat
--eredmeny 64
9. hány kereskedelmi egység van Nagyszebenben
SELECT commercial_units
FROM kereskedelem_uat
ORDER BY commercial_units DESC
update kereskedelem_uat
set centroid=st_centroid(geom)
5.
Create table kereskedelem_uat as
Select a.name, a.id, a.natcode, b.geom
From kereskedelem_sb a
Left join uat_sibiu b
On a.natcode=b.natcode
6.
select name,st_area(geom) /(1000*1000) :: double precision as terulet
from kereskedelem_uat
--akkor kell ez az alter tables muvelet, mikor a tablazatodban meg akarod tartani a kiszamolt ertekeket.
Ha siman csak a fuggvenyek vannak (ezek a kis szarok vannak beirva),nincs odairva hogy create table,
vagy alter table add colum, akkor csak megjeleniti neked (persze azokat is le lehet tolteni kulon
tablazatkent, de az eredeti tablazatban, amiben dolgozol nem marad meg). ezert kell te kulon megmond
neki, hogy hozzon letre tablazatot, vagy adjon hozza sorokat, oszlopokat
--minden valtoztatast a tablazatotban, adataidban ezek a fuggvenyek, scriptek, parancsok (nem tom mi a
helyes neve) alapjan tidsz csinalni.
--az egyszeru dolgok, mint a tablazat letrehozara, torlese, vagy hasonlok meg lehet csinalni egyszeruen,
de a tobbit mind be kell irni
update kereskedelem_uat
set terulet=st_area(geom)/ (1000*1000) :: double precision
--inkabb ezt hasznaljuk, mert meg lesz egy teruletes feladat es kellenek majd a terulet adatok, ezert
csinalunk meg egy oszlopot, aminek terulet lesz a neve. A tablazat frissitesevel pedig megmondjuk neki,
hogy ebben az oszlopban az altalunk megadott keplet alapjan vegezze el a szamitasokat
--megcsinal mindent helyettunk a gep, csak kell tudni, hogy hogy mond meg neki es hgy mit hol keressen
update kereskedelem_uat
set centroid=st_centroid(geom)
--tavolsagot szamolunk ki ket telepules kozott a centroid alapjan. A tavolsagot siman St_distance
fuggvennyel szamoljuk ki, de a zarojelbe nem geomot irunk vagy centroidot, hanem megadjuk a ket
telepulest, a es b oszlopbol: a.centroid, b.centroid
--fromnal megadjuk ketszer a tablazatot kulon, kulon elnevezve
-- a vege osztjuk 1000-el mert km-ben keri
--megcsinaljuk most helyesen:
SELECT *
FROM max_homerseklet
SELECT *
FROM max_homerseklet
WHERE datum ::TEXT LIKE '%1998-03%'
SELECT *
FROM max_homerseklet
WHERE datum >= '1998-03-01' AND datum <= '1998-03-31'
SELECT *
FROM max_homerseklet
WHERE datum ::TEXT = '1998-03-03'
SELECT *
FROM max_homerseklet
WHERE datum >= '1961-01-01' OR homerseklet = '38'
SELECT *
FROM max_homerseklet
WHERE homerseklet = '38'
SELECT *
FROM max_homerseklet
WHERE (datum >= '1961-01-01' AND datum <= '1961-01-31' ) AND homerseklet ::TEXT like '%-1%'
SELECT *
FROM kereskedelem_uat
UPDATE kereskedelem_uat
SET terulet=ST_Area(geom)/(1000*1000)
SELECT *
FROM kereskedelem_uat
UPDATE kereskedelem_uat
SET suruseg=commercial_units/terulet :: DOUBLE PRECISION
SELECT *
FROM kereskedelem_uat
SELECT count(*)
FROM kereskedelem_uat
SELECT *
FROM kereskedelem_uat
ORDER by suruseg DESC
UPDATE kereskedelem_uat
SET centroid = ST_Centroid(geom)
SELECT *
FROM kereskedelem_uat
SELECT ST_AsText(ST_Buffer(geom,15000))
FROM hospital
SELECT *
FROM adminisztrativ_egysegek
WHERE name=