Laboratorium baz danych Zajęcia nr 1: Konsola mysql. Zadania do
Transkrypt
Laboratorium baz danych Zajęcia nr 1: Konsola mysql. Zadania do
Laboratorium baz danych Zajęcia nr 1: Konsola mysql. Zadania do wykonania: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Wyświetlić listę baz danych; Utworzyć nową bazę danych; Ustawić utworzoną bazę danych jako aktywną; Wyświetlić listę tabel; Utworzyć nową tabelę; Wyświetlić strukturę utworzonej tabeli; Zmodyfikować tabelę; Wyświetlić wszystkie dane w tabeli; Dodać rekord do tabeli; Usunąć rekord z tabeli; Definicja tabeli: Nazwa kolumny ID Imie Nazwisko Data_urodzenia Miejscowosc Znam_od Plec Typ int varchar(20) varchar(30) date varchar(20) date char(1) Dodatkowe parametry not null, auto_increment, primary key not null not null not null Składnia przydatnych poleceń: • • • • • • • • • • • Połączenie z bazą danych: mysql –u <nazwa_uzytkownika> -p Wyświetlenie dostępnych baz danych: SHOW DATABASES; Wyświetlenie listy tabel w aktualnej bazie danych: SHOW TABLES; Ustawienie aktywnej bazy danych: USE <nazwa_bazy>; Wyświetlenie struktury tabeli: DESCRIBE <nazwa_tabeli>; Utworzenie tabeli (pełna specyfikacja: http://dev.mysql.com/doc/mysql/en/create-table.html): CEATE TABLE <nazwa_tabeli> ( <nazwa_kolumny> <typ> <opcje dodatkowe>, … PRIMARY KEY (<nazwa_kolumny>) ); Modyfikacja tabeli (pełna specyfikacja: http://dev.mysql.com/doc/mysql/en/alter-table.html): ALTER TABLE <nazwa_tabeli> <specyfikacja zmian>; Możliwe zmiany to: ADD <nazwa_kolumny> <typ> <parametry> DROP <nazwa_kolumny> CHANGE <nazwa_kolumny> <nowa_definicja_kolumny> RENAME <nowa_nazwa_tabeli> Dodanie rekordu do tabeli (pełna specyfikacja: http://dev.mysql.com/doc/mysql/en/insert.html): INSERT INTO <nazwa tabeli> (<nazwa kolumny_1>,<nazwa kolumny_2>,…) VALUES (<wartość_1>,<wartość_2>,…); Pobranie danych z tabeli (pełna specyfikacja: http://dev.mysql.com/doc/mysql/en/select.html): SELECT <nazwa kolumny>,… FROM <nazwa tabeli> WHERE <warunek>; Usunięcie rekordu (pełna specyfikacja: http://dev.mysql.com/doc/mysql/en/delete.html): DELETE FROM <nazwa_tabeli> WHERE <warunek>; Modyfikacja rekordu: UPDATE <nazwa_tabeli> SET <nazwa_kolumny>=<wartość> WHERE <warunek>; 1 Lista poleceń konsoli mysql: • • • • • • • • • • • • • • • • • • • • help (\h) ? (\?) clear (\c) connect (\r) and host. edit (\e) ego (\G) vertically. exit (\q) go (\g) nopager (\n) notee (\t) pager (\P) PAGER. print (\p) prompt (\R) quit (\q) rehash (\#) source (\.) argument. status (\s) system (\!) tee (\T) given outfile. use (\u) argument. Display this help. Synonym for `help'. Clear command. Reconnect to the server. Optional arguments are db Edit command with $EDITOR. Send command to mysql server, display result Exit mysql. Same as quit. Send command to mysql server. Disable pager, print to stdout. Don't write into outfile. Set PAGER [to_pager]. Print the query results via Print current command. Change your mysql prompt. Quit mysql. Rebuild completion hash. Execute a SQL script file. Takes a file name as an Get status information from the server. Execute a system shell command. Set outfile [to_outfile]. Append everything into Use another database. Takes database name as • Typy danych w mysql: • • • • • • • • • • • • • • • • • • • • • • • • • • • TINYINT[(length)] [UNSIGNED] [ZEROFILL] SMALLINT[(length)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] INT[(length)] [UNSIGNED] [ZEROFILL] INTEGER[(length)] [UNSIGNED] [ZEROFILL] BIGINT[(length)] [UNSIGNED] [ZEROFILL] REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL] NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL] DATE TIME TIMESTAMP DATETIME CHAR(length) [BINARY | ASCII | UNICODE] VARCHAR(length) [BINARY] TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT [BINARY] TEXT [BINARY] MEDIUMTEXT [BINARY] LONGTEXT [BINARY] ENUM(value1,value2,value3,...) SET(value1,value2,value3,...) 3