Größe einer Tabelle / Spalte anzeigen lassen

basti1012

Neuer Benutzer
Beiträge
2
Tach auch.
Ich bin neu hier und bin noch am Anfang von SQL lernen. Datenbanken erstellen und auslesen und so bekomme ich mitlerweile halbwegs hin. Jetzt habe ich eine Tabelle "CODES" wo mehrere Scripte gespeichert sind ,bzw der Inhalt der Scripte. Habe diese Spalten Datum,Zeichen,Code,Downloads.
Nun möchte ich wissen wie gross ( IN KB ) ist die Spalte "CODES" ? Jenachdem wie groß das Script ist können da ja von 1 bis Ende offen gespeichert werden . Habe den zur Zeit auf vachar(100.000) Stehen was natürlich nicht immer voll ist,jenachdem wie groß das Script ist. Gibt es dafür einen Code das ch die Zeichenlänge ( Buchstaben usw ) und die größe in KB anzeigen lassen kann ? Vieleicht könnt ihr mir weiter helfen weil bis jetzt habe ich nur Codes gefunden und erhalten die eine ganze Tabelle auslesen aber nicht nur einen einzigen Eintrag einer Spalte
 
Werbung:
vermutlich hat auch MySQL eine Funktion, die Länge eines Strings zu ermitteln.

Code:
test=# create table basti(id serial primary key, t text);
CREATE TABLE
test=*# insert into basti(t) select 'kurzer text';
INSERT 0 1
test=*# insert into basti(t) select repeat('langer text ',150);;
INSERT 0 1
test=*# select id, length(t) from basti;
 id | length
----+--------
  1 |     11
  2 |   1800
(2 Zeilen)
 
bin noch am Anfang von SQL lernen

Dazu vielleicht ein kleiner Tipp: MySQL ist als Lernsystem eher schlecht geeignet, weil es a) nur einen Bruchteil der Dinge kann, die eine zeitgemäße SQL-Datenbank kann und b) dies oft sogar noch falsch macht. So kann es keine Window-Funktionen (von der ganz aktuellen Version mal abgesehen) und liefert bei syntaktisch falschen Abfragen ein falsches Resultat - anstatt eines Fehlers.

Ich würde da eher PostgreSQL empfehlen. Hätte bei Deinem Einsatzzweck z.B. den Vorteil, daß es lange Texte (wie bei Dir) für Dich und die Applikation völlig transparent komprimiert speichert.
 
Dazu vielleicht ein kleiner Tipp: MySQL ist als Lernsystem eher schlecht geeignet
Wahrscheinlich hast du recht weil ich dein Beispiel gerade nicht ganz verstehe.1 steht da creat table? Die habe ich ja schon.Oder muß ich die dazu neu machen das es erst geht? Geht das bei meiner vorhandener Tabelle nicht ?
Dann hast du da kurzer Text und langer Text stehen was ich gerade verwirrt.
Ich hätte jetzt sowas in der art erwartet und weiß nicht was die länge mit den Text zu tun hat weil die länge weiß ich doch erst nach den abfragen

$query="SELECT code FROM CODES WHERE (code.length AND code.kb")";

Das ist jetzt ein Pfantasie Code ,aber so in der Art kenne ich das nur.Kann man dein Beispiel so irgendwie in einer Zeile packen ?
 
Wahrscheinlich hast du recht weil ich dein Beispiel gerade nicht ganz verstehe.1 steht da creat table? Die habe ich ja schon.Oder muß ich die dazu neu machen das es erst geht? Geht das bei meiner vorhandener Tabelle nicht ?

Oh. Mein. Gott.

Ich habe lediglich ein Beispiel zeigen wollen, mit einer passenden Tabelle, nachvollziehbar.

Dann hast du da kurzer Text und langer Text stehen was ich gerade verwirrt.

Das. Tut. Mir. Leid.

Nicht.

Ehrlich.

Auch hier: ich wollte ein Beispiel zeigen.

Ich hätte jetzt sowas in der art erwartet und weiß nicht was die länge mit den Text zu tun hat weil die länge weiß ich doch erst nach den abfragen

$query="SELECT code FROM CODES WHERE (code.length AND code.kb")";

Das ist jetzt ein Pfantasie Code ,aber so in der Art kenne ich das nur.Kann man dein Beispiel so irgendwie in einer Zeile packen ?

Ich wünsche Dir einfach nur gute Besserung. Bin ja wie immer Optimist.
 
Werbung:
Ich hätte jetzt sowas in der art erwartet und weiß nicht was die länge mit den Text zu tun hat weil die länge weiß ich doch erst nach den abfragen

Versuchen wir es noch mal. Ohne Beispiele, um Dich nicht zu verwirren. Um die Länge eines Textes zu ermitteln, gibt es, Trommelwirbel: Funktionen. Denen übergibt man den Text, und sie liefern deren Länge.

Wenn das bis hierhin jetzt klar sein sollte - aber erst dann - kommt der nächste Schritt. Aber ich will nicht voreilig sein, erst einmal muß das sitzen.
 
Zurück
Oben