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 ID Nev Helyseg Ev CSAPAT_EDZO 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 csapatid jatekosid kezd vegez szam atlagber JATEKOS 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;