Autor Beitrag
fuser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 28.03.06 18:08 
MySQL Tutorial

Dieses Tutorial richtet sich an Anfänger, die noch nie mit SQL gearbeitet haben.
Vielleicht ist aber auch für Fortgeschrittene das Eine oder Andere dabei.
Einloggen, um Attachments anzusehen!
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 11.04.06 16:26 
Sehr schönes Tutorial. Danke! ;-)

Hatte bloß noch keine Zeit alles komplett zu lesen.

Schön wäre es wenn Du die SQL Anweisungen in einem fixen Font darstellen könntest (eventl. sogar highlighten ;-))

Lg Martin

_________________
Ein Nutzer der Ecke ;-)
TheHippo
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 13.09.06 21:30 
schöne sache... doch wie les ich das ganze nun in delphi aus?
cl9wn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mi 13.08.08 14:15 
user profile iconTheHippo hat folgendes geschrieben:
schöne sache... doch wie les ich das ganze nun in delphi aus?


Richtig, das wäre noch schön zu wissen.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Fr 15.08.08 12:41 
Hier zwei Tuts die ich in einer Minute gefunden habe: MySQL direct und MySQL mit ZeosLib (beide auf Delphi-Treff).

_________________
Ein Nutzer der Ecke ;-)
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 15.08.08 23:21 
Also zum oben verlinkten Tutorial:
- Vermeide mal bitte, so häufig SQL-Server zu schreiben. Eine Datenbank muss nämlich nicht auf einem Server liegen, sondern kann auch eine einfache Datei im Dateisystem sein (z.B. bei MS Access* der Fall).
- Der Begriff RDBMS fehlt in der Einleitung.
- Von einem RDBMS will man SELTENST einen einzelnen Datensatz lesen, sondern man möchte eine Menge von Datensätzen lesen, die eine gewisse Eigenschaft haben. Dass da häufig die Kriterien so gewählt werden, dass dies nur auf einen Datensatz zutrifft, ist eine andere Geschichte ;-)

- Seite 2: Setup groß
- Spezielle Begriffe, oder Literale (z.B. Texte auf einer Oberfläche) sollten gekennzeichnet werden)
- Die Screenshots wirken deplatziert. Wenn dann sollten die direkt bei denzugehörigen Punkten in der Anleitung erscheinen.
- Der Punkt Doku passt an dieser Stelle nicht wirklich. (IMHO)

- Seite 3: Das heißt generell Schema, nicht nur bei MySQL. Dass der Begriff Datenbank meist synonym dazu verwendet wird, sollte ggf. in einem sauber gekennzeichneten Feld erscheinen.
- Du schreibst "hier Schema genannt" und setzt dann im Folgenden mit Database (denglisch!!!) fort. pfui!
- Löschen, Einfügen und Lesen in Absatz 2 groß ;-) (Sind an der Stelle Substantivierungen)
- Der Begriff Resultset bzw. Recordset fehlt als Erklärung

- Seite 4: Bei den wichtigen Typen fehlen TEXT (LONGTEXT) und BLOB (LONGBLOB).
- Die Erklärung für VARCHAR(X) als "String mit maximal X Zeichen" wäre glaube für die meisten verständlicher. In einem VARCHAR-Feld müssen nämlich nicht nur alpha-numerische Werte stehen.
- Der Defaultwert für den DATETIME-Type passt nicht.
- Wenn etwas typisch ist, ist es nicht besonders. Zumal SQL-typisch <-- so geschrieben wird ;-)
- NULL-Werte ohne Leerzeichen vor und nach dem Bindestrich
- Jegliche Schlüsselworte in SQL SOLLTEN groß geschrieben werden (Großbuchstaben). Damit heben die sich von den Bezeichnern ab. Zudem werden Feldnamen in `Backticks` geschrieben ;-) Dass MySQL Feldnamen auch ohne nimmt, ist zwar klar, ist aber unsauber.

- Seite 5: SELECT * FROM Tabelle IS EVIL! Musste mal gesagt werden :mrgreen:
Echt jetzt. Füll deine Datenbank mit Einer Million Datensätzen, mach darauf nen OUTER JOIN und führe das ganze ohne LIMIT-Anweisung aus --> Die Datenbank ist beschäftigt ... und das nicht nur kurz ...

Zudem wäre es wünschenswert, wenn Du das Tutorial noch mal mit z.B. LaTeX überarbeitest, da das Schriftbild sehr unruhig wirkt und dadurch schlecht zu lesen geht. Auch wäre die Nutzung von z.B. Syntax-Hervorhebing *auf GeSHi zeig* ein Gewinn für die Übersichtlichkeit der Code-Beispiele ;-)

Weiterhin solltest Du die Datentyp-Tabelle, wenn Du sie schon kürzt, entweder eine vollständige Liste in den Anhang stellen, oder nach Verwendung gliedern.

Weiter als bis Seite 4 hab ich erstmal nicht geschaut, wenn Du aber nach den oben genannten Punkten auch im weiteren Verlauf schaust, solltest Du noch einige Punkte in die Richtung finden.

*Randnotiz: Für die Aussage MySQL sei eine Datenbank, hättest Du von unserem Datenbank-Prof nur nen bösen Blick geerntet (Oracle-Fan). Gut, dass er von mir nen bösen Blick für seine Aussage, mit Oracle will man Arbeiten geerntet hat, ist ne andre Geschichte. Schau also speziell beim Einführungsabschnitt noch mal, dass der etwas neutraler (also nicht auf eine spezielle Software bezogen) geschrieben ist.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 16.08.08 23:30 
Ähm... das Tut ist von 2006. Der User hat sein damals auch keinen Beitrag mehr verfasst, fragt sich also, ob er das noch lesen wird ;-)

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Mo 12.07.10 13:20 
Gibt es in Sachen SQL-Tutorial etwas neues oder etwas verständliches für einen Anfänger wie mich?

Ich suche explizit:

Ein Tutorial, welches sich auf SQL bezieht (nix mit Delphi, MySQL, irgendwelchen Servern ect.).
Ich möchte wirklich gern lernen, wie welche Syntaxe anzuwenden sind und warum/welche Auswirkung die haben.

Z.B.:

'Select * From database where ID = 5'
Gibt den Datensatz zurück, in dem die ID = 5 ist. Wenn mehrere Datensätze existieren, die die ID 5 haben, werden alle betreffenden zurück gegeben.

Tut mir leid, dass ich einen so alten Beitrag ausgegrageb habe, aber die Suchfunktion brachte den zu Tage.

Danke und Gruß
~Mathias


Edit:

Ich habe mal etwas experiementiert und ein Project gefunden: sqlitesimpledelphi.

Das habe ich kurz geändert und frage mich nun, wie ich an den RecordCount einer Tabelle komme, ohne über
'Select * from Tabelle'
zu gehen. Bei großen Tabellen dauert es wirklich sehr, sehr lange.
Einloggen, um Attachments anzusehen!
_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
eternal
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 28.08.12 12:38 
Prima, was für verborgene Schätze man hier doch mit der Zeit findet!:-D Vielen Dank!
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Di 28.08.12 15:50 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
- Die Erklärung für VARCHAR(X) als "String mit maximal X Zeichen" wäre glaube für die meisten verständlicher.

Wäre jedoch falsch!

Zumindest unter Oracle kann ich VARCHAR(x CHAR) bzw. VARCHAR(x BYTE) anlegen und kann den Default entsprechend einstellen, so dass eine Spalte ENTWEDER mit "x Zeichen" oder "x Byte" angelegt wird, was vor allem bei Multi-Byte Zeichensätzen interessant ist.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 05.09.12 15:39 
k, so genau hab ich mir das bei Oracle jetzt nicht angeschaut, wobei gerade bei VariableByte-Zeichensätzen die Angabe VARCHAR(2 BYTE) tödlich sein kann. Da passen von den meisten Unicode-Zeichen exakt 0 stück rein ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mi 12.09.12 09:57 
Den Standard würde ich auch immer auf CHAR setzen. BYTE macht nicht soviel Sinn. Aber wenn der Default auf BYTE steht, dann heißt VARCHAR2(10) eben 10 Byte und nicht 10 Zeichen.
Syrota
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 09.05.13 14:33 
Suche auch noch !gute! Habe es schon mit dem Tut von Claudia Schaffrath versucht, aber das ist zu oberflächig.
Sie kratzt die Themen leider nur an der Oberfläche an. Trotz des Tuts weiss ich immer noch nicht, wie ich Daten in der DB ändern kann, wie ich ein Eingabescript erstelle, dass dann die Daten an die DB sendet und so weiter.