Hozzászólások
Megvettem a Kossut kiadó által kiadott "A MySQL kezelése és használat" című könyvet, ami az O'Reilly kiadó "Managing and using MySQL" magyar fordítása. A könyvben sok forráskód szerepel ami különböző adatbázisokon végez műveleteket, lekérdezéseket.
Ezeket jó lenne kipróbálni. Én már keresetem a Google segítségével a forrásokat és a mintaadatbzisokat, de nem találtam.
Valaki nem tudja, létezik egyáltalán letölthető formában valahol?
- A hozzászóláshoz be kell jelentkezni
Elég érdekes dologba szaladtam bele. Fedorán kellett telepítenem mysql környezetet, 5.0.22 a verzió. Alap beállítások, root password, drop test db, flush privileges, stb. Létrehoztam egy adatbázist, erre adtam jogot a usernek. Belépek ezzel a felhasználóval és érdekes módon a kurzor billentyűkkel lazán vissza tudom pörgetni a (mysql)root által begépelt parancsokat! Elsőre ez nekem nagyon furcsa, sőt nagy hiba.
Most ki a hunyó, én vagy a mysql?
- A hozzászóláshoz be kell jelentkezni
ez inkább fun kategóriás kérdés ...
egyébként a mysql client mindent a ~/.mysql_history -ba ment, nem téve különbséget a usereket között, belegondolva, nem is nagyon lehetne ezzel a módszerrel ...
- A hozzászóláshoz be kell jelentkezni
[quote:879a839070="mocsi"][Az Union-t ismeri az meg az SQL93-ban is benne volt, a nezettablakat asszem csak az 5-os ismeri, mert az mar egyfajta stored cucc.
Vagyis a stable valtozat nem ismeri. Mellesleg UNION is resze az SQL2 -nek. Mindkettot illene tudnia.
- A hozzászóláshoz be kell jelentkezni
A 6.0 zeosban már elég jól megoldották hogy driver független legyen csak a connection komponensedben kell állítgatni a server típusát. És ha jól emlékszem MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle támogat
- A hozzászóláshoz be kell jelentkezni
khiraly, asszem végre megértettem a példa révén, mit szeretnél
tényleg azt lehet mondani, amit drojid is mondott, csak akkor érdemes több táblába tenni a dolgokat, ha egyébként egy táblában ismétlődő userek lennének.
ha az adattároláson gondolkodik az ember, igen hasznos, ha tudja, mi az az egyed, amelyet jellemezni akar, s mely jellemzők lehetnek többértékűek. előfordulhat-e, hogy usernévhez több ezvagyaz tartozzon abból a 73 mezőből. ha igen, szedd szét, ha nem, hagyjad
a joint meg ne várd senkitől, hogy itt és most magyarázza el. a mysql 24 óra alatt egy babanyelven megírt könyv, nekem simán elég volt induláshoz, azóta ha nem értek valamit, márt ki tudom keresni a "nagy" mysql doksiban vagy google ;-) csak ajánlani tudom azt a könyvet
- A hozzászóláshoz be kell jelentkezni
[quote:70363890d3="BOB"][quote:70363890d3="mocsi"][Az Union-t ismeri az meg az SQL93-ban is benne volt, a nezettablakat asszem csak az 5-os ismeri, mert az mar egyfajta stored cucc.
Vagyis a stable valtozat nem ismeri. Mellesleg UNION is resze az SQL2 -nek. Mindkettot illene tudnia.
Nem tudom te mit ertesz SQL2-n es stable-n, de elcsesztem ez a pontos valasz:
[code:1:70363890d3]
1.7.1 What Standards Does MySQL Follow?
Entry-level SQL92. ODBC levels 0-3.51.
We are aiming toward supporting the full ANSI SQL99 standard, but without concessions to speed and quality of the code.
[/code:1:70363890d3]
es
[code:1:70363890d3]
Our coverage of the complete ANSI SQL 99 syntax is expanding, with version 4.0 introducing support for the UNION statement.
[/code:1:70363890d3]
Vegul is az SQL2 es az altalam irt SQL93 egesz jol kiadja az SQL92-t :D
es IMHO azert a 4.0-as mar stable.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Ha egyszer egy szerveren már van csinálva egy "akarmi" nevével egy mysql adatbázis, akkor azt hogyan lehet kitörölni? Ezzel lett létrehozva:
mysqladmin -u dba_user -p create drupal
mysql -u dba_user -p
MÁS (egy kicsit OFF):
trey: Te elméletileg értesz a drupal -hoz! Most lett időm foglalkozni az unidevvel, és megvan a hely, meg a tárhely. Egyszer egy srác már felrakott rá egy drupal-t, de nem igazán működik, és a srác eltűnt. Ha esetleg lenne időd, akkor tudnál segíteni, hogy hogyan rakjam fel a portalt? Ha igen, akkor milyen címen kereshetlek meg? Vagy egy topicnyitás ezért engedélyezett?
Előre is kösz!
- A hozzászóláshoz be kell jelentkezni
[quote:2ca6eea396="taltos"]Sziasztok!
Ha egyszer egy szerveren már van csinálva egy "akarmi" nevével egy mysql adatbázis, akkor azt hogyan lehet kitörölni? Ezzel lett létrehozva:
mysqladmin -u dba_user -p create drupal
mysql -u dba_user -p
MÁS (egy kicsit OFF):
trey: Te elméletileg értesz a drupal -hoz! Most lett időm foglalkozni az unidevvel, és megvan a hely, meg a tárhely. Egyszer egy srác már felrakott rá egy drupal-t, de nem igazán működik, és a srác eltűnt. Ha esetleg lenne időd, akkor tudnál segíteni, hogy hogyan rakjam fel a portalt? Ha igen, akkor milyen címen kereshetlek meg? Vagy egy topicnyitás ezért engedélyezett?
Előre is kösz!
mysqladmin -u dba_user -p drop dbneve
(VIGYAZZ! Visszacsinalni nem lehet, ha egyszer kitorolted!)
- A hozzászóláshoz be kell jelentkezni
Ja, de láma vagyok! Nem a hely, meg a tárhely van meg, hanem a domain, meg a tárhely(a linuxforumon). Most sajna el kell mennem egy névnapra, de remélem még nyolc előtt szabadulok. Akkor lehet, hogy nekiállok a telepítésnek, de a magyarítással hadilábon állok.
Egyáltalán van valaki aki esetleg a telepítésnél tud segíteni majd nyolc körül?
- A hozzászóláshoz be kell jelentkezni
[quote:81be6bf6f2="taltos"]Most lett időm foglalkozni az unidevvel, ...
te is már olyan vagy, mint Alex, időnként feltűnsz, eszedbe jut, h van kéne olyan, h unidev, azt letűnsz megint :wink:
- A hozzászóláshoz be kell jelentkezni
Itt bongeszem a MySQL kezikonyvet, de nem birok rajonni egy dologra: hogy is mukodik a lockolas ?
Ha tobb thread akar egyszerre irni az adatbazisba, akkor mi tortenik?
Kelll-e rettegnem attol, hogy az adatok nem lesznek konzisztensek, vagy meg van oldva ez a kerdes? :?:
- A hozzászóláshoz be kell jelentkezni
... de igaza volt trey-nek, hogy azok az emberkék, akik segíteni szándékoznak, rövid idő alatt tűnnek el... :(
Talatam megegy ilyen embertipust :-D
Azt amelyik valamilyen tamogatast iger :-) (tisztelet a kivetelnek, mert olyan is van mindegyikbol)
- A hozzászóláshoz be kell jelentkezni
Hi!
Lenne egy kis gond a grant privilegesnél. leírásból csináltam, nem vagyok láma, de úgy kellett utánajárnom (RTFM), és nagynehezen megtudtam hogy a flush privileges-t kell kiadni. A root be is tud lépni nincs gond de a másik user-t elutasítja, pedig primitív a jelszó. Mi lehet a gond, találkozott már valaki hasonlóval?
- A hozzászóláshoz be kell jelentkezni
[quote:46155e695f="taltos"]
... de igaza volt trey-nek, hogy azok az emberkék, akik segíteni szándékoznak, rövid idő alatt tűnnek el... :(
Talatam megegy ilyen embertipust :-D
Azt amelyik valamilyen tamogatast iger :-) (tisztelet a kivetelnek, mert olyan is van mindegyikbol)
Uh, nem megy ez ma nekem. Az idezet helyett a szerkesztest nyomtam meg.. Ird be megegyszer legyszi a hozzaszolasod.
- A hozzászóláshoz be kell jelentkezni
[quote:484e0ffd63="Toma_"]Tudja valaki, hol lehet mysql standard licenszet venni kishazánkban?
(kivéve szoftverabc)
Esetleg reggelről?
- A hozzászóláshoz be kell jelentkezni
Oksi. :)
A lényeg az, hogy az az üzenet OFF volt.
Tehát értem a szmájlit, csak kicsit rosszúl esett, mert én komolyan gondoltam a dolgot, de a szaktudásom nincs meg hozzá, és a segítők gyorsan tűntek el. Már akkor mondtam, hogy inkább csak szervezném, meg öttleteznék, mert még soha nem csináltam ilyet. Most nekiállok összeütni valahogy, ennek örüljünk. :)
A lényeg az, hogy a másik drupal-os topicban, aki tud, az segítsen a telepítésben. :)
Előre is kösz, többet nem OFFolok.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
bonyolultabb(fa strukturaju) adatot szeretnek adatbazisba tenni.
Magyaran lenne egy tablam ami kb. 73 mezovel rendelkezne. Namost, hoyg attekintheto legyen, szertnek 4 tablat csinalni ebbol az egybol, de ugy, hogy minden tabla sorait egyertelmuen meg lehessen feleltetni a masik tabla adott soranak.
Szoval ha van egy addressbook tablam, akkor szeretnem ha az adott juzer addressbookjat talalna meg, es nem egy masik sort.
REmelem ertheto voltam.
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
[quote:780d5081c9="khiraly"]... 4 tablat csinalni ebbol az egybol, de ugy, hogy minden tabla sorait egyertelmuen meg lehessen feleltetni a masik tabla adott soranak.
...
REmelem ertheto voltam.
...
Nem :)
Komolyra fordítva a szót, mi a problémád?
Lehet én nem értem a problémádat de amit irsz abban semmi bonyolult dolog nincs. A 4 tábla mindegyikében legyen 1-1 id mező. A fő tábla id mezője legyen egyedi. Slusz...
-Mr-
- A hozzászóláshoz be kell jelentkezni
[quote:d1a54ba61b="khiraly"]Sziasztok!
bonyolultabb(fa strukturaju) adatot szeretnek adatbazisba tenni.
Magyaran lenne egy tablam ami kb. 73 mezovel rendelkezne. Namost, hoyg attekintheto legyen, szertnek 4 tablat csinalni ebbol az egybol, de ugy, hogy minden tabla sorait egyertelmuen meg lehessen feleltetni a masik tabla adott soranak.
Szoval ha van egy addressbook tablam, akkor szeretnem ha az adott juzer addressbookjat talalna meg, es nem egy masik sort.
REmelem ertheto voltam.
Udv,
Khiraly
Egy join elegge le tudja fogni az SQL server-eket.
- A hozzászóláshoz be kell jelentkezni
hmmm. elcseszek vmit, vag ylétezik az, hogy az OO.o az ODBC-n keresztül csak lekérdezni tudjon egy MySQL táblából, insertálni nem?
van egy slackin futó mysql szerver, meg egy gentoos munkaállomás OO.o-val. a gentoon föltettem a unixODBC-t, ini-ket meghegesztettem, isql-lel ment is a lekérdezés a slackis gépről. az OO.o adatforrásokban megadtam a szükséges dolgokat, mutatja is a táblákat meg a rekordokat, de semmilyen módosítást és beszúrást nem enged. mielőtt vki megkérdezi, TERMÉSZETESEN a jogok rendben vannak, mysql klienst indítva a gentoos gépről minden további nélkül tudok rögzíteni a kívánt slackis mysql adattáblákba.
a feladat, amit meg szerettem volna oldani annyi, hogy a gentoos munkaállomásról is lehessen vmi gui űrlapban rögzíteni/módosítani adatokat. erre az OO.o+ODBC nem lenne alkalmas, vagy csak vmit elfelejtettem beállítani, esetleg van-e vmi más ötletetek, hogyan lehetne űrlapos adatbevitelt egy linux kliensen megoldani?
ami furcsa, a localhostos adatbázis szerver tábláival lehet OO.o-ban dolgozni, bár néha az tinyintegeres mezők értékeit -127-re teszi, hiába van a tábla definícióban unsigned, hiába írok be akármilyen pozitív egész számot
sorry, ha nem voltam világos, röviden: kell egy mysql GUI kliens linuxra :) ti mit használ(ná)tok?
- A hozzászóláshoz be kell jelentkezni
[quote:2f0a730634="szaszg"]elvileg:
SELECT * FROM table WHERE id=id1 AND id=id2 ORDER BY id UNION SELECT * FROM table WHERE id <> id1 OR id<>id2 ORDER BY nev;
Zsiráf
U.i.: márha a MySQL ismeri az UNION-t :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Legyen inkább
SELECT * FROM table WHERE id=id1 AND id=id2 ORDER BY id UNION SELECT * FROM table WHERE id <> id1 AND id<>id2 ORDER BY nev;
Misi
- A hozzászóláshoz be kell jelentkezni
Kérdés:
MySQL 4.0.20
Adott egy tábla:
tbl1: id(int, auto increment), akarmi(varchar)
Hogyan lehet a legutoljára bevitt rekord kivételével az összes rekordot kinyerni? SQL?
1. , ... <- igen
2. , ... <- igen
3. , ... <- igen
... <- ezeket is
n-1 <- ezt még igen
n <- ezt már nem
Előre is köszönöm!
- A hozzászóláshoz be kell jelentkezni
[quote:0fff640015="mocsi"]Egy join elegge le tudja fogni az SQL server-eket.
Ezert szoktak descartes szorzatot hasznalni helyette.
Amugy, ha az adatok nem csoportosithatok kulon, akkor miert hasznalnal 4 tablat?
- A hozzászóláshoz be kell jelentkezni
[quote:a7e71a8729="galdi"]Kérdés:
MySQL 4.0.20
Adott egy tábla:
tbl1: id(int, auto increment), akarmi(varchar)
Hogyan lehet a legutoljára bevitt rekord kivételével az összes rekordot kinyerni? SQL?
1. , ... <- igen
2. , ... <- igen
3. , ... <- igen
... <- ezeket is
n-1 <- ezt még igen
n <- ezt már nem
Előre is köszönöm!
Biztos van a "top"-hoz hasonló függvény ami a legelőször bevitt x darab rekordot listázza, X legyen count()-1, vagyis a tábla elemei mínusz egy. a "top"-ot MySql-ben asszem nem így hívják, RTFM.
- A hozzászóláshoz be kell jelentkezni
Hali!
Olyan kérdésemlenne, hogy ha megadom egy mysql tábla mezőjénel a PRI és NOT NULL, akkor miért engedi hogy ez a mező (CHAR) üres legyen? Vagy nem is üres, hanem van benne vmi sorvég jel? Hogyan lehetne megcsinálni azt, hogy ebben a CHAR-tip. mezőben kötelező legyen megadni vmit, tehát ne legyen engedélyezve üres v. annak látszó elem!
Ha hülyeséget kérdeztem, akkor bocsi. :oops:
- A hozzászóláshoz be kell jelentkezni
[quote:54942e3399="FoREE"]es az apache php.ini -jebe ird be, hogy
extension = mysql.so
Mindkettőben (/etc/php4/apache/php.ini, illetve /etc/php4/cgi/php.ini) benne vagyon. Ha a /etc/php4/apache/php.ini -ben módosítok bármi mást (pl. szinkódokat, más modulok (pl. pgsql) betöltését/be nem töltését), az látszik a phpinfo() kimenetében, ezért vagyok tanácstalan :-/
- A hozzászóláshoz be kell jelentkezni
[quote:223a74f17c="szaszg"]U.i.: márha a MySQL ismeri az UNION-t :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Nem tennem ra a nyakam h ismeri, nezettablakat se ismeri pedig azok alap SQL2.
- A hozzászóláshoz be kell jelentkezni
nezd meg mindketto php.ini-t es mindketto phpinfot(), es ra fogsz jonni, hogy hol a bibi.
az igazat megvallva nem sok onallosag szorult beled.
t
- A hozzászóláshoz be kell jelentkezni
Koszonom a hozzaszolasokat, akkor megprobalom reszletesen leirni.
mailbox tabla:
- username
- password
- name
- maildir
- quota
- domain
- created
- modified
- active
camail tabla:
- camailExpiracyTime
- camailSessionKey
- camailLastAccess
- userPassword
- camailAddresses
- camailLanguage
- camailMailsOrder
- camailNumberOfMails
- camailHeaders
- camailDestination
- camailSignature
- camailEditableFields
camailGroup tabla:
- camailGroupName
- camailGroupComments
- camailSeeAlso
camailFilter tabla:
- camailFilterCriteria
- camailFilterString
- camailFilterPriority
- camailFilterType
- camailFilterAction
- camailFilterDestination
- camailSeeAlso
Namost, ami egyedi, es minden felhasznalot be lehet vele azonositani, az a mailbox tablaban a username mezo. Ez garantaltan kulonbozik, es nem lehet 2 ugyanolyan nevu mezo.
Az osszes tobbi megegyezhet ...
Amit szeretnek:
Most a fenti 4 tabla egyetlen tablaban van benne(mailbox), es annak vannak a fenti mezok. Namost ezt kenyelmetlen adminisztralni. (kezzel turni mysql adatbazist, meg nem is elegans megoldas).
Ahogy fent irtam, igy kulon szeretnem valasztani a tablakat(a fenti nevekkel), de ugyanakkor egyertelmuen meg lehessen adni, hogy a mailbox username mezojeben szereplo nev, az a tobbi tabla hanyadik sorat jelenti.
Tehat ha van egy haver@valami.hu erteku username mezo, akkor ezzel az infoval ki tudjam keresni a mailbox tabla adott soraban levo mezoket, a camail adott soraban levo mezoket, es a camailGroup es camailFilter tablabol is ki tudjam nyerni az adott mezot.
Szoval ami egyedi az a mailbox tablaban levo username mezok. Azok mind egyertelmuek es kulonbozoek.
Remelem mostmar ertheto voltam.
Magyaran ilyet szeretnek:
mailbox tabla:
- username
- password
- name
- maildir
- quota
- domain
- created
- modified
- active
- camail -> camail tabla x. sorara mutasson
- camailGroup -> a camailGroup tabla y. sorara mutasson
- camailFilter -> a camailFilter tabla z. sorara mutasson
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
Kaptam egy megoldást a problémámra:
select @x:=max(id) from tabla;
select * from tabla where id <> @x;
...ha valakit érdekel :)
- A hozzászóláshoz be kell jelentkezni
[quote:82dd53277d="khiraly"]Remelem mostmar ertheto voltam.
igen, nagyjabol leirtad, mirol szol a relacios adatbaziskezeles
- A hozzászóláshoz be kell jelentkezni
[quote:bb9ffa9f7e="Anonymous"][quote:bb9ffa9f7e="szaszg"]U.i.: márha a MySQL ismeri az UNION-t :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Nem tennem ra a nyakam h ismeri, nezettablakat se ismeri pedig azok alap SQL2.
Az Union-t ismeri az meg az SQL93-ban is benne volt, a nezettablakat asszem csak az 5-os ismeri, mert az mar egyfajta stored cucc.
- A hozzászóláshoz be kell jelentkezni
[quote:42de072262="tibyke"]nezd meg mindketto php.ini-t es mindketto phpinfot(), es ra fogsz jonni, hogy hol a bibi.
az igazat megvallva nem sok onallosag szorult beled.
t
A két php.ini _azonos_, a gond teljesen máshol vala (és ez az én figyelmetlenségem is...): az Apache chroot-olva fut, és a chroot-ban a /usr/lib/ alatt egy szál libmysql* sem volt (pedig egy korábbi mysql adatbázist elvileg használtak apache/php alól...), és ezért nem működött a dolog, bemásol, chroot, ldconfig, apache restart és megy.
- A hozzászóláshoz be kell jelentkezni
a lenyeg, hogy vastagon user error volt.
t
- A hozzászóláshoz be kell jelentkezni
[quote:bda4ddbdc5="tibyke"]a lenyeg, hogy vastagon user error volt.
t
Igazad van, pebkac :/ bár ha abból indulok ki, hogy "ez valamikor a 3.x-es mysql-lel talán működött..." infót lehetett volna kissé pontosabban elemeznem (kiemelten a _talán_-t, mint kulcsszót), és nem futottam volna ebbe bele... Mindegy, a php-t eddig sem kedveltem túlzottan, eztán sem fogom...
- A hozzászóláshoz be kell jelentkezni
[code:1:92347dbf9a]$utolso_id = mysql_insert_id();
mysql_query("SELECT * FROM table WHERE tabla_id <> $utolso_id");[/code:1:92347dbf9a]
Ez ugyan PHP adaptáció, de valami hasonló... :)
- A hozzászóláshoz be kell jelentkezni
vagy egyszeruen megnezed, hany rekord van, es arra dobsz egy ...limit 0,amennyivan-1;-et
t
- A hozzászóláshoz be kell jelentkezni
[quote:b8004836b1="galdi"]Kérdés:
MySQL 4.0.20
Adott egy tábla:
tbl1: id(int, auto increment), akarmi(varchar)
Hogyan lehet a legutoljára bevitt rekord kivételével az összes rekordot kinyerni? SQL?
1. , ... <- igen
2. , ... <- igen
3. , ... <- igen
... <- ezeket is
n-1 <- ezt még igen
n <- ezt már nem
Előre is köszönöm!
Elvileg a kov, de meg nem probaltam sehol:
SELECT * FROM tbl WHERE id != LAST_INSERT_ID()
Ezzel elvileg az lehet a gond, hogy kicsit rovidtavu a memoriaja, legalabbis ennel a fv-nel ezt vettem eszre, de lehet keverem egy masik dologgal. Na kiprobaltam, ez akkor mukodik ha kozvetlen az elozo query egy INSERT volt, jol emlekeztem.
Ilyenkor az ORDER BY id DESC LIMIT 1, X -et (X=numrows-1) szoktam használni, mert a tobbire nem biztos, hogy rekordot ad vissza, pl. ha toroltek az elozot. Szinten szempont lehet, hogy 1 db queryvel oldd meg.
- A hozzászóláshoz be kell jelentkezni
attól mert egy mező primary és not null attól lehet üres hiszen ha karakteres mezőről van szó mint írtad akkor az ugye ha üres akkor nem nulla :-)
nekem is volna egy kérdésem...
van egy táblám amiben vannak nevek...és ezt a táblát úgy kellene abc sorrendben lekérdeznem hogy az id szerinti első két név az az abc sorrenden kívül legfelül jelenjen meg...van erre vkinek vmi ötlete ?
- A hozzászóláshoz be kell jelentkezni
[quote:79b5a99bdf="snq-"][quote:79b5a99bdf="khiraly"]Remelem mostmar ertheto voltam.
igen, nagyjabol leirtad, mirol szol a relacios adatbaziskezeles
Koszonom a hozzaszolasodat. PRobaltam google-zni, de eleg bonyolult temara tappintottam ra. Szoval mar olvasgatok egy ideje, es meg mindig nem ertem, hogy hogyan is menjen(join feltetlen szukseges?).
Talaltam egy megvalositast, ahol egy id mezot hoznak letre autoincrementtel. De nekem ez nem tetszik, en a letezo username mezot szeretnem felhasznalni.
Osszefoglalva:
Le tudna valaki irni(akar te is snq;), hogy milyen konkret parancsok kellenek egy egyszeru peldan keresztul? (tehat legyen 2 mezoje a tablanak, legyen 2 tabla es egy tablaban csak 3 sor(bejegyzes legyen)).
VAGY tudnal adni egy korrekt (emberi idon belul megertheto) doksira linket?
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
lehet, én vagyok nagyon hülye, de nem értem a problémád. több tábla, mindegyikben van kapcsolásra alkalmas kulcs, a mysql-nek van manja, lehet selectelni, ötféle join közül választani stb. mi nem megy? vagy join helyett beágyazott selectet akarsz, esetleg nem tisztán sql megoldás érdekel?
- A hozzászóláshoz be kell jelentkezni
[quote:26a433976b="sb"]Itt bongeszem a MySQL kezikonyvet, de nem birok rajonni egy dologra: hogy is mukodik a lockolas ?
Hmmm. Ennyire banalisat kerdeztem volna, hogy senki nem dob meg egy valasszal? :(
Elolvastam a MySQL doksik idevago reszetm. de a hezagos angoltudasom miatt a dolog szamomra nem egyertelmu...
- A hozzászóláshoz be kell jelentkezni
piszi: Tisztan SQL-es megoldas erdekel.
Egy tablaban van egyertelmu rekord (mailbox-username) a tobbibe egyelore nincs.
Azt hiszem egyertelmuen irtam le a problemat, melyik resze nem vilagos?
Udv,
Khiraly
- A hozzászóláshoz be kell jelentkezni
select a.*, max(b.id) from tábla as a, tábla as b where a.id<b.id group by a.id
- A hozzászóláshoz be kell jelentkezni
[quote:57836d66d3="galdi"]Kérdés:
MySQL 4.0.20
Adott egy tábla:
tbl1: id(int, auto increment), akarmi(varchar)
Hogyan lehet a legutoljára bevitt rekord kivételével az összes rekordot kinyerni? SQL?
1. , ... <- igen
2. , ... <- igen
3. , ... <- igen
... <- ezeket is
n-1 <- ezt még igen
n <- ezt már nem
Előre is köszönöm!
az előzőt neked írtam :)
- A hozzászóláshoz be kell jelentkezni
megvallom, néha azt hiszem, értelek, aztán mégse. pl. ezt írtad föntebb:
"Tehat ha van egy haver@valami.hu erteku username mezo, akkor ezzel az infoval ki tudjam keresni a mailbox tabla adott soraban levo mezoket, a camail adott soraban levo mezoket, es a camailGroup es camailFilter tablabol is ki tudjam nyerni az adott mezot. "
ebből nekem az jött le, hogy van kapcsolat, csak nem írtad le mind a 72 meződet.
én ilyen laikus módjára, először papír, ceruza, rajzolgatás, aztán sql kialakítás, aztán adatbevitel módon szoktam ezt-azt csinálni. van ugyan egy relaítve "komolyabb" sql motorunk, 12 táblával és 80 mezővel, de nekem sem az idegen kulcsokkal, sem a joinnal nem volt komolyabb problémám, sőt még a több-a-több relációkat is megoldottam több joinnal. mivel nem teljesen értem, hogy van most és mit szeretnél, hogy lenne, ezért csak kb. leírom, hogy én mit csinálnék, aztán majd aki okosabb, kiigazít.
abból indulok ki, hogy tényleg most minden egy táblában van (ezt írtad: "Most a fenti 4 tabla egyetlen tablaban van benne(mailbox), es annak vannak a fenti mezok. Namost ezt kenyelmetlen adminisztralni. (kezzel turni mysql adatbazist, meg nem is elegans megoldas).") ha igen, akkor semmiből nem áll, hogy minden táblába rakjál userID-t (ha neked ez az username, akkor jó, szerintem jobb a numerikus sorszám, de ez lényegtelen, ha egyedi, akkor kúl). kitalálod, hogy mik azok az egyedek, amiket jellemezni akarsz. pl. ha van egy group táblád, ott bizonyára nem az userek tulajdonságait akatrod leírni, s könnyen lehet, hogy kell egy "kapcsoló" tábla az user és a group közé, ha n-n a reláció köztük. selectkor meg keményen joinol az ember. ha ez nem megy, akkor ebben már könnyebb segíteni, ha a struktúra kialakítáésával van gond, akkor abban is, csak nem látom, hogy igazából neked mivel van problémád. amit akarsz meg lehet csinálni, de mi nem megy, azt nem értem
sorry a hosszú voltam
- A hozzászóláshoz be kell jelentkezni
[quote:ae805eef7f="sb"]
Hmmm. Ennyire banalisat kerdeztem volna, hogy senki nem dob meg egy valasszal? :(Elolvastam a MySQL doksik idevago reszetm. de a hezagos angoltudasom miatt a dolog szamomra nem egyertelmu...
http://dev.mysql.com/doc/mysql/en/Table_locking.html
Kiemelve a lényeget:
Mysql nem row,cloumn, page stb lockolást csinál hanem a table-t lockolja.
Ha többen olvasnak az egyik táblából és egy írni akar bele akkor a többi nem tud amíg az update be nincs fejezve.
Ha elfogyott a hely update thread vár arra hogy legyen, a többi thread is várakozni fog.
ha fut egy select (sok eredménnyel és/vagy hosszabb ideig)
közben másik thread update akkor várni fog egészen addig amig az első be nem fejeződik
update várakozása közben újabb select ua. a táblára akkor a select vár, mivel update-nek nagyobb a prioritása...
a többi részben arról van szó gyakorlatilag, hogy hogyan lehet ezeket a várakozási időket csökkenteni, nyilván ennek nagyobb adatbázisoknál van főleg szerepe ahol közel egy időben sok kérés érkezik, és nagy/bonyolult lekérdezések vannak sok eredménnyel (a miért fentebb ;)
remélem valamennyire segített.
- A hozzászóláshoz be kell jelentkezni
Ez nem egészen igaz. Amit írsz, az a MyISAM storage engine-re vonatkozik.
Az InnoDB, a BDB, a heap vagy merge tabla tipusokra teljesen mas szabalyok vonatkoznak, amiket az ahhoz tartozo doksikban irnak le.
Pl. innodb és bdb tud tranzakciokat es row-level lockot is...
Amúgy kicsit gázos ez a része a mysql doksinak, állandóan keverik, hogy épp mely storage engine-ekre vonatkozik, amit írnak. Pl. optimize table csak myisam-ra megy (4.0-ban).
- A hozzászóláshoz be kell jelentkezni
[quote:b10dd51139="hory"]Ez nem egészen igaz. Amit írsz, az a MyISAM storage engine-re vonatkozik.
igen de a kérdés szerintem erre vonatkozott (bár bevallom őszintén nem olvastam végig a topicot) ha nem ez volt akkor sry...
[quote:b10dd51139="hory"]
Az InnoDB, a BDB, a heap vagy merge tabla tipusokra teljesen mas szabalyok vonatkoznak, amiket az ahhoz tartozo doksikban irnak le.
jaja, csak a fentebb írt dolog miatt nem is említettem.
- A hozzászóláshoz be kell jelentkezni
1 Kérdés : A MySql tud tranzakció kezelést?
- A hozzászóláshoz be kell jelentkezni
Igen de csak tranzakciós tábla típusnál (pl innodb) A Myisam nem tranzakciós tábla típus
Az innodb a mysql-max nevű változatában van benne.
- A hozzászóláshoz be kell jelentkezni
[quote:72c7728046="Anonymous"]Nem tudom te mit ertesz SQL2-n es stable-n
SQL2-n az SQL2-t ertem (mas neven SQL92, http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt). MySQL stable alatt meg a 4.0.* valtozatot. Ami nem ismeri a nezettablakat, te is leirtad h az 5-os ismeri csak (ami minden csak nem stable).
- A hozzászóláshoz be kell jelentkezni
[quote:d44fa66c72="cstt"]Igen de csak tranzakciós tábla típusnál (pl innodb) A Myisam nem tranzakciós tábla típus
Az innodb a mysql-max nevű változatában van benne.
meg a standardban. :)
- A hozzászóláshoz be kell jelentkezni
[quote:f9b4aeab35="ralphy"]1 Kérdés : A MySql tud tranzakció kezelést?
4.x es felett.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
A problémám a következő:
Van egy táblám(pl tabla1), aminek bizonyos mezőiben a valós adat helyett egy azonosító van ami egy másik tábla(legyen tabla2) megfelelő rekordját azonosítja, ebben van a valós adat. A tabla1 azonosítojának "idegen kulcsa" a tabla2 azonositoja. Ezekután szeretnék egy olyan view-t csinálni amiben már a teljes tábla szerepel a megfelelő adatokkal. De vhogy nem akar összejönni.
Bocs ha nagyon bonyorultan fogalmaztam:)
Előre is kösz a válaszokat!
Üdv: retep
- A hozzászóláshoz be kell jelentkezni
piszi: itt egyszeru nagy tabla 4 kis tablaba valo feldarabolasrol van szo.
Szoval akkor azt mondod, hogy minden tablahoz adjak hozza egy username mezot, es igy tudjam beazonositani oket?
LEkerdezesnel jo lenne, ha egyben az egeszet is tudnam latni
username|pass|.....|camailUser|camailGroup....
Erre valo a join?
Vegyunk 2 egyszeru tablat:
mailbox:
username|password|maildir
user@khiraly.hu|titok|user@khiraly.hu/
elso@khiraly.hu|jelszo123|elso@khiraly.hu/
camail:
username|camailSessionKey|camailExpiracyTime
user@khiraly.hu|FgEr2GG|10800
elso@khiraly.hu|ghTv1jK|10800
Ezeket igy szeretnem tarolni adatbazisban.
Szeretnek egy olyan lekerdezest csinalni, amikor nekem ezt a 2 tablat osszeilleszti mySQL, es ugy adja vissza, tehat
mailbox (virtualisan osszeragasztott):
username|password|maildir|camailSessionKey|camailExpiracyTime
user@khiraly.hu|titok|user@khiraly.hu/|FgEr2GG|10800
elso@khiraly.hu|jelszo123|elso@khiraly.hu/|ghTv1jK|10800
Azt hiszem ennel egyszerubbe nem lehet tenni a peldamat.
Olvasgatom a mysql join syntaxisat de pelda nelkul kicsit nehez ...
Piszi: Te is erre gondolsz? (esetleg kesz megoldas is van)
Talan meg lehetne spekelni azzal, hogyha a mailbox tablaba letrehozok egy sort, akkor AUTOMATIKUSAN hozzon letre a tovabbi tablakban is egy sort, ahova a username mezot be is illeszti.
Udv,
Khiraly
ps: es ha a username mezot valtoztatom, akkor az osszes tablaban is valtozzon meg a username mezo.
- A hozzászóláshoz be kell jelentkezni
[quote:32d4e87223="-Mr-"]
Lehet én nem értem a problémádat de amit irsz abban semmi bonyolult dolog nincs. A 4 tábla mindegyikében legyen 1-1 id mező. A fő tábla id mezője legyen egyedi. Slusz...
-Mr-
Ennél "jobban" pedig nem nagyon lehet válaszolni, max ha megírjuk Neked az egészet...
Ha így csinálod, megszűnik pl az a problémád is, hogy ha egy helyen változtatsz juzernevet, akkor mindenhol változzon (hisz csak egy helyen van).
Nem is tudom, mit mondjak, nem lerázni akarlak, vagy okoskodni, vagy bántani... vagy akármi, de szerintem a legjobban akkor jársz, ha utánaolvasol a relációs adatbáziskezelés alapjainak.
Mellesleg az, hogy egy táblában 73 mező van, még nem ok arra, hogy szétszedd. Akkor ok, ha pl egy juzerhez sok email tartozik, vagy mondjuk logolod a hozzáféréseket, mert akkor persze felesleges mindent tárolni minden hozzáféréshez. Ha azonban minden mező olyan jellegű, mint a példádban, akkor ne szedd szét.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat, de a szempont az tisztán SQL alapú volt, tehát nem akartam bevonni a PHP-t vagy bármilyen más nyelvet. Az túl egyszerű lett volna. :)
- A hozzászóláshoz be kell jelentkezni
Delphiben irt alkalmazast ossze lehet hozni Mysql adatbazis kezelovel_?
- A hozzászóláshoz be kell jelentkezni
pusztan mysql-bol szerontem nem tudod.
t
- A hozzászóláshoz be kell jelentkezni
Tudja valaki, hol lehet mysql standard licenszet venni kishazánkban?
(kivéve szoftverabc)
- A hozzászóláshoz be kell jelentkezni
[quote:a0459eb4fa="meridian"]...
nekem is volna egy kérdésem...
van egy táblám amiben vannak nevek...és ezt a táblát úgy kellene abc sorrendben lekérdeznem hogy az id szerinti első két név az az abc sorrenden kívül legfelül jelenjen meg...van erre vkinek vmi ötlete ?
Muszáj egy lekérdezést csinálnod? Biztos van jobb megoldás is, de én két lekérdezsét csinálnék..
Egyrészt kiválogatnám az első két id-t, majd a többit abc-sorrendben.. Persze mintha lehetne ideiglenes táblákba is lekérdezni (Select into ...), lehet, hogy az a megoldás, de aztat még nem próbáltam
- A hozzászóláshoz be kell jelentkezni
[quote:acdfe9732c="andrej_"][quote:acdfe9732c="zee_man78"][tibyke]!
koszi,
neztem en a phpinfo() -t es logikusnak is tunt, hogy nincs benne, de nyilvan az elso sort atugrottam :D ... es nem vettem eszre EZT -> --without-mysql!
hol tudom ezt beallitani, hogy legyen?
( redhat 9-rol jottem at debian-ra, ott mindent automatikusan csinalt :( szoval azert nem tudom, hogy mi van! :( )
koszi,
zM
Ez nem mentesít a howto olvasástól.
apt-get install php4-mysql
Én már olvastam, viszont:
php4 -m -re adja a mysql-t, mint használható extensiont, és tényleg, mert parancssorból indítva minden további nélkül megeszi a mysql_connect()-et tartalmazó scriptet.
A phpinfo() kimenetében viszont NEM szerepel egy fél darab mysql-es beállítás sem -- és nem is megy a php-s oldalból a mysql turkászása.
PHP: 4.1, MySQL szintén :) bár inkább :( de ez van...
Valakinek ötlete/tippje, rtm:// linkje, megoldása?
- A hozzászóláshoz be kell jelentkezni
[quote:91442a489a="drojid"] vagy akármi, de szerintem a legjobban akkor jársz, ha utánaolvasol a relációs adatbáziskezelés alapjainak.
[quote:91442a489a="khiraly"]
VAGY tudnal adni egy korrekt (emberi idon belul megertheto) doksira linket?
- A hozzászóláshoz be kell jelentkezni
Igen delphi 7-ben alabból benne van egy ilyen komponens, de ezt nem ajánlom inkáb a zeoslibet
http://sourceforge.net/projects/zeoslib/
elég stabil megbízható
- A hozzászóláshoz be kell jelentkezni
elvileg:
SELECT * FROM table WHERE id=id1 AND id=id2 ORDER BY id UNION SELECT * FROM table WHERE id <> id1 OR id<>id2 ORDER BY nev;
Zsiráf
U.i.: márha a MySQL ismeri az UNION-t :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
- A hozzászóláshoz be kell jelentkezni
[quote:e1bb5893fc="tso"]
remélem valamennyire segített.
Koszi, megvilagosodtam :D
- A hozzászóláshoz be kell jelentkezni
Ah, értem, bocsánat.
http://members.tripod.com/er4ebus/sql/
http://www.google.co.hu/search?hl=hu&q=mysql+tutorial&btnG=Keres%C3%A9s&meta=
- A hozzászóláshoz be kell jelentkezni
hali,
regi programjaimat szeretnem futtatni, de azt irja ki a jol bevalt mysql_connect utasitasomra, hogy
Fatal ERROR: Call to undefined function: mysql_connect() in /blah/blah.php
a php.ini -t megneztem, a mysql benne van az adatbazisok kozott, a mysql -t kivulrol tudom hasznalni.... mi lehet ez?
koszonom, ha tudtok segiteni!
zM
- A hozzászóláshoz be kell jelentkezni
phpinfo(), es meglatod, hogy megsincs benne a mysql support a php-dben.
mondjuk eleg logikus.
t
- A hozzászóláshoz be kell jelentkezni
kulon php.ini van a CLI-hez, es kulon az apacs modulhoz.
t
- A hozzászóláshoz be kell jelentkezni
Nem a mySQL-lel van altalanossagban problemam, hanem egy konkret feladatot kell megoldanom.
Mivel a programom mukodik, igy feltetelezheto, hoyg mysql-t sikerult elinditanom.
No comment.
- A hozzászóláshoz be kell jelentkezni
Olyan doksit nem fogsz találni szerintem, ami arról szól, hogy "khiraly hogyan szedje szét a 73 mezős, camaillal kapcsolatos adatbázisát 4 kicsi táblára".
Persze lehet, hogy tévedek
Sok sikert
- A hozzászóláshoz be kell jelentkezni
es az apache php.ini -jebe ird be, hogy
extension = mysql.so
- A hozzászóláshoz be kell jelentkezni
[tibyke]!
koszi,
neztem en a phpinfo() -t es logikusnak is tunt, hogy nincs benne, de nyilvan az elso sort atugrottam :D ... es nem vettem eszre EZT -> --without-mysql!
hol tudom ezt beallitani, hogy legyen?
( redhat 9-rol jottem at debian-ra, ott mindent automatikusan csinalt :( szoval azert nem tudom, hogy mi van! :( )
koszi,
zM
- A hozzászóláshoz be kell jelentkezni
[quote:745f632f27="zee_man78"][tibyke]!
koszi,
neztem en a phpinfo() -t es logikusnak is tunt, hogy nincs benne, de nyilvan az elso sort atugrottam :D ... es nem vettem eszre EZT -> --without-mysql!
hol tudom ezt beallitani, hogy legyen?
( redhat 9-rol jottem at debian-ra, ott mindent automatikusan csinalt :( szoval azert nem tudom, hogy mi van! :( )
koszi,
zM
Ez nem mentesít a howto olvasástól.
apt-get install php4-mysql
- A hozzászóláshoz be kell jelentkezni
hali,
tudom, regi gyengesegem a turelmetlenseg... probaltam keresni online, de nem tudtam leszurni semmi hasznalhatot... (rovid idon belul ;) )
most mar megy, koszonom....
zM
ps.: igerem majd legkozelebb jobban probalkozom(k) :)
- A hozzászóláshoz be kell jelentkezni
[quote:b9d4d2fd29="ralphy"]Delphiben irt alkalmazast ossze lehet hozni Mysql adatbazis kezelovel_?
Esetleg ODBC
- A hozzászóláshoz be kell jelentkezni
Van lehetőség, a tárolt eljárások környékén nézelődj.
Ami elől menekülnek, az után szaladnak.
- A hozzászóláshoz be kell jelentkezni