strony www, sklepy internetowe, oprogramowanie

Wpisy otagowane ‘MySQL’

MySQL – kodowanie bazy danych

Czwartek, styczeń 12th, 2012

Dzisiaj podamy przykłady zapytań SQL przydatnych gdy nie mamy możliwości skorzystania z PHPMyadmina i musimy poprzez komendy SQL zarządzać kodowaniem bazy danych MySQL. Poniżej lista przydatnych naszym zdaniem komend:

1) Sprawdzenie kodowania bazy danych

W pierwszej kolejności wybieramy naszą bazę danych poprzez USE DATABASE_NAME; następnie możemy skorzystać z dwóch komend:

- SHOW VARIABLES LIKE “character_set_database”;

- SHOW VARIABLES LIKE “collation_database”;

Jeżeli wyniki nas nie usatysfakcjonowały będziemy za pewne chcieli zmienić kodowanie. Robimy to przy pomocy komendy:

2) ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Jeżeli nie wiemy jakie opcje wpisać w kodowaniu możemy dodatkowo sprawdzić obsługiwane przez bazę danych kodowania, wołając komendę:

3)  SHOW COLLATION;

MySQL Multi Delete – usuwanie przy wykorzystaniu wielu tabel

Poniedziałek, kwiecień 4th, 2011

Załóżmy że mam złożone zapytanie którego zadaniem jest pobieranie danych z dwóch tabel połączonych ze sobą poprzez LEFT JOIN.

Zapytanie będzie miało postać podobną do:

SELECT * FROM table1 as t1 LEFT JOIN table2 as t2 ON (t1.property1=t2.property1 AND t1.property2=t2.property2) WHERE t1.property3=123 AND t1.property4 IS NOT NULL

Jak teraz sprawnie przekształcić to zapytanie w usuwanie?

Musimy skorzystać z mechanizmu nazywanego w MySQL “Multi Delete” . Modyfikujemy zapytanie do postaci następuącej:

DELETE t1 FROM table1 as t1 LEFT JOIN table2 as t2 ON (t1.property1=t2.property1 AND t1.property2=t2.property2) WHERE t1.property3=123 AND t1.property4 IS NOT NULL

W formule dodajemy po prostu tabelę z której chcemy usuwać. Równie dobrze moglibyśmy usuwać jednocześnie z dwóch tabel modyfikując początek zapytania do postaci:

DELETE t1,t2 FROM …

Więcej na ten temat można doczytać na stronie MySQL : http://dev.mysql.com/doc/refman/5.0/en/delete.html