Skip to content

Posts from the ‘MySQL’ Category

1
Feb

Datenbank umbenennen

Im laufe eines größeren Projektes kommt es schon mal vor, dass sich einzelne Namen ändern. Oder aber wenn man gerade eine Anwendung schnell ausprobieren will und dabei den falschen Namen eingetippt hat. Wie man sieht kann es viele Gründe dafür geben, eine Datenbank im Nachhinein ändern zu wollen. Doch wie macht man das?

Das Ganze ist nicht so einfach wie bei der Umbennenung einer Tabelle. Gleich vorab: Es gibt keinen Query-Befehl dafür!

Dazu möchte ich euch zwei Methoden vorstellen:

ganzen Artikel lesen »

1
Feb

Tabelle umbenennen

Wer kennt das Problem nicht. Man erstellt eine Tabelle und merkt im Nachhinein, dass eine andere Bezeichnung doch viel besser wäre.

Dazu gibt es folgenden Query:

ALTER TABLE 
	'old_table_name' 
RENAME 
	'new_table_name';
29
Aug

Zeitdifferenz von Timestamps ermitteln

1 Problemstellung

Für ein Projekt stand ich vor dem Problem, dass ich von zwei Timestamps die Zeitdifferenz in Sekunden ausgeben wollte. Mittels PHP ist dies natürlich kein Problem. Doch alles was sich mittels der Datenbankabfrage lösen lässt, ist meist performanter und schöner.

2 Lösung

So habe ich mich daran gesetzt, dieses Problem zu knacken und habe folgende Lösung ausgearbeitet:

SELECT
	tbl_quote.quote_title,
	tbl_quote.quote_content,
	TIMESTAMPDIFF(SECOND,tbl_quote.quote_date,NOW()) AS quote_diff_in_sec_to_now
FROM
	tbl_quote
LIMIT 1

Dabei erhält man die Zeitdifferenz zwischen dem Timestamp, welcher in dem Datenfeld tbl_quote.quote_date gespeichert ist und der aktuellen Uhrzeit, was mittels dem Befehl NOW() abgefragt wird. Die aktuelle Uhrzeit kann natürlich durch einen weiteren Timestamp ersetzt werden. SECOND gibt an, dass das Ergebnis in Sekunden ausgegeben werden soll. Weitere Werte sind zum Beispiel HOUR, DAY oder, Ihr ahnt es schon, WEEK. Alle Details zu der Funktion TIMESTAMPDIFF() und weiteren Datums- und Zeitfunktionen könnt Ihr in der MySQL Dokumentation nachlesen. Viel Spaß!

3 Fazit

Mittels der Funktion TIMESTAMPDIFF() lässt sich schnell und einfach die Zeitdifferenz zwischen zwei Timestamps ausgeben.