monkey7: MySQL: Eine bestimmte Zeile auslesen und Datenbank sortieren

Hallo,

habe gleich zuvor zwei Fragen:

[1] Zeile auselesen:
--------------------

So wie ich es verstanden habe, hat jede Tabelle minimal eine Primary Key. Ok, ich habe eine Tabelle mit einer Spalte. Nun ist es ja so, dass der Key bei erstem EIntrag mit einer 1 beginnt. Ich möchte die Zeile 350 auslesen. Wie mach ich das?
Er soll erst nicht die gesamte Tabelle einscannen, sondern blind die 350ste Zeile auslesen. Wie wäre da eine MySQL Anweisung?

SELECT val FROM tab WHERE PRIMARY KEY = 350; ???

[2] Wie kann man eine Tabelle MySQLintern sortieren?

Danke um eure Hilfe,

Daniel

  1. Er soll erst nicht die gesamte Tabelle einscannen, sondern blind die 350ste Zeile auslesen. Wie wäre da eine MySQL Anweisung?

    SELECT val FROM tab WHERE PRIMARY KEY = 350; ???

    Du musst den Namen der Spalte angeben:
    SELECT val FROM tab WHERE name_der_spalte_des_primary_keys = 350;

    [2] Wie kann man eine Tabelle MySQLintern sortieren?

    Mit "ORDER BY ..."

    1. vielen dank...
      müssen eigentlich alle werte anders in der spalte sein, um ein primary key anlegen zu können?

      1. Hi!

        vielen dank...
        müssen eigentlich alle werte anders in der spalte sein, um ein primary key anlegen zu können?

        Was immer du als primary Key festlegst kann nur einmalig in der Tabelle vorkommen.

        Deine Fragestellung laesst vermuten, dass Du den Sinn eines PK nicht verstehst. Beschaeftige dich doch mal mit Normalisierung und den Normalformen. (bis 3)

        --
        Trau Dich!
         
  2. Hi,

    (http://dev.mysql.com/doc/refman/5.1/de/select.html).

    wenn Du einen durchnummerierten Index als PK benutzt und niemals Datensaetze loescht ohne den Index zu bearbeiten dann kannst Du das so machen. Heisst denn dein Index 'PRIMARY KEY'? Dann waere die Abfrage fast richtig.

    Ich wuerde es aber mit Limit machen.

    Sortieren kann man mit order by. Ich hab aber irgendwie das Gefuehl, dass du das nicht meinst.

    Ich habe allgemein so das Gefuehl, dass Dir der Einblick in Datenbanken fehlt und empfehle Dir dich mal allgemein in diese Materie einzulesen, oder es jemand anderes machen zu lassen.

    Vielleicht moechtest Du hier ja mitteilen, was genau Du eigentlich beabsichtigst. Dann kann Dir auch besser geholfen werden.

    --
    Trau Dich!