Základní příkazy MySQL
Vydáno: 9.07.06 Kategorie: php
Jelikož už mi PHP samotné nestačí, začal jsem se vrtat v databázích. Konkrétně v MySQL protože se mi jeví jako nejvhodnější ze všech dostupných databázích.
Dnes přináším absolutně základní příkazy MySQL, které by ovšem každý měl znát a já si je tak budu moci připomínat :)
CREATE DATABASE php_mysql;
-- vytvoř databázi mysql
CREATE TABLE knihy
(
nazev varchar(100) not null,
autor varchar(100) not null,
popis text not null
);
-- vlož řádky s hodnoty do tabulky knihy
insert into knihy values("Aikido", "Morihei Ueshiba", "Aikido a vše okolo něj...");
insert into knihy values("Ferda Mravenčík", "Ondřej Sekora", "Pro děti...");
insert into knihy values("Aikido pro začátečníky", "Morihei Ueshiba", "Jak se naučit aikido...");
-- obdobně můžu zapsat výše řádky takto
insert into knihy values("Aikido", "Morihei Ueshiba", "Aikido a vše okolo něj..."),("Ferda Mravenčík", "Ondřej Sekora", "Pro děti...");
-- do tabulky knihy přidej položky autor_id, id, odeber autor
alter table knihy
add autor_id int not null;
alter table knihy
add id int auto_increment not null primary key;
alter table knihy
drop autor;
-- zruš tabulku knihy
DROP TABLE knihy;
-- vytvoř tabulku knihy a id nastav automatické zvětšování o 1 a nastav to jako jedinečné číslo
CREATE TABLE knihy
(
id int auto_increment not null primary key,
nazev varchar(100) not null,
autor_id int not null,
popis text not null
);
CREATE TABLE autori
(
id int auto_increment not null primary key,
jmeno varchar(100) not null
);
-- přidej do tabulky autori do položky jmeno > Ondřej Sekora
insert into autori (jmeno) values ("Ondřej Sekora");
-- v tabulce knihy nastaví položku autor_id na 1 pokud položka id je 1
UPDATE knihy
set autor_id = "1"
where id="1";
-- do tabulky vlož (insert) nebo nahraď (replace) dané položky, v závislosti na unikátním/primárním klíči
-- v tomto případě id
REPLACE knihy (id,nazev,autor_id,popis) VALUES (4, "Moje krásná nová kniha", 3, "Ivoriusův manuál");
-- smaž řádek z tabulky knihy, který má nastaveno v položce autor_id 3
DELETE FROM knihy
WHERE autor_id = "3";
Aleš Dobrovolný · 9 07 2006 - 13:58
MySQL – nesmírně mě na ní štve nepřítomnost typu boolean, obcházení tohoto pomocí TiniInt (0, –1) je, s prominutím, příšernost. Doporučil bych PostgreSQL, taky open source, mnohem robustnější, výborná dokumentace a kdesi na webu je podpora v češtině. Ale má horší podporu na hostinzích. Byl jsem spoluatorem aplikace, která v současné době obhospodařuje cca 1,5 milionu řádku asi v 60 tabulkách, cca 40 uživatelů, s PostreSQL na Linuxu bez problémů.
Ivorius · 9 07 2006 - 14:46
A to je právě ono. Velice málo hostingů podporuje PostreSQL. Stejně tak většina aplikací je pro MySQL. Tudíž u mě prozatím vítězí MySQL.
maertien · 28 08 2006 - 11:57
Nevidim jako problem nepritomnost typu boolean… Int mi staci..
nich · 10 04 2008 - 08:00
dobrý den, super článek, jen potřebuji php kód, který řekne příslušnému řádku, aby si našel příslušný řádek tabulky a doplnil do ní údaje?
mám na mysli heslo, přeszívku, další přesdívku, mail, icq, www… můžete mi, prosím, pomoct? (prosím o odpověď na mail), děkuji