Při použití pokročilého řízení zásob u vznikajícího eshopu je potřeba jednorázově naplnit sklad (systém rozšířené správy zásob). Jedna z možností je naplnit sklad přes Mysql. Níže uvedu jenom orientační body z kterých se vychází. Sql si každý musí vytvořit podle sebe, uvedené sql jsou pro orientaci. V níže uvedených případech jsem každému produktu nastavil 1000…
Rubrika: Sql
Zformátování datumu – DATE_FORMAT
Pro práci s datumem (php+sql) se dá použít přepočíst na Timestamp (číselné vyjádření vteřin) a zacházet s datumem matematicky nebo ho uložit jako Date ( Datetime) a zacházet s ním jako s řetězcem (YYYY-MM-DD). Uživatelé chtějí ale vidět datum nějak pěkně (YYYY-MM-DD =>DD.MM. YYYY). Tato operace je možná na úrovni databáze pomocí příkazu DATE_FORMAT
Mysql: poslední autoinkrement při insertu
Dobrým zvykem je, aby každý záznam v databázi měl vlastní idetifikaci. Dělám to tak (a asi i většina datařů), že do každé tabulky přiřadím sloupeček “id(int)” s hodnutou “auto_increment”. Při každém insertu do tabulky se záznamu přiřadí unikátní číselné id. Pro vazební tabulky mezi dvěma datovýma tabulkama potom stačí vložit akorát id záznamů. Aktuální id…
Informix: pomalost vícenásobného outer joinu
Měl jsem tu 3 tabule, které jsem potřeboval outer joinovat na hlavní tabuli. Udělal jsem vícenásobný outer join a ani po dvou dnech jsem nedostal výsledek. Tak jsem rozsekal velký dotaz na 3 poddotazy a proběhlo to všechno během minuty. Poučení: informix nezvládá multi outer joiny a je potřeba je rozsekat na mezitabule s jednoduchýma…
SQL – poslední dny v měsících
Trošku teorie: mám objednávky od zákazníků a poseldní den v měsíci nepracuji 😉 Takže všechny objednávky učiněné poslední den v měsíci přesunu na jiný den než poslední den v měsíci. jak ale v záplavě datumů v yberu poslední den v měsíci? Troška praxe:Ve sloupci datového typu date má datum formát “DD.MM.RRRR”. SQLko umí z toho…
Mysql – ošetření nulového DATE
Když je sloupeček typu DATE tak při výpisu občas nevypadá pěkně. Má divný tvar a při nulové hodnotě samé nuly. Následující úprava spočívá v tom, že udělá z 2008-08-13 pěkný datum 13.8.2008 a při samých nulách nevypíše nic. SELECT CASE splneno WHEN 0000-00-00 THEN ” ELSE DATE_FORMAT(splneno,’%d.%m.%Y’) END AS datum_expedice FROM sledovani;
Informix – export struktury databáze
Aneb jak cvičená opička kreslí ER diagramy z Informixu. Pomocí Arctelu(nebo jiný terminál) se připojíme na databázový stroj na příkazovou řádku. Do příkazového řádku napíšeme: ” dbschema -d nazev_databaze >nazev_souboru.sql “. Do toho souboru nám to uloží sql pro vytvoření nové kopie databáze. Pokud si nepamatujete některé nastavení, tak si je vypíšete pomocí “set|pg“. Otevřete…
Informix: sloučení sloupců
Potřeboval jsem do sloupečku s rodnými čísly doplnit identifikační číslo obchodníka tam kde rodné číslo chybí. Dělal jsem to pomocí update s where sloupeček je null. Ale existuje příkaz NVL(kontrolovaný sloupec,dosazovaný sloupec). Systém se jukne na kontrolovaný sloupec a když zjistí, že je prázdný, tak doplní hodnotu z dosazovaného sloupce. Zajímavý zápich je o tom…
Mysql v php: rychlé odchytání problémů
Z webových databázových systémů mám nejraději “klasické” mysql. A psát testy na funkčnost výsledků dotazů je pracné. Jsem prostě líný. Ale když něco nefunguje, je potřeba rychle rychle vyhledat v čem je problém. Na to mám princip tří řádků. Ukážu to na příkladu: mysql_query(“UPDATE tabulka SET sloupecek=’hodnota’”); //dotaz, kde je chyba echo “UPDATE tabulka SET…
Zálohování tabulky mysql databáze v příkazové řádce
Občas je z nějakého důvodu potřeba vytáhnout tabulku z databáze ze stroje u Franty do textového souboru a někde jinde ji do stroje u Lojzy nacpat. Typický příklad jsou nechutně velké tabulky. Databázové stroje většinou (alespoň v mém okolí) jsou linuxové stanice a tak se píšou příkazy v příkazové řádce 1. krok – databáze do…