SQL užklausos online: Skirtumas tarp puslapio versijų

Iš PHP, MySQL.
Peršokti į: navigaciją, paiešką
 
(nerodoma 30 tarpinių versijų, sukurtų to paties naudotojo)
1 eilutė: 1 eilutė:
Adresas: [http://www.mysql.lt/irankiai/world http://www.mysql.lt/irankiai/world]
+
[[Vaizdas:World schema.png|right|thumb|border]]
 +
<div style="border:1px solid green;background-color:#99FF99;padding:7px;">Adresas: [http://www.mysql.lt/irankiai/world http://www.mysql.lt/irankiai/world]</div>
  
'''''Šiuo metu įrankis yra kurimo/testavimo stadijoje. Komentarai/pastabos/klaidos/etc labai sveikintini ir laukiami. Visą informaciją galima ir siųsti: [mailto:minde@mysql.lt minde@mysql.lt]. Arba registruotis šiame vikyje (wiki) ir rašyti į "aptarimas" skiltį.'''''
 
  
 +
<div style="border:1px solid red;background-color:#FF9999;padding:7px;">'''''Šiuo metu įrankis yra kūrimo/testavimo stadijoje. Komentarai/pastabos/klaidos/etc labai sveikintini ir laukiami.
 +
Visą informaciją galima ir siųsti: [mailto:minde@mysql.lt minde@mysql.lt].
 +
Arba registruotis šiame vikyje (wiki) ir rašyti į "aptarimas" skiltį.'''''</div>
 
Šis įrankis skirtas:
 
Šis įrankis skirtas:
* norintiems išbandyti kaip veikia SQL užklausos MySQL duomenų bazėje;
+
* norintiems išbandyti kaip veikia [[SQL]] užklausos [[MySQL]] duomenų bazėje;
* norintiems pateikti SQL užklausos pavyzdį su rezultatais kitiems interneto vartotojams (nuorodos pagalba);
+
* norintiems pateikti [[SQL]] užklausos pavyzdį su rezultatais kitiems interneto vartotojams (nuorodos pagalba);
 
+
 
==Kaip naudotis==
 
==Kaip naudotis==
Įrankis yra labai paprastas ir dažnam naudotojui užteks užmesti akį, kad suprastų kaip viskas veikia. Užklausos lange yra rašomos SQL užklausos, kurios vykdomos MySQL duomenų bazėje paspaudus mygtuką "Vykdyti". Jeigu įvykžius užklausą buvo gauti kokie nors rezultatai, tai jie atvaizduojami lentelės forma po užklausos lauku. Siekiant išvengti didelių ir nereikalingų duomenų srautų šiuo metu yra rodoma tik 100 rezultato eilučių - visa kita nukerpama. Šiuo metu užklausos vykdomos "World" duomenų bazėje.
+
Įrankis yra labai paprastas ir dažnam naudotojui užteks užmesti akį, kad suprastų kaip viskas veikia. Užklausos lange yra rašomos SQL užklausos, kurios vykdomos MySQL duomenų bazėje paspaudus mygtuką "Vykdyti". Jeigu įvykžius užklausą buvo gauti kokie nors rezultatai, tai jie atvaizduojami lentelės forma po užklausos lauku. Siekiant išvengti didelių ir nereikalingų duomenų srautų šiuo metu yra rodoma tik 100 rezultato eilučių - visa kita nukerpama. Šiuo metu užklausos vykdomos [[World duomenų bazė|"World" duomenų bazėje]].
 +
==Apribojimai==
 +
* Duomenų bazėje galima vykdyti tik ''SELECT'' užklausas (''INSERT'', ''UPDATE'' yra uždraustos);
 +
* Rezultatų lentelėje bus rodomi tik 100 pirmų rezultatų. Manau, kad mokymosi tikslams tai yra daugiau nei pakankama. Taip pat visada tolimesnius rezultatus galima pamatyti pasinaudojus LIMIT operatoriumi;
 +
* Užklausa negali viršyti 64kB.
 
==Pavyzdžiai==
 
==Pavyzdžiai==
Pažiūrėti kokios yra prieinamos duomenų bazės [http://www.mysql.lt/irankiai/world/?a2cd5ae8578af527073cade9bfaa92c8]:
+
Pažiūrėti kokios yra prieinamos duomenų bazės:
<pre>
+
{{world|a2cd5ae8578af527073cade9bfaa92c8|sql_show_databases}}
SHOW DATABASES;
+
</pre>
+
 
Pažiūrėti kokios yra aktyvios duomenų bazės lentelės:
 
Pažiūrėti kokios yra aktyvios duomenų bazės lentelės:
<pre>
+
{{world|4e7bf90950ba44427a533862175b56d0|sql_show tables}}
SHOW TABLES;
+
</pre>
+
 
Gauti lentelės "City" duomenis:
 
Gauti lentelės "City" duomenis:
<pre>
+
{{world|9b5d4818a614fe8dede37a6f6fdfcc9e|sql_select_all_from_city}}
SELECT * FROM City;
+
Gauti duomenų bazėje esančių Lietuvos miestų sąrašą:
</pre>
+
{{world|b146f7e23d3d03c2d8255aeedd40271a|sql_lietuvos_miestai}}
TODO:
+
* Pridėti galimybę naudotis netik World duomenų baze bet ir populiariomis Sakila bei Manegerie;
+
* Pridėti visų duomenų bazių schemų vizualizacijas;
+
* Parašyti paaiškinimus dėl INFORMATION_SCHEMA duomenų bazės;
+
* Spręsti šiukšlinimo/db valymo problemas (automatinis db regenervimas kas kažkiek laiko, captcha, registruoti vartotojai);
+
* Padaryti užklausų log'ą, su galimybe išsaugoti užklausą kaip nuorodą (kad būtų galima dalintis nuorodomis ir pan.);
+
* Parašyti keletą pavyždžių su JOIN'ais, paieška, WHERE sąlygom ir pan.;
+
* Visą šitą "darbinę" informaciją perkeltį į aptarimus, o straipsnyje palikti tik tai, kas yra aktualu vartotojams.
+
 
+
Problemos:
+
* Kadangi viskas hostinama ant serveriai.lt shared hostingo tai neįmanoma pilnai uždrausti visų SQL komandų (SHOW GRANTS). Realiai šiuo metu veikia: SELECT, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE. Kitaip sakant, vartotojai gali selectinti, kurti viewsus bei procedūras (pvz.: CREATE VIEW pasokime_mysqle1.v AS SELECT * FROM information_schema.tables ).
+

Dabartinė 14:34, 22 Rugsėjo 2008 versija

World schema.png


Šiuo metu įrankis yra kūrimo/testavimo stadijoje. Komentarai/pastabos/klaidos/etc labai sveikintini ir laukiami.

Visą informaciją galima ir siųsti: minde@mysql.lt.

Arba registruotis šiame vikyje (wiki) ir rašyti į "aptarimas" skiltį.

Šis įrankis skirtas:

  • norintiems išbandyti kaip veikia SQL užklausos MySQL duomenų bazėje;
  • norintiems pateikti SQL užklausos pavyzdį su rezultatais kitiems interneto vartotojams (nuorodos pagalba);

Kaip naudotis

Įrankis yra labai paprastas ir dažnam naudotojui užteks užmesti akį, kad suprastų kaip viskas veikia. Užklausos lange yra rašomos SQL užklausos, kurios vykdomos MySQL duomenų bazėje paspaudus mygtuką "Vykdyti". Jeigu įvykžius užklausą buvo gauti kokie nors rezultatai, tai jie atvaizduojami lentelės forma po užklausos lauku. Siekiant išvengti didelių ir nereikalingų duomenų srautų šiuo metu yra rodoma tik 100 rezultato eilučių - visa kita nukerpama. Šiuo metu užklausos vykdomos "World" duomenų bazėje.

Apribojimai

  • Duomenų bazėje galima vykdyti tik SELECT užklausas (INSERT, UPDATE yra uždraustos);
  • Rezultatų lentelėje bus rodomi tik 100 pirmų rezultatų. Manau, kad mokymosi tikslams tai yra daugiau nei pakankama. Taip pat visada tolimesnius rezultatus galima pamatyti pasinaudojus LIMIT operatoriumi;
  • Užklausa negali viršyti 64kB.

Pavyzdžiai

Pažiūrėti kokios yra prieinamos duomenų bazės:

SHOW DATABASES

Pažiūrėti kokios yra aktyvios duomenų bazės lentelės:

SHOW TABLES

Gauti lentelės "City" duomenis:

SELECT * FROM City

Gauti duomenų bazėje esančių Lietuvos miestų sąrašą:

SELECT Country.Name AS CountryName,
   City.Name,
   City.Population
FROM City
   INNER JOIN Country ON City.CountryCode = Country.Code
WHERE CountryCode = "LTU"