mysql data types what are different data types mysql
Dowiedz się o różnych typach danych MySQL, tj. Numerycznych, ciągach, typach danych typu Data, JSON, Boolean itp. Z przykładami:
W tym samouczku dowiemy się o różnych typach danych obsługiwanych przez MySQL. Typy danych są określane dla każdej kolumny podczas tworzenia tabeli, a także podczas aktualizacji / zmiany tabeli w celu dodania nowej kolumny do istniejącej tabeli
Dowiemy się o typach danych w trzech różnych kategoriach, tj. Typ danych liczbowych, typach danych ciągów i typach danych typu data i godzina.
Czego się nauczysz:
Typy danych MySQL
Wymagania wstępne
Będziemy uczyć się wszystkich typów danych z praktycznymi przykładami w MySQL. Dlatego zaleca się zainstalowanie MySQL do wykonywania zapytań wraz ze szczegółami w celu lepszego zrozumienia koncepcji.
Możesz także utworzyć przykładową bazę danych o nazwie sql_data_types, która zawierałaby wszystkie tabele, których użylibyśmy w przykładach.
create database sql_data_types; use sql_data_types;
Numeryczne typy danych
Numeryczne typy danych można podzielić na 3 typy:
- Całkowite typy danych
- Typy punktów stałych
- Typy zmiennoprzecinkowe
Omówmy każdy z nich:
Całkowite typy danych
Te typy danych obsługują liczby całkowite bez reprezentacji dziesiętnej. Istnieją różne podtypy, takie jak - INT, TINYINT, MEDIUMINT, SMALLINT, BIGINT
INT:
Składnia:
INT((width)) (UNSIGNED) (ZEROFILL)
Fakty:
Opis | Zasięg | Pamięć | Opcje |
---|---|---|---|
MEDIUMBLOB | 0-16 777 215 (16 MB) | CREATE TABLE mediumblob_example(mediumblob_col MEDIUMBLOB); | |
Najczęściej używany typ liczbowy. Przechowuje liczby całkowite DEFAULT - wartości bez znaku | –2 147 483 648 do 2 147 483 647 | 4 bajty | W przypadku użycia z opcją UNSIGNED - zakres zmienia się na Od 0 do 4 294 967 295 Opcja Szerokość może być używana z ZEROFILL, aby wypełnić wpisy zerami dla wartości mniejszych niż szerokość |
Przykłady:
Utworzymy tabelę z 1 kolumną o typie danych INT i różnych opcjach.
CREATE TABLE numbers_int(int_col INT) INSERT into numbers_int values(100),(-324),(2456),(-100000); select * from numbers_int
Wyjście polecenia SELECT:
CREATE TABLE numbers_int_options(int_col_with_options INT(4) ZEROFILL ); INSERT into numbers_int_options values(1),(123),(1234),(12345); select * from numbers_int_options;
Wyjście powyższego polecenia:
Inne odmiany INT:
Dostępnych jest wiele opcji dla INT, w zależności od konkretnych wymagań. Są one zwykle używane, gdy problemem jest pamięć lub przestrzeń, ale do wszystkich celów praktycznych najczęściej używany jest INT.
Poniżej wymieniono różne dostępne typy danych INT:
Typ danych | Zasięg | Przykład | Wykorzystana pamięć / bajty |
---|---|---|---|
TINYINT | -128 - 127 | CREATE TABLE numbers_tinyint(tinyint_col TINYINT); | 1 |
SMALLINT | -32768 - 32767 | CREATE TABLE numbers_smallint(smallint_col SMALLINT); | dwa |
ŚREDNI | -8388608 - 8388607 | CREATE TABLE numbers_mediumint(mediumint_col MEDIUMINT); | 3 |
BIGINT | -2 ^ 63 - (2 ^ 63-1) | CREATE TABLE numbers_bigint(bigint_col BIGINT); | 8 |
Typy zmiennoprzecinkowe
Typy zmiennoprzecinkowe są przybliżonymi typami wartości i zależy to od nie. precyzji kropki dziesiętnej określonej podczas deklaracji typu kolumny.
Istnieją 2 typy zmiennoprzecinkowych typów danych: FLOAT i DOUBLE, które obsługują różne zakresy i zajmują pamięć / pamięć.
FLOAT & DOUBLE
Zgodnie z nową zalecaną składnią - precyzję FLOAT i DOUBLE można określić przy użyciu tylko typów danych FLOAT.
Składnia:
FLOAT(p)
Tutaj, p -> precyzja
Fakty:
Opis | Pamięć | Opcje | Przykłady |
---|---|---|---|
FLOAT / DOUBLE reprezentuje liczby zmiennoprzecinkowe z przybliżonymi wartościami To znaczy. gdy MySQL przechowuje te wartości, wartości te są przybliżane do najbliższej dokładności zgodnie z zadeklarowanym typem. Precyzja między 0-23 reprezentuje typ FLOAT, podczas gdy od 24 do 53 generowałoby podwójny typ zajmujący 8 bajtów | -Precision - 0-23 => 4 bajty -Precision -24-53 => 8 bajtów | -Numery punktów zmiennoprzecinkowych mogą być PODPISANE i NIEPODPISANE -FLOAT jest generalnie dokładny do 7 miejsc po przecinku, podczas gdy DOUBLE jest dokładny do 14 miejsc po przecinku -Istnieje również inny niestandardowy sposób deklarowania FLOAT i DOUBLE ze specyfikacją punktów precyzyjnych FLOAT (n, d) - gdzie n to liczba cyfr ogółem, a d to liczba miejsc dziesiętnych | -Utwórz tabelę z kolumną typu danych DOUBLE UTWÓRZ TABELĘ numery_podwójne (double_col FLOAT (30)); -Utwórz tabelę z kolumną typu DOUBLE i dokładnością cyfr jako 5 TWORZENIE TABELI numery_podwójne (double_col DOUBLE (20,5)); |
Zobaczmy kilka przykładów pobierania wartości typów podwójnych:
CREATE TABLE numbers_double(double_col DOUBLE(20,5)); insert into numbers_double VALUES(123.45),(-145),(12.3456788); select * from numbers_double;
Dane wyjściowe instrukcji SELECT:
Widzimy tutaj, że wartości są przechowywane do 5 miejsc po przecinku, jak określono podczas deklaracji typu danych.
Typy punktów stałych
Te typy danych służą do przechowywania dokładnej wartości z określoną precyzją. Te typy danych są zwykle używane, gdy wymagana jest dokładna precyzja przechowywania. Na przykład, rachunki bankowe utrzymanie sald z dokładnością do 2 miejsc po przecinku jest wymagane, dane muszą być przechowywane z dokładną dokładnością.
DZIESIĘTNE / NUMERYCZNE
Składnia:
DECIMAL((width(,decimals))) (UNSIGNED) (ZEROFILL)
Fakty:
Opis | Zasięg | Pamięć | Opcje |
---|---|---|---|
DECIMAL to numeryczny typ danych w MySQL, który przechowuje dokładne wartości z określoną precyzją. Domyślna skala lub szerokość dla typu danych DECIMAL ma dokładność 10 i 0. Należy pamiętać, że typy DECIMAL i NUMERIC mogą być używane zamiennie. | Zależy od określonego zakresu Na przykład DECIMAL (5,2) miałby zakres od -999,99 do 999,99 | Format binarny użytkowników MySQL do przechowywania typu DECIMAL - Wymaga czterech bajtów na każde 9 cyfr - tak na przykład, jeśli mamy DECIMAL (14,2) - wymagałoby to łącznie - 9 (4) + 2 (1) => 7 bajtów | -Maksymalna wartość szerokości może wynosić 265 -Liczba miejsc po przecinku jest opcjonalna, a wartość domyślna to 0 |
Przykład:
CREATE TABLE numbers_decimal(dec_col DECIMAL(4,2)) INSERT INTO numbers_decimal values(-99),(50.50);
Typy danych DateTime
Typy danych DateTime w MySQL, jak sama nazwa wskazuje, służą do przechowywania wartości daty i czasu w bazie danych MySQL.
Istnieją 2 typy czasowe obsługiwane przez MySQL - DATETIME i TIMESTAMP
Omówmy oba te kwestie w poniższych sekcjach.
DATETIME
Składnia:
DATETIME(n)
Tutaj n -> precyzja / ułamkowa część części sekundowej (maksymalna obsługiwana precyzja wynosi 6).
Fakty:
Opis | Zasięg | Pamięć | Przykłady |
---|---|---|---|
Służy do przechowywania daty i czasu w kolumnie MySQL Kiedy zapytano, dane kolumny wyświetlają datę i godzinę w poniższym formacie: RRRR-MM-DD HH: MM: SS | 1000-01-01 00:00:00 - 9999-12-31 23:59:59 | 5 bajtów Gdy uwzględniona jest część ułamkowa, to na każde 2 cyfry ułamkowe zużywany jest dodatkowy bajt. | CREATE table datetime_example(date_col DATETIME); // WYNIK date_col 2020-08-08 22:22:53 |
ZNAK CZASU
Składnia:
TIMESTAMP(n)
Tutaj n -> precyzja / ułamkowa część części sekundowej (maksymalna obsługiwana precyzja to 6)
Fakty:
Opis | Zasięg | Pamięć | Przykłady |
---|---|---|---|
Inny czasowy typ danych używany do przechowywania daty i godziny. Przechowuje datę w formacie UTC również z ograniczonym zakresem między 1970 a 2038 | 1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC | 4 bajty | CREATE table timestamp_example(ts_col TIMESTAMP); WYNIK ts_col 2020-08-08 22:19:11 |
Typy danych ciągów
Typy danych typu string, jak sugeruje nazwa, są używane do przechowywania łańcuchów / tekstów lub blobów informacji tekstowych w bazie danych. W zależności od przypadku użycia dostępne są różne typy danych -CHAR, VARCHAR, BINARY, VARBINARY, TEXT, ENUM, SET & BLOB
Przyjrzyjmy się każdemu z tych różnych typów danych z przykładami.
CHAR i VARCHAR
Oba te typy są używane do przechowywania wartości typu String w kolumnach MySQL, ale różnią się sposobem przechowywania i pobierania wartości.
CHAR i VARCHAR mają zadeklarowaną długość, która wskazuje maksymalną długość ciągu, który chcesz przechowywać w kolumnie.
Składnia:
CHAR(n) VARCHAR(n)
Tutaj n -> max nie. znaków, które mają być przechowywane w kolumnie
Fakty:
Rodzaj | Opis | Zasięg | Przykłady |
---|---|---|---|
ZWĘGLAĆ Składnia - CHAR (n) | CHAR może przechowywać ciąg znaków o długości „n” zdefiniowany w deklaracji. Jeśli String ma mniej niż n znaków, to jest dopełniony spacjami. | Długość typu danych CHAR może wynosić od 0 do 255 W zależności od długości zużycie pamięci wahałoby się od 0 do 255 bajtów. | CREATE TABLE string_example(char_col CHAR(50)); |
VARCHAR Składnia - VARCHAR (n) | VARCHAR umożliwia przechowywanie ciągów o zmiennej długości i zużywanie pamięci w stosunku do rzeczywistego rozmiaru przechowywanego ciągu znaków, a nie do maksymalnej wartości określonej podczas definicji kolumny. | Długość typu danych VARCHAR może wynosić od 0 do 65535 W zależności od długości, zużycie pamięci wahałoby się od 0 do 65535 bajtów. | CREATE TABLE string_example(varchar_col VARCHAR(50)); |
BINARY I VARBINARY
Podobne do CHAR i VARCHAR - te typy danych przechowują ciągi znaków, ale w formacie binarnym.
Długość typów danych BINARY i VARBINARY jest mierzona w bajtach, a nie w liczbie znaków w typach danych CHAR i VARCHAR.
Składnia:
BINARY(n) VARBINARY(n)
Tutaj n -> max nie. bajtów do zapisania w kolumnie.
Fakty:
Rodzaj | Opis | Zasięg | Przykłady |
---|---|---|---|
DWÓJKOWY Składnia - BINARY (n) | BINARY może przechowywać „n” binarnych bajtów. W przypadku wartości mniejszych niż n są one uzupełniane po prawej stronie za pomocą 0 bajtów i przechowywane | Długość typu danych BINARY może wynosić od 0 do 255 W zależności od długości zużycie pamięci wahałoby się od 0 do 255 bajtów. | CREATE TABLE binary_string(binary_col BINARY(50)); |
VARBINARY Składnia - VARBINARY (n) | VARBINARY pozwala na przechowywanie ciągów binarnych o zmiennej długości do 'n długości (jak określono w definicji kolumny) | Długość typu danych VARBINARY może wynosić od 0 do 65535 W zależności od długości, zużycie pamięci wahałoby się od 0 do 65535 bajtów. | CREATE TABLE variable_binary_string(varbinary_col VARBINARY(50)); |
Przyjrzyjmy się bardziej szczegółowo typowi danych BINARY. Utworzymy tabelę z kolumną o typie danych binarnych i varbinary i sprawdzimy jej zawartość.
CREATE TABLE binary_strings(binary_col BINARY(50), varbinary_col VARBINARY(50)); INSERT into binary_strings values('hello', 'hello'); SELECT * from binary_strings;
Teraz widzieliśmy wynik jako BLOB, co oznacza - b inary L zły OB ject - i są to nic innego jak binarna / szesnastkowa reprezentacja wartości typu String, które umieściliśmy w kolumnach.
Teraz sprawdzimy wartości tych ciągów binarnych i zobaczymy, jak są przechowywane.
Najpierw zobaczmy wartość znajdującą się w „binary_col”, która ma typ danych BINARY.
Zobaczmy, jakie wartości są zapisywane - jeśli zauważysz wartości w pierwszych pięciu pozycjach - tj. W pierwszym wierszu i pierwszych pięciu kolumnach (0–4)
To są tylko reprezentacje HEX dla znaków napisu „cześć”, który zapisaliśmy.
Ponieważ jest to typ danych BINARNY o długości 50, możemy zobaczyć, że pozostałe bajty są wypełnione wartościami „00”, które są niczym innym jak reprezentacją bajtową dla cyfry „0”.
Zobacz wartość znajdującą się w „varbinary_col”, która ma typ danych VARBINARY.
Tutaj, dla VARBINARY, możesz zobaczyć, że wartości są wypełnione po prostu dla długości 5, co odpowiada długości ciągu, który zapisaliśmy. Nie ma wypełnienia zerowego, mimo że zadeklarowaliśmy kolumnę VARBINARY o długości 50.
BLOB I TEKST
Typy danych BLOB i TEXT są podobne do typów danych BINARY i CHAR, z tą różnicą, że mogą obsługiwać większe rozmiary w porównaniu z ich podstawowymi odpowiednikami.
Należy zauważyć, że BLOB przechowuje dane jako ciągi binarne, a dane typu TEXT jako ciągi niebinarne. Ponadto wszystkie te typy danych nie wymagają określania długości przy podawaniu typu danych. Mają z natury zmienną długość i zajmują pamięć tylko w stosunku do tego, co jest przechowywane jako rzeczywista wartość kolumny.
Typy danych BLOB są zwykle używane do przechowywania plików, takich jak obrazy, dokumenty PDF itp. Jako ciągi binarne w bezpieczny i wydajny sposób.
Szczegóły dotyczące różnych wariantów typów danych BLOB i TEXT są wymienione poniżej:
Rodzaj | Zasięg | Opis | Przykłady |
---|---|---|---|
TINYTEXT | 0-255 (255 bajtów) | Zakres jest taki sam jak VARCHAR - służy do przechowywania drobnych informacji, takich jak tytuły, nazwiska autorów itp. | CREATE TABLE tinytext_example(tinytext_col TINYTEXT); |
TEKST | 0-65535 (64 KB) | Ten typ danych jest wystarczający do przechowywania tekstu dla artykułu o małej lub średniej wielkości. | CREATE TABLE text_example(text_col TEXT); |
MEDIUMTEXT | 0-16 777 215 (16 MB) | Ten typ danych może być wystarczający do przechowywania tekstu dla całego podręcznika | CREATE TABLE mediumtext_example(mediumtext_col MEDIUMTEXT); |
LONGTEXT | 0–4 294 967 295 (4 GB) | LONGTEXT jest rzadko używany w przypadkach, gdy MEDIUMTEXT nie wystarcza. | CREATE TABLE longtext_example(longtext_col LONGTEXT); |
TINYBLOB | 0-255 (255 bajtów) | Wszystkie typy danych BLOB są używane do przechowywania ciągów binarnych i są ogólnie preferowane do przechowywania plików, takich jak obrazy, dokumenty PDF lub same małe aplikacje. W zależności od wymagań dotyczących rozmiaru, można wybierać i używać różnych typów danych BLOB. | CREATE TABLE tinyblob_example(tinyblob_col TINYBLOB); |
KROPELKA | 0-65535 (64 KB) | CREATE TABLE blob_example(blob_col BLOB); | |
LONGBLOB | 0–4 294 967 295 (4 GB) | CREATE TABLE longblob_example(longblob_col LONGBLOB); |
ENUM
ENUM to typ danych typu String, który wstępnie definiuje dozwolone wartości, które może mieć kolumna. Jest podobny do typów danych ENUM, które istnieją w różnych językach programowania, takich jak JAVA, C # itp.
Wartości ENUM, gdy są przechowywane, są konwertowane na liczby w odniesieniu do każdej wartości kolumny, co skutkuje znaczną oszczędnością pamięci dla tabel z dużą liczbą rekordów, tj. Załóżmy, że mamy ENUM o wartościach - wartość1, wartość2 i wartość3, wtedy rzeczywista pamięć byłaby numeryczna indeksy 1, 2, 3 za kulisami.
Składnia:
ENUM({comma separated enum values})
Przykładowe zapytania:
Utwórz tabelę z 2 kolumnami do przechowywania modeli mobilnych jako ciągów i nazw firm jako typów danych ENUM z wartościami - APPLE, SAMSUNG i NOKIA. Zobaczmy również zapytania pobierające dane w oparciu o określoną wartość ENUM.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA')); INSERT INTO mobile_details values ('IPHONE X', 'APPLE'),('GALAXY M1', 'SAMSUNG'), ('GALAXY M2', 1) ;
W powyższym zapytaniu możesz zobaczyć, że podczas wstawiania użyliśmy nazw Enum oraz indeksów numerycznych.
Spróbujmy zapytać wszystkie urządzenia przenośne z marką „SAMSUNG”, a także zapytać o numeryczny indeks SAMSUNG, który wynosi „1”.
SELECT * FROM mobile_details where brand='SAMSUNG' SELECT * FROM mobile_details where brand=1
Dane wyjściowe obu powyższych zapytań będą takie same, jak wymienione poniżej:
ZESTAW
Typ danych MySQL SET to obiekt typu String, który może mieć jedną lub więcej niż jedną wartość z dozwolonego zakresu, zgodnie z opisem w definicji kolumny. Jest podobny do ENUM, ale umożliwia przypisanie wielu wartości ze zdefiniowanej listy jako wartości kolumn.
Ponadto typy danych SET są przechowywane jako indeksy liczbowe rozpoczynające się od 2 ^ 0 - tj. 1,2,4,8 itd.
Składnia:
SET({comma separated list of allowed values})
Przykład:
Spróbujmy zrozumieć typ danych SET z przykładami. Utworzymy tabelę o nazwie mobile_details z modelem kolumnowym typu String i kolumną o nazwie obsługiwany system operacyjny, która jest ustawionym typem danych i zawiera listę obsługiwanych wersji systemu operacyjnego.
CREATE TABLE mobile_details(model VARCHAR(100), supported_os SET('ios9', 'ios10', 'android8', 'android9','android10'));
Widzimy, że wymieniliśmy wartości systemu operacyjnego jako część kolumny o typie danych SET. Odpowiednie wartości DECIMAL, które są im przypisane, są wymienione poniżej:
Teraz, jeśli chcemy przypisać wartość SET, na przykład, „Android8, android9” w wierszu możemy po prostu przypisać dodanie przypisanych wartości dziesiętnych, tj. 12, aby uzyskać ten sam efekt.
Proszę odnieść się do zapytania INSERT powyżej, aby przypisać do wiersza o nazwie modelu „GALAXYM1”
INSERT INTO mobile_details values ('IPHONE X', ('ios9,ios10')),('GALAXY M1', (12)), ('GALAXY M2', ('android9,android10')) ; SELECT * from mobile_details;
Wyjście powyższego polecenia:
Możemy również zapytać kolumnę SET pod kątem ich reprezentacji dziesiętnej - załóżmy, że chcemy zapytać o „ios9, ios10” - suma reprezentacji dziesiętnej wynosi 3, więc możemy zapytać jako:
SELECT * from mobile_details where supported_os=3
Wynik:
Specjalne typy danych
BOOLEAN
Typ danych MySQL Boolean przechowuje wartość kolumny jako TRUE lub FALSE. Ten typ danych jest ogólnie odpowiedni do przechowywania wartości flag w tabelach MySQL. Na przykład - W tabeli konta bankowego zawierającej kolumnę o nazwie is_savings_account można przechowywać wartość prawda lub fałsz.
Wartość BOOLEAN jest przechowywana w MySQL jako 1 lub 0 odpowiednio dla TRUE i FALSE.
Składnia:
columnName BOOLEAN
Przykład:
CREATE TABLE account_details(accNo BIGINT, is_savings BOOLEAN); INSERT into account_details values (123456,true), (110002, false), (234567, 1);
Podczas wstawiania lub pobierania wartości dla typu danych BOOLEAN możemy użyć TRUE lub FALSE lub ich reprezentacji liczbowych - czyli 1 lub 0.
select * from account_details where is_savings=1;
Wyjście powyższego polecenia:
JSON
MySQL obsługuje natywny JSON jako typ danych dla obiektów w notacji JSON. Ułatwia przechowywanie, wykonywanie zapytań i pobieranie dokumentów typu JSON, zamiast przechowywać je jako ciągi tekstowe lub binarne obiekty BLOB.
Składnia:
columnName JSON
Fakty:
Definicja | Zasięg | Przykłady |
---|---|---|
Typ danych JSON służy do przechowywania dokumentów w formacie JSON. Każda kolumna zdefiniowana jako JSON zgłosiłaby błąd, jeśli nieprawidłowy kod JSON jest przechowywany przez zapytanie INSERT. | Zakres lub rozmiar typu danych JSON jest podobny do LONGTEXT lub LONGBLOB | CREATE TABLE json_example(json_col JSON); |
Przykład:
MySQL zapewnia różne funkcje do wykonywania zapytań dotyczących danych JSON. Spróbujmy wstawić kod JSON poniżej, a zobaczymy funkcje MySQL do zapytania.
{ 'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson', } } { 'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johson', } }
Zobaczmy polecenia do tworzenia tabeli i wstawiania danych JSON.
create table json_example(json_col JSON); insert into json_example values( '{'data': { 'id': 1, 'email': 'test@abc.com', 'first_name': 'Steve', 'last_name': 'Wilson' }}'); insert into json_example values( '{'data': { 'id': 2, 'email': 'test@123.com', 'first_name': 'Alex', 'last_name': 'Johnson' }}');
Przeprowadź zapytanie do tabeli i wydrukuj pola imienia i adresu e-mail z danych JSON przechowywanych w wierszach tabeli.
select json_col->'$.data.first_name' as firstname, json_col->'$.data.email' as email from json_example
Wynik:
Często Zadawane Pytania
P # 1) Jak możemy zmienić typ danych dla kolumny MySQL po przypisaniu?
Odpowiedź: Typ danych kolumny można zmienić za pomocą ALTER TABLE, polecenie .
Rozważmy tabelę student_info mającą dwie kolumny, nazwy i wiek odpowiednio typów VARCHAR i INT. Można to osiągnąć za pomocą następującego polecenia CREATE TABLE:
CREATE TABLE student_info(name CHAR(20), age INT);
Jest kilka odmian tego polecenia
Raport śledzenia czasu jira według użytkownika
- Jeśli chcemy zmienić tylko typ danych kolumny - Możemy użyć polecenia MODIFY razem z ALTER
W powyższej tabeli przypuśćmy, że chcemy zmienić typ danych kolumny wiek, możemy użyć następującego polecenia
ALTER TABLE student_info MODIFY age TINYINT
- Jeśli chcemy zmienić nazwę kolumny, a także typ danych kolumny - Możemy użyć polecenia CHANGE razem z ALTER
Załóżmy, że w powyższej tabeli chcemy zmienić nazwę kolumny z „name” na „sname” i typ danych z CHAR na VARCHAR (50), możemy użyć następującego polecenia:
ALTER TABLE student_info CHANGE name sname VARCHAR(50)
P # 2) Jaki jest typ danych obrazu w mysql?
Odpowiedź: Do przechowywania dowolnego typu plików w MySQL, takich jak obrazy, pliki PDF itp. BLOB lub typ danych binarnych jest najbardziej odpowiednim typem. Dostępne są różne warianty typu danych BLOB w zależności od rozmiaru pliku docelowego, który chcemy przechowywać. Możemy użyć wariantów BLOBa takich jak - TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
Pytanie 3) Który typ danych jest bardziej odpowiedni do przechowywania dokumentów w mysql?
Odpowiedź: Podobnie jak BLOB dla obrazów lub plików PDF, do przechowywania dokumentów / artykułów tekstowych można użyć typu danych TEKST. Jest to rozszerzenie typu danych CHAR z obsługą dodatkowej pamięci znaków.
Dostępne są różne warianty typu danych TEKST - TEKST, TINYTEXT, MEDIUMTEXT i LONGTEXT
Q # 4) Jaki jest typ danych dla waluty w MySQL?
Odpowiedź: Do przechowywania danych dla wartości walutowych najbardziej odpowiednim typem danych jest DECIMAL. Służy do przechowywania typów danych z dużą precyzją. Na przykład, nazwa kolumny typu DECIMAL (4,2) będzie przechowywać wartości z zakresu od -99,99 do 99,99 i zwracać wartość z taką samą precyzją przy pobieraniu, w przeciwieństwie do. przybliżenie liczb zmiennoprzecinkowych.
P # 5) Co się stanie, jeśli ktoś spróbuje wstawić liczby ujemne do kolumn z liczbami całkowitymi UNSIGNED?
Odpowiedź: MySQL generuje błąd dla takich instrukcji wstawiania
Spróbujmy utworzyć tabelę z kolumną INT z opcją UNSIGNED.
CREATE TABLE int_unsigned(age INT UNSIGNED); INSERT into int_unsigned values(-350);
Error Code: 1264. Out of range value for column 'int_col_with_options' at row 1
Q # 6) Jak uzyskać aktualne dane dotyczące daty w mysql?
Odpowiedź: MySQL zapewnia 2 wbudowane funkcje daty i czasu do pobierania bieżących wartości
Funkcja CURDATE () zwraca bieżącą datę
SELECT CURDATE();
Wynik
2020-08-10
Funkcja NOW () zwraca bieżącą datę wraz z datownikiem.
SELECT NOW();
Wynik
2020-08-10 00:42:54
P # 7) Poza CHAR i VARCHAR - który z nich jest bardziej odpowiedni?
Odpowiedź: VARCHAR oznacza zmienny znak i ma ważną zaletę polegającą na tym, że zużywa mniej pamięci w porównaniu z CHAR o tej samej długości. Na przykład, Kolumna z VARCHAR (50), jeśli przechowuje ciągi o długości 20, spowodowałaby zużycie tylko 20 bajtów, w przeciwieństwie do typu danych zadeklarowanego za pomocą CHAR (50)
Pytanie 8) Jak zaktualizować wartość ENUM w MySQL?
Odpowiedź: Aby zaktualizować kolumnę ENUM w MySQL, będziesz musiał zmodyfikować wzmiankę o istniejących wartościach kolumn, aby istniejące wpisy pozostały nienaruszone.
Spróbujmy to zrozumieć na przykładzie.
Załóżmy, że mamy tabelę o nazwie mobile_details z polem modelu jako String (VARCHAR) i kolumną marki jako ENUM z wartościami początkowymi „APPLE”, SAMSUNG ”i„ NOKIA ”
Teraz załóżmy, że chcemy dodać inną nazwę marki „MOTOROLA” do istniejącego wyliczenia. Zobaczmy zapytania, które musielibyśmy wykonać.
CREATE TABLE mobile_details(model VARCHAR(100), brand ENUM('SAMSUNG', 'APPLE', 'NOKIA'));
Po utworzeniu możesz uzyskać szczegóły oryginalnych wartości ENUM za pomocą polecenia DESCRIBE
DESCRIBE mobile_details;
Teraz uruchommy polecenie, aby zaktualizować ENUM
ALTER TABLE mobile_details MODIFY column brand ENUM('SAMSUNG', 'APPLE', 'NOKIA', 'MOTOROLA');
Możemy ponownie uruchomić polecenie DESCRIBE, aby sprawdzić, czy aktualizacje zostały pomyślnie zastosowane.
DESCRIBE mobile_details
Oto wynik powyższego polecenia:
Wniosek
W tym samouczku dowiedzieliśmy się o różnych typach danych obsługiwanych przez MySQL.
Dowiedzieliśmy się o typach danych Numeric, Floating, String i Date time wraz ze składnią i różnymi przykładami.
Typy danych MySQL to podstawowe elementy konstrukcyjne ułatwiające rozpoczęcie pracy i jeden z najważniejszych aspektów podczas projektowania schematu MySQL.
rekomendowane lektury
- Typy danych C ++
- Typy danych w Pythonie
- Typy danych i zmienne w języku C # z przykładami
- PL SQL Typy danych, zmienne, stałe i literały
- Typy danych tablic - int Array, Double array, Array of Strings itp.
- Instrukcja usuwania MySQL - składnia polecenia usuwania i przykłady
- MySQL Wstaw do tabeli - Wstaw składnię instrukcji i przykłady
- MySQL JOIN Tutorial: wewnętrzny, zewnętrzny, krzyżowy, lewy, prawy i własny