bazy 2


Wybrane polecenia wewnętrzne edytora MySQL

Polecenie (tekstowe)

skrót

Znaczenie

Help

\h

?

\?

clear

\c

connect

\r

ego

\G

Wysyła komendę do serwera mysql, wyświetla rezultat pionowo

exit

\q

go

\g

Wysyła komendę do serwera mysql

source

\.

Wykonuje skrypty SQL z pliku

Use

\u

Ustawia aktualną bazę danych

Logowanie się jako określony użytkownik

mysql -u nazwaużytkownika -p

Wybór istniejącej bazy danych

USE nazwa_bazy

Tworzenie nowej bazy danych:

CREATE DATABASE nazwa_bazy

Wyświetlanie tabel i ich struktury

SHOW TABLES;

SHOW COLUMNS FROM nazwa_tabeli;

TYPY DANYCH

Lczby całkowite (dokładne)

Typ

Rozmiar

Opis

INT, INTEGER

4 bajty

liczba całkowite z zakresu -2147483648 do 2147483647 (4 bajty)

TINYINT

1 bajt

liczba całkowita z zakresu -128 do 127

SMALLINT

2 bajty

liczba całkowita z zakresu -32768 do 32767

MEDIUMINT

3 bajty

liczba całkowita z zakresu -8388608 do 8388607

BIGINT

8 bajtów

liczba całkowita z zakresu -9223372036854775808 do 9223372036854775807

Liczby rzeczywiste (przybliżone)

Typ

Rozmiar

Opis

FLOAT

4 bajty

liczba rzeczywista z zakresu -3.402823466E+38 do -1.175494351E-38 i 0 i 1.175494351E-38 do 3.402823466E+38 (zmiennoprzecinkowa o pojedynczej precyzji)

REAL, DOUBLE

8 bajtów

liczba rzeczywista z zakresu 1.7976931348623157E+308 do -2.2250738585072014E-308 i 0 i 2.2250738585072014E-308 do 1.7976931348623157E+308

DECIMAL (M,D)

M+1 lub M+2

Liczba typu DOUBLE zapisana jako ciąg tekstowy, dla którego możliwe jest ustalenie liczby pozycji po przecinku

Data i czas

Typ

Rozmiar

Opis

DATETIME

8 bajtów

Data i czas w formacie : YYYY:MM:DD:HH:mm:SS (odpowiednio rok, miesiąc, dzień, godzina, minuta i sekunda); zakres od '1000-01-01 00:00:00' do '9999-12-31 23:59:59'

DATE

3 bajty

data w formacie YYYY:MM:DD (rok, miesiąc, dzień), zakres od '1000-01-01' do '9999-12-31'

TIME

3 bajty

godzina w formacie HH:mm:SS (godzina, minuta, sekunda)

YEAR

1 bajt

zakres od 1901 do 2155

TIMESTAMP(n)

4 bajty

jest to data z godziną, precyzję tego zapisu ustalamy sami poprzez wartość n (dla przykładu n=14 oznacza datę i godzinę w formacie YYYY:MM:DD:HH:mm:SS a n=2 YY) zakres od 1970 do 2037

Znakowe

Typ

Rozmiar

Opis

CHAR(n)

n bajtów

jest to łańcuch znaków o długości n, gdzie n może przyjmować wartości od 0-255, bez względu na to jaki łańcuch zapiszemy do takiej komórki tabeli, zawsze będzie zajmował n bajtów (dopełnienie spacjami).

VARCHAR(n)

n+1 bajtów

łańcuch znaków, wartość n określa maksymalną długość łańcucha, np.: jeśli do kolumny VARCHAR(10) zapiszemy łańcuch o długości 5 znaków to będzie on zajmował w bazie 6 bajtów

BLOB

dane w formie binarnej, ze względu na maksymalną długość takiego ciągu znaków dzieli się na kilka podtypów: TINYBLOB (2^8 znaków), BLOB (2^16 znaków), MEDIUMBLOB (2^24 znaków), LONGBLOB (2^32 znaków)

TEXT

Długość ciągu + 2 bajty

dane tekstowe, podobnie jak BLOB ma odmiany ze względu na długość tekstu: TINYTEXT (2^8 - 256 znaków ), TEXT (2^16 - 65535 znaków), MEDIUMTEXT (2^24 -16777216 znaków), LONGTEXT (2^32 - 4294967296 znaków)

Wyliczeniowe i zbiorowe

Typ

Rozmiar

Opis

ENUM

1 lub 2 bajty

typ wyliczeniowy - dane przyjmują wartości spośród wcześniej przygotowanej przez nas listy. Lista taka może mieć maksymalnie 65535 elementów.

SET

1,2,3,4,lub 8 bajtów

typ zbiorowy - pozycja taka może przyjmować 0 lub więcej wartości spośród listy przygotowanej podczas tworzenia tabeli, np. dla definicji SET ("jeden" , "dwa") do komórki tabeli możemy zapisać następujące wartości:
"" lub "jeden" lub "dwa" lub "jeden, dwa". Definicja SET może mieć maksymalnie 64 elementy.

TYPY KOLUMN:

PRIMARY KEY

UNIQUE

INDEX

Atrybut kolumny AUTO_INCREMENT

WYRAŻENIA WARUNKOWE C.D.

WYRAŻENIA WARUNKOWE

Operator

=

Równość

<

Mniejsze niż

>

Większe niż

<=

Mniejsze lub równe

>=

Większe lub równe

!=

Różne

IS NOT NULL

Posiada wartość

IS NULL

Nie posiada wartości

BETWEEN

W danym zakresie

NOT BETWEEN

Poza zakresem

OR (także ||)

Lub

AND (także &&)

I

NOT (także !)

Przeczenie

LIKE

SELECT * FROM tabela WHERE kolumna LIKE `An%';

SELECT * FROM uczen WHERE nazwisko LIKE `%ski';

NOT LIKE

Znaki specjalne wyrażeń regularnych

Znak

Wartości spełniające warunek

.

Dowolny pojedynczy znak

q

Brak lub jeden znak q

q

Brak lub większa liczba znaków q

q

Przynajmniej jeden znak q

qx}

X znaków q

q,x}

Najwyżej x znaków q

qx,y}

Liczba znaków q z przedziału x i y

^q

Ciąg rozpoczynający się od q

q

Ciąg kończący się znakiem q

(pgr)

Grupa (te znaki spełniają warunek)

qz

Znak q lub z

[ ]

Klasy znaków (np. [a-z], [0-9])

\

Znaki specjalne (\., \* itp.)

Opcje select i funkcje c.d.

CONCAT(kolumna1, kolumna2)

Np.:

SELECT uczen_id, CONCAT(imie1,', `,imie2,', `,nazwisko) FROM uczen;

Np.:

SELECT uczen_id, CONCAT(imie1,', `,imie2,', `,nazwisko) AS uczeń FROM uczen;

Funkcje grupujące: MIN (kolumna), MAX(kolumna), SUM(kolumna), COUNT(kolumna)

Np.:

SELECT MAX(NOW()-data_ur) FROM uczen;

SELECT COUNT(*), kategoria FROM uczen GROUP BY (kategoria);

SELECT DISTINCT(kolumna) FROM nazwatabeli;

SELECT * FROM nazwatabeli ORDER BY kolumna1 [ASC,DESC], [kolumna2 [ASC,DESC];

MODYFIKACJA TABEL

ALTER TABLE nazwatabeli klauzula

ADD COLUMN

ALTER TABLE nazwatabeli ADD COLUMN nazwakolumny VARCHAR(40);

nowa kolumna na końcu

CHANGE COLUMN

ALTER TABLE nazwatebeli CHANGE COLUMN nazwakolumny nazwakolumny VARCHAR(60);

zmiana typu I właściwości kolumny

DROP COLUMN

ALTER TABLE nazwatabeli DROP COLUMN nazwatabeli;

Usuwa kolumnę z tabeli (wraz z danymi)

ADD INDEX

DROP INDEX

RENAME AS

ALTER TABLE nazwatabeli RENAME AS nowa_nazwa_tabeli

zmiana nazwy tabeli

FORMATOWANIE DATY I CZASU

Parametr

Opis

Przykład

%e

Dzień miesiąca

1 - 31

%d

Dzień miesiąca (2 cyfry)

01 - 31

%D

Dzień miesiąca + końcówka

1st - 31st

%W

Nazwa dnia tygodnia

Sunday - satruday

%a

Skrócona nazwa dnia

Sun = Sat

%c

Miesiąc roku

1 - 12

%m

Miesiąc w roku (2 cyfry)

01 - 12

%M

Nazwa miesiąca

January - December

%b

Skrócona nazwa miesiąca

Jan - Dec

%Y

rok

2004

%y

Rok (skrócona forma)

04

%l

godzina

1 - 12

%h

Godzina (2 cyfry)

01 - 12

%k

Godzina (format 24-ro godzinny)

0 -23

%H

Godzina (format 24-ro godzinny), 2 cyfry

00 -23

%i

Minuty

00 - 59

%S

Sekundy

00 - 59

%r

Czas

8:15:00 PM

%T

Czas - format 24 godzinny

20:15:00

%p

AM lub PM

AM lub PM

Np.:

SELECT DATE_FORMAT (now(), `%d %W %Y godz. %k:%I');

BAZA DANYCH

KLIENT

klient_id

klucz główny tabeli

imie

do 30 znaków, nie może być pusty

nazwisko

do 40 znaków, nie może być pusty

FAKTURA

faktura_id

klucz główny tabeli

klient_id

w firmie przewiduje się, że nigdy nie przekroczona będzie liczba 50tys klientów

data_wystawienia

data wystawienia

opis

Krótki opis, do 100 znaków

PRODUKT

produkt_id

klucz główny tabeli

nazwa_produktu

Do 50 znaków

cena_brutto

Liczba typu dziesiętnego

POZYCJA

pozycja_id

klucz główny tabeli

faktura_id

Musi się odnosić do istniejącego już numeru id faktury

produkt_id

Musi się odnosić do istniejącego już numeru id produktu

liczba_sztuk

Liczba całkowita

0x01 graphic

- Wstawianie nowych wierszy

Prosta składnia instrukcji INSERT:

INSERT INTO nazwa_tabeli VALUES (lista wartości);

Złożona składnia instrukcji INSERT (z określeniem nazw kolumn)

INSERT INTO nazwa_tabeli(lista nazw kolumn) VALUES(lista wartości);

Składnia prosta:

INSERT INTO uczen VALUES(1,'Marek', `', `Kowalski', `1998-01-24', `2002-01-09');

Składnia złożona:

INSERT INTO uczen(imie1, imie2, nazwisko, data_ur, data_zap) VALUES(`Marek', `', `Kowalski', `1998-01-24', `2002-01-09');

Ćwiczenia:

Składnia polecenia DELETE:

DELETE FROM nazwa_tabeli WHERE warunek;

np.:

DELETE FROM uczen WHERE imie1='Andrzej';

Składnia polecenia UPDATE:

UPDATE nazwa_tabeli SET nazwa_kolumny=wartość WHERE warunek;

Np.:

UPDATE uczen SET imie2='Tadeusz' WHERE uczen_id=4;

Aktualizacja na podstawie innej tabeli

UPDATE nazwa_tabeli1 FROM nazwa_tabeli2 WHERE warunek;

np.:

UPDATE uczen SET imie1=tabela_2.uczen FROM tabela_2 WHERE nazwisko='Kowalski';

Perspektywy

Służy to tworzenia „atrapy” tabeli

CREATE VIEW nazwa_perspektywy AS instrukcja_select

Np.:

CREATE VIEW uczniowie_wiek AS SELECT imie1, nazwisko, data_ur FROM uczen

uczniowie_wiek widziana jest jako tabela o trzech kolumnach: imie1, nazwisko, data_ur

Perspektywa z wielu tabel

2. MySQL - mechanizmy tworzenia i zarządzania bazami danych 1



Wyszukiwarka

Podobne podstrony:
1 Tworzenie bazy danychid 10005 ppt
bazy danych II
Bazy danych
Podstawy Informatyki Wykład XIX Bazy danych
Bazy Danych1
eksploracja lab03, Lista sprawozdaniowych bazy danych
bazy danych druga id 81754 Nieznany (2)
bazy danych odpowiedzi
Bazy danych
notatek pl g owacki,bazy danych Nieznany
BAZY DANYCH SQL (2)
Bazy danych kolo 2 1 id 81756 Nieznany
Projekt Bazy Danych
Microsoft PowerPoint 02 srodowisko bazy danych, modele
in2 modelowanie bazy danych
kolokwium sklepy1, WAT, SEMESTR V, PWD, Bazy danych od maslaka
Sprawdzian-bazy, Szkoła

więcej podobnych podstron