Jest takie coś w MySQL do czego Microsoft jeszcze nie dojrzał i nie wiadomo czy w ogóle dojrzeje. A mianowicie LIMIT - element zapytania pozwalający na wyświetlenie X rekordów od rekordu Y począwszy. To cudo jest odporne na sortowanie, warunki, joiny itd. Idealna sprawa do stronicowania.
Więcej na temat: “LIMIT w MSSQL”
Jeśli mamy tabelę TEST a w niej kolumnę OPIS i stwierdzimy że w całej tabeli, wszędzie w opisach, wewnątrz tekstu jest np.: “2″ zamiast “7″ to mozemy to szybko poprawić jednym zapytaniem.
Więcej na temat: “MySQL: update pojedynczego znaku, wyrazu w kolumnie”

Mantis Bug Tracker to popularne narzędzie do nadzoru nad rozwojem projektów, zgłaszania błędów itd….
Występuje w dwóch wersjach: stabilnej oraz rozwojowej. Do obu wersji dostępny jest szereg pluginów. Niestety mimo zapewnień twórców wtyczek, że na wersji rozwojowej wszystko działa “cacy” - tak nie jest. Pojawiają się błędy, nie zgadzają się nazwy kolumn w tabelach no i pluginów na wersję 1.2.* jest dużo mniej niż na stabilną 1.1.*
Niestety, wdrażając Mantisa nie zwróciłem uwagi na tę drobną niedogodność i zainstalowałem wersję rozwojową. Po kilkuset zgłoszeniach i przypisaniu kilkudziesięciu projektów zdecydowałem się migrować w dół. Zrobiłem downgrade z 1.2.0a3 na 1.1.6.
Więcej na temat: “Mantis Bug Tracker: downgrade do wersji stabilnej”
Mając kilka serwisów www chciałem dać użytkownikom możliwość zgłaszania ewentualnych błędów i/lub nowych propozycji. Jednak fajnie by było gdyby wszystkie one były zbierane w jednym miejscu które dawało by możliwość zarządzania nimi. Dobrym programem do zamieszczania takich zgłoszeń jest Mantis ale dodawanie do niego informacji jest dość kłopotliwe zwłaszcza dla mało doświadczonych użytkowników. Dlatego opracowałem sposób który umożliwia mi zamieszczenie prostego formularza w dowolnym serwisie a zbierania wszystkich zgłoszeń w jednym Mantisie.
Więcej na temat: “Zdalne dodawanie zgłoszeń do Mantisa”
#!/bin/sh
mysqldump --host=localhost --user=root --password=haslo --all-databases > all_databases.$(date +%F)
tar -zcf /home/mysql/all_databases.$(date +%F).tar.gz /home/mysql/all_databases.$(date +%F)
rm /home/mysql/all_databases.$(date +%F)
rm $(perl -e 'use POSIX qw(strftime); print strftime "all_databases.%F*",localtime(time-3600*24*7);')
A tak się importuje:
cat all_databases.2008-04-11 | mysql -u root -p
Eksportuje bazy danych do pliku:
mysql_dump -u user baza > /tmp/sql.sql
mysqldump --user=jas --password=haslo_jasia NazwaBazy | gzip > backup_$(date +%F)_NazwaBazy-database.sql.gz
Importuję bazę danych z pliku do serwera:
cat /tmp/sql.sql | mysql -u user database -p
MySQL
SELECT author, quote FROM quotes ORDER BY RAND() LIMIT 1;
Wybiera jeden losowy rekord z tabeli quotes.
Postgresql
SELECT id, komentarz FROM (SELECT *, RANDOM() FROM komentarze ORDER BY 4) tmp_komentarze LIMIT 10;
Wybiera 10 losowych rekordów z tabeli. Liczba 4 określa ilość kolumn w tabeli +1.