Zde nebudu ukazovat nejběžnější dotazy jako INSERT, UPDATE, DELETE atd. Ukážu vám některé další dotazy, o kterých si myslím, že jsme je vyžadovali během vývoje. Obecně vytváříme společné funkce a třídy najednou a používáme je tyto funkce a třídy mnohokrát podle potřeby. Ale v některých případech musíte spouštět mysql dotazy v databázi násilně, takže toto jsou některé mysql dotazy, které jsou často vyžadovány.
1. Vložit a aktualizovat dotaz
Tento dotaz je velmi užitečný, aby se zabránilo duplicitnímu záznamu.
Pokud zadáte ON DUPLICATE KEY UPDATE a vloží se řádek, který by způsobil duplicitní hodnotu v UNIQUE indexu nebo PRIMARY KEY, MySQL provede UPDATE starého řádku . Pokud je například sloupec a deklarován jako UNIKÁTNÍ a obsahuje hodnotu 1, mají následující dva příkazy podobný účinek:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE table SET c=c+1 WHERE a=1; |
INSERT INTO employee (id,name,lastname,dept) values('key that already exists', 'new name','new last name','Accounts') on duplicate KEY UPDATE name='default name', lastname='default last name'; |
2. Vytvořit a zrušit omezení
Často je potřeba přidat/upravit/odstranit omezení aplikovaná na tabulku. Můžete tak učinit pomocí následujících dotazů:
Přidat primární klíč:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY, ADD PRIMARY KEY ('COLUMN_NAME'); |
Uvolnění primárního klíče:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY; |
Uvolnění jedinečného klíče:
ALTER TABLE companies DROP INDEX COLUMN_NAME; |
3. Seřadit podle, s klauzulemi
Pořadí podle se používá k uspořádání dat podle konkrétního sloupce a pak se používá k filtrování dané sady výsledků. Jsou opravdu užitečné, když potřebujete nějaké konkrétní informace z velké databáze.
SELECT * FROM TABLE_NAME group_by DEPARTMENT HAVING salary > 25000; |
4. Změna a aktualizace sloupců tabulky
Často měníme vlastnosti sloupce tabulky, takže pomocí těchto dotazů můžete snadno přidat/upravit/smazat existující vlastnost sloupce tabulky.
Přidat sloupec
ALTER TABLE 'employee' ADD COLUMN department VARCHAR(100); |
Upravit sloupec
ALTER TABLE 'employee' MODIFY COLUMN department VARCHAR(50); |
Přejmenovat sloupec
ALTER TABLE 'employee' CHANGE department dept VARCHAR(50); |
Přetáhněte sloupec
ALTER TABLE 'employee' DROP COLUMN department; |
5. Vytvoření výpisu/zálohy vaší databáze
Níže můžete nastavit dotaz na cronjob pro automatické zálohování databáze. stačí použít níže uvedený užitečný dotaz a bude to vyžadovat pravidelné zálohování vaší databáze mysql.
mysqldump –h localhost –u username –ppassword databasename > backup_file_datatime.SQL |