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