Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY , Leiras VARCHAR( 100 ) );
CREATE TABLE `dihunor`.`CSAPAT` ( `ID` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'A csapat azonositoja', `Nev` VARCHAR( 30 ) NOT NULL COMMENT 'A csapat neve', `Helyseg` VARCHAR( 40 ) NULL DEFAULT 'Senkihaza' COMMENT 'A csapat szekhelye', `Ev` INT( 4 ) NULL DEFAULT NULL COMMENT 'A csapat megalapitasanak eve' ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE edzo( ID int( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'az ezdo azonositoja', VNev varchar( 20 ) NOT NULL COMMENT 'az edzo vezetekneve', KNev varchar( 20 ) NOT NULL COMMENT 'az ezdo keresztneve', SzulDat date NOT NULL default '1900-01-01' COMMENT 'az edzo szuletesi datuma' ) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 'Az edzok nylvantartasa'; CREATE TABLE CSAPAT_EDZO( CsapatID int( 4 ) NOT NULL , EdzoID int( 4 ) NOT NULL , Kezd DATE NOT NULL COMMENT 'Mikor kezdte edzeni a csapatot', Vegez DATE NULL COMMENT 'Mikor tavozott a csapattol' ) CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE jatekos( ID int( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , VNev varchar( 30 ) NOT NULL , KNev varchar( 30 ) NOT NULL , SzulDat date NULL default NULL , poszt varchar( 30 ) NOT NULL ,
masodPoszt varchar( 30 ) NULL default NULL , magassag int( 3 ) NOT NULL ) CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE csapat_jatekos( csapatID int( 4 ) NOT NULL , jatekosID int( 4 ) NOT NULL , kezd date NOT NULL , vegez date NULL default NULL , szam int( 2 ) NOT NULL default 1, atlagBer int( 10 ) , PRIMARY KEY ( jatekosID, kezd ) , FOREIGN KEY ( csapatID ) REFERENCES csapat( ID ) ON UPDATE CASCADE ON DELETE RESTRICT , FOREIGN KEY ( jatekosID ) REFERENCES jatekos( ID ) ON UPDATE CASCADE ON DELETE RESTRICT ) CHARACTER SET utf8 COLLATE utf8_general_ci;
Tábla törlése: DROP TABLE alma; Uj mezı hozzáadása a táblához: ALTER TABLE `CSAPAT` ADD `valami` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'Ez valami';
Mezı modosítása: ALTER TABLE `CSAPAT` CHANGE `ID` `ID` INT( 5 ) NOT NULL AUTO_INCREMENT COMMENT 'A csapat azonositoja';
Kulcs definiálása: ALTER TABLE csapat_edzo ADD PRIMARY KEY ( EdzoID, Kezd ) ;
Külsı kulcs definiálása: ALTER TABLE csapat_edzo ADD FOREIGN KEY ( CsapatID ) REFERENCES csapat( ID ) ON UPDATE CASCADE ON DELETE RESTRICT;
Mezı törlése: ALTER TABLE `CSAPAT` DROP `valami`; Új rekord beírása a táblába (hozzáadása) INSERT INTO `dihunor`.`CSAPAT` (`ID` ,`Nev` ,`Helyseg` ,`Ev` ) VALUES (NULL , 'Manchester United', 'Manchester', '1878'); INSERT INTO `dihunor`.`CSAPAT` (`Nev` ,`Helyseg` ,`Ev` ) VALUES ('Tetveszok', DEFAULT, '2001'); INSERT INTO `dihunor`.`CSAPAT` (`Nev` ,`Helyseg` ,`Ev` ) VALUES ('Chelsea', 'London', '1905'); INSERT INTO `dihunor`.`CSAPAT` (`Nev` ) VALUES ('Csipet-csapat');
Rekord módosítása UPDATE `dihunor`.`CSAPAT`
SET `Helyseg` = 'Csikszereda', `Ev` = '1999' WHERE `csapat`.`ID` =4 LIMIT 1 ; UPDATE `dihunor`.`CSAPAT` SET `Helyseg` = 'Igen', `Ev` = '1'; UPDATE `dihunor`.`CSAPAT` SET `Helyseg` = 'Manchester', `Ev` = '1878' WHERE `csapat`.`ID` =1; UPDATE `dihunor`.`CSAPAT` SET `Helyseg` = 'London', `Ev` = '1905' WHERE `csapat`.`Nev` = 'Chelsea';
Rekord törlése DELETE FROM `dihunor`.`CSAPAT` WHERE `csapat`.`ID` =2 LIMIT 1 ; DELETE FROM `dihunor`.`CSAPAT` WHERE `csapat`.`Helyseg` = 'Igen';
Lekérdezések SELECT * FROM `CSAPAT` LIMIT 0 , 30; SELECT Nev, Ev FROM `CSAPAT`; SELECT Nev AS 'Csapat neve', Ev AS 'Megalapitasanak eve' FROM `CSAPAT`; SELECT Nev AS 'Csapat neve', Ev AS 'Megalapitas eve' FROM dihunor.csapat WHERE Helyseg = 'London';
SELECT Nev AS 'Csapat neve', Ev AS 'Megalapitas eve' FROM dihunor.csapat WHERE Helyseg = 'London' OR Helyseg = 'Budapest'; SELECT Nev AS 'Csapat neve', Ev AS 'Megalapitas eve' FROM dihunor.csapat WHERE Helyseg IN ('London', 'Budapest'); SELECT nev, helyseg, ev FROM csapat WHERE ev < 1900; SELECT nev, helyseg, ev FROM csapat WHERE ev >=1890 AND ev <=1910; SELECT nev, helyseg, ev FROM csapat WHERE ev BETWEEN 1890 AND 1910; SELECT count( * ) FROM jatekos; SELECT count( * ) FROM `jatekos` WHERE poszt = 'Csatár'; SELECT avg( magassag ) FROM `jatekos`; SELECT avg( magassag ) FROM `jatekos` WHERE poszt LIKE '%hátvéd%' OR poszt = 'Libero' OR masodPoszt LIKE '%hátvéd%' OR masodPoszt = 'Libero';
SELECT concat( VNev, ' ', KNev ) AS "Nev", poszt, masodPoszt FROM jatekos WHERE magassag >=180; SELECT concat( VNev, ' ', KNev ) AS "Nev", poszt, masodPoszt FROM jatekos WHERE magassag >=180 ORDER BY VNev, KNev; SELECT concat( VNev, ' ', KNev ) AS "Nev", poszt, masodPoszt, magassag FROM jatekos WHERE magassag >=180 ORDER BY magassag DESC;
CSAPAT_EDZO CSAPAT ID Nev Helyseg Ev
CsapatID EdzoID Kezd Vegez
EDZO ID VNev KNev SzulDat
FULL JOIN SELECT csapat.nev, kezd, vegez, VNev, KNev FROM csapat, csapat_edzo, edzo WHERE VNev = 'Murinho' AND KNev = 'Jose';
INNER JOIN Kiírja azokat a csapatokat, amelyeknek Murinho az (vagy volt az) edzoje SELECT csapat.nev, kezd, vegez, VNev, KNev FROM csapat, csapat_edzo, edzo WHERE csapat.id = csapatID AND edzo.id = edzoID {join feltétel} AND VNev = 'Murinho' AND KNev = 'Jose';
Kiírja a Manchester United volt és aktuális edzıit SELECT VNev, KNev FROM edzo, csapat_edzo, csapat WHERE edzo.id = edzoID AND csapat.id = csapatID AND Nev = 'Manchester United'; Kiírja az L betős helységekben mőködı csapatok volt és aktuális edzıit SELECT VNev, KNev, Nev, Helyseg FROM edzo, csapat_edzo, csapat WHERE edzo.id = edzoID AND csapat.id = csapatID AND Helyseg LIKE 'L%' Kiírja az L betős helységekben mőködı csapatok aktuális edzıit SELECT VNev, KNev, Nev, Helyseg FROM edzo, csapat_edzo, csapat WHERE edzo.ID = edzoID AND csapat.id = csapatID AND Helyseg LIKE 'L%' AND Vegez IS NULL;
CSAPAT ID Nev Helyseg Ev
CSAPAT_JATEKOS
JATEKOS
csapatID jatekosID kezd vegez szam atlagBer
ID VNev KNev SzulDat poszt masodPoszt magassag
SELECT VNev, KNev FROM jatekos WHERE szulDat = (SELECT min( szulDat ) FROM jatekos);
SELECT VNev, KNev FROM jatekos, csapat_jatekos WHERE jatekos.ID = jatekosID AND vegez IS NULL SELECT VNev, KNev FROM jatekos INNER JOIN csapat_jatekos ON ID = jatekosID WHERE vegez IS NULL SELECT jatekos.Vnev, jatekos.Knev FROM jatekos INNER JOIN csapat_jatekos INNER JOIN csapat INNER JOIN csapat_edzo INNER JOIN edzo ON jatekos.ID = jatekosID AND csapat_jatekos.csapatID = csapat.ID AND csapat.ID = csapat_edzo.csapatID AND edzoID = edzo.ID SELECT jatekos.VNev, jatekos.Knev FROM jatekos INNER JOIN csapat_jatekos INNER JOIN csapat INNER JOIN csapat_edzo INNER JOIN edzo ON jatekos.id = jatekosID AND csapat_jatekos.csapatID = csapat.ID AND csapat.ID = csapat_edzo.csapatID AND edzoID = edzo.ID WHERE edzo.VNev = 'Murinho' AND edzo.KNev = 'Jose'; SELECT jatekos.VNev, jatekos.Knev FROM jatekos INNER JOIN csapat_jatekos INNER JOIN csapat_edzo INNER JOIN edzo ON jatekos.id = jatekosID AND csapat_jatekos.csapatID = csapat_edzo.csapatID AND edzoID = edzo.ID WHERE edzo.VNev = 'Murinho' AND edzo.KNev = 'Jose'; SELECT Nev FROM csapat INNER JOIN csapat_edzo INNER JOIN edzo ON csapatID = csapat.ID AND edzoID = edzo.ID WHERE edzo.ID = ( SELECT ID FROM edzo WHERE SzulDat = ( SELECT min( SzulDat ) FROM edzo ) );
SELECT concat( Vnev, ' ', Knev ) AS 'Nev', SzulDat FROM jatekos INNER JOIN csapat_jatekos ON ID = jatekosID WHERE SzulDat <= '1975-06-17' AND SzulDat >= '1968-03-09' AND vegez IS NULL; SELECT Nev AS 'Csapat neve', concat( VNev, ' ', KNev ) AS 'Jatekos neve' FROM csapat, csapat_jatekos, jatekos WHERE csapat.ID = csapatID AND jatekosID = jatekos.ID AND vegez IS NOT NULL; SELECT concat( VNev, ' ', KNev ) AS 'Jatekos', Nev AS 'Csapat', poszt FROM jatekos, csapat_jatekos, csapat WHERE jatekos.ID = jatekosID AND csapat.ID = csapatID AND Nev LIKE 'M%' AND (poszt = 'csatár' OR poszt LIKE '%középpályás%'); SELECT concat( VNev, ' ', KNev ) AS 'Jatekos', cs.Nev AS 'Csapat', poszt FROM jatekos j, csapat_jatekos, csapat cs WHERE j.ID = jatekosID AND cs.ID = csapatID AND Nev LIKE 'M%' AND (poszt = 'csatár' OR poszt LIKE '%középpályás%') ORDER BY Vnev DESC , Knev; SELECT concat( VNev, ' ', KNev ) AS 'Jatekos', cs.Nev AS 'Csapat', if( masodPoszt IS NULL, poszt , concat( poszt, ', ', masodPoszt ) ) AS Poszt FROM jatekos j, csapat_jatekos, csapat cs WHERE j.ID = jatekosID AND cs.ID = csapatID AND (poszt = 'csatár' OR poszt LIKE '%középpályás%') ORDER BY Vnev DESC , Knev; SELECT j.VNev, j.KNev FROM edzo e, jatekos j WHERE e.VNev = j.Vnev AND e.KNev = j.KNev; SELECT Vnev, KNev, truncate( datediff( now( ) , SzulDat ) /365, 0 ) AS Eves FROM edzo;
SELECT avg( truncate( datediff( now( ) , SzulDat ) /365, 0 ) ) AS 'jatekosok atlag eletkora' FROM jatekos; SELECT avg( truncate( datediff( now( ) , SzulDat ) /365, 0 ) ) AS 'Manchester City jatekosainak atlag eletkora' FROM jatekos j, csapat_jatekos, csapat cs WHERE j.ID = jatekosID AND cs.ID = csapatID AND Nev = 'Manchester City' AND vegez IS NULL;