Żeby można było tworzyć bazy danych, tabele, operować na rekordach potrzeba jest znać typy danych z jakimi przyjdzie nam pracować. W tabeli podane są typy danych używane w MySQL. W innych systemach bazodanowych mogą te typy nazywać się inaczej i mieć inny zakres.
Typ danych |
Opis |
Znaki |
|
CHAR(size) |
Stała ilość znaków. W nawiasie podaje się długość tego łańcucha. Maksymalna długość 255 znaków |
VARCHAR(size) |
Zmienna ilość znaków. Maksymalna długość to 255 znaków. Po przekroczeniu tej wartości pole będzie zamienione na TEXT |
TINYTEXT |
Przechowuje tekst. Maksymalnie 255 znaków |
TEXT |
Przechowuje tekst. Maksymalnie 65 535 znaków |
BLOB |
Przechowuje dane binarne. Maksymalna wielkość to 65 535 bajtów |
MEDIUMTEXT |
Przechowuje tekst. Maksymalnie 16 777 215 znaków |
MEDIUMBLOB |
Przechowuje dane binarne. Maksymalnie 16 777 215 bajtów |
LONGTEXT |
Przechowuje tekst (max 4 294 967 295 znaków) |
LONGBLOB |
Przechowuje dane binarne (max 4 294 967 295 bajtów) |
ENUM(x,y,z, itd.) |
Pozwala na wpisanie listy możliwych wartości. Maksymalna wielkość listy to 65535 wartości) |
SET |
Podobne do EMUM, ale pozwala na zapisanie 64 wartości |
Liczby |
|
TINYINT(size) |
-128 do 127,lub 0 – 255 UNSIGNED |
SMALLINT(size) |
-32768 – 32767, lub 0 – 65535 UNSIGNED |
MEDIUMINT(size) |
-8388608 – 8388607, lub 0 – 16777215 UNSIGNED |
INT(size) |
-2147483648 – 2147483647, lub 0 – 4294967295 UNSIGNED |
BIGINT(size) |
-9223372036854775808 – 9223372036854775807, lub 0 – 18446744073709551615 UNSIGNED |
FLOAT(size,d) |
4-bajtowa liczba zmiennoprzecinkowa, size określa ilość cyfr w liczbie, d określa liczby po przecinku. Liczba zapisywana jest w postaci binarnej |
DOUBLE(size,d) |
8-bajtowa liczba zmiennoprzecinkowa, size określa ilość cyfr w liczbie, d określa liczby po przecinku. Liczba zapisywana jest w postaci binarnej |
DECIMAL(size,d) |
8-bajtowa liczba zapisywana w formacie znakowym. Size określa ilość cyfr w liczbie, d określa liczbę cyfr po przecinku |
Data |
|
DATE() |
Data. Format YYYY-MM-DD. Zakres dat: '1000-01-01' – '9999-12-31' |
DATETIME() |
Data i czas. Format: YYYY-MM-DD HH:MI:SS Zakres: 1000-01-01 00:00:00' – '9999-12-31 23:59:59' |
TIMESTAMP() |
Wartością jest liczba sekund liczona od ery UNIX 1970-01-01 00:00:00' UTC. Zakres: '1970-01-01 00:00:01' UTC – '2038-01-09 03:14:07' UTC |
TIME() |
Czas. Format HH:MI:SS Zakres '-838:59:59' – '838:59:59' |
YEAR() |
Rok jako dwie cyfry lub 4 cyfry Zakres: 4 cyfry – 1901 to 2155; 2 cyfry (70 – 69) 1970 – 2069 |
Typ specjalny |
|
NULL |
Określa brak wartości |
Polecenie CREATE.
Polecenie CREATE służy do tworzenia struktur – baz danych, tabel, użytkowników bazy danych.
Przykładowe wywołania polecenia CREATE:
CREATE DATABASE baza_danych
CREATE DATABASE baza_danych IF NOT EXISTS
CREATE TABLE nazwa_tabeli (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(255)
)
CREATE TABLE nazwa_tabeli IF NOT EXISTS (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(255)
)
CREATE USER uzytkownik
CREATE USER 'uzytkownik'@'localhost' IDENTIFIED BY 'password'
Polecenie ALTER.
Polecenie ALTER służy do edycji struktur – baz danych, tabel, użytkowników.
Przykładowe wywołania polecenia ALTER:
ALTER DATABASE CHARACTER SET utf8 COLLATE utf8_polish_ci
ALTER TABLE nazwa_tabeli ADD COLUMN (pozycja VARCHAR(5) )
ALTER TABLE nazwa_tabeli CHANGE COLUMN pozycja pozycja2 INT
ALTER TABLE nazwa_tabeli DROP COLUMN pozycja
Polecenie DROP
Polecenie drop służy do usuwania struktur.
Przykładowe wywołania polecenie DROP:
DROP baza_danych
DROP TABLE nazwa_tabeli
DROP USER uzytkownik
Polecenie INSERT
Polecenie INSERT służy do wstawiania danych do tabeli
Przykładowe wywołanie polecenia INSERT
INSERT INTO nazwa_tabeli (id, nazwa) VALUES (NULL, 'pierwszy')
Polecenie DELETE
Polecenie DELETE służy do usuwania danych z tabel
Przykładowe wywołania polecenie DELETE
DELETE FROM nazwa_tabeli WHERE id = 100
DELETE FROM nazwa_tabeli WHERE id > 100
DELETE FROM nazwa_tabeli WHERE nazwa LIKE 'pierwsza'
DELETE FROM nazwa_tabeli WHERE nazwa LIKE 'pier%' AND id = 1
DELETE FROM nazwa_tabeli WHERE id > 5 LIMIT 5
Polecenie UPDATE
Polecenie UPDATE służy do aktualizacji rekordów w tabeli
Przykładowe wywołanie polecenia UPDATE
UPDATE nazwa_tabeli SET nazwa = 'pierwsza pop' WHERE id = 1
Polecenie GRANT
Polecenie GRANT służy do nadawania uprawnień użytkownikom
Przykładowe wywołanie polecenie GRANT
GRANT SELECT ON nazwa_tabeli TO uzytkownik
GRANT SELECT, UPDATE, INSERT ON nazwa_tabeli TO uzytkownik
GRANT ALL PRIVILEGES ON nazwa_tabeli TO uzytkownik
Polecenie REVOKE
Polecenie REVOKE służy do odbierania uprawnień użytkownikom
REVOKE INSERT ON nazwa_tabeli TO uzytkownik
Polecenie DENY
Polecenie DENY służy do zabraniania pewnych akcji użytkownikom nawet jeżeli należą do grupy, gdzie takie akcje są dozwolone. DENY jest silniejsze od GRANT
DENY DELETE ON nazwa_tabeli TO uzytkownik
Polecenie SELECT
Polecenie SELECT jest chyba najczęściej używanym poleceniem w SQL. Pozwala ono na pobranie danych z tabeli.
Przykładowe wywołania polecenia SELECT:
SELECT * FROM nazwa_tabeli
SELECT id, nazwa FROM nazwa_tabeli AS t
SELECT id, nazwa FROM nazwa_tabeli WHERE id > 100
SELECT id, nazwa FROM nazwa_tabeli WHERE id BETWEEN 20 AND 40
SELECT id, nazwa FROM nazwa_tabeli WHERE id > 100 LIMIT 2
SELECT id, nazwa FROM nazwa_tabeli WHERE id > 100 LIMIT 2 ORDER BY nazwa
SELECT id, nazwa FROM nazwa_tabeli WHERE id > 100 LIMIT 2 ORDER BY nazwa DESC