Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Co to jest MySQL:przegląd

Wiele programów wymaga zapisywania lub przechowywania danych do późniejszego wykorzystania i odczytywania zapisanych danych. Chociaż można to zrobić na wiele sposobów, najczęstszym podejściem jest użycie systemu zarządzania relacyjną bazą danych (RDBMS). MySQL to branżowy standard RDBMS o otwartym kodzie źródłowym, który został powszechnie przyjęty w projektach programistycznych. Ten przewodnik zawiera przegląd MySQL i wyjaśnia główne koncepcje RDBMS.

Co to jest relacyjna baza danych (RDBMS)?

Baza danych to aplikacja do przechowywania i pobierania danych. Chociaż mechanizmy różnią się, większość baz danych udostępnia interfejs API umożliwiający użytkownikom dodawanie, usuwanie, uzyskiwanie dostępu, wyszukiwanie i zarządzanie ich danymi. Jako alternatywę dla korzystania z bazy danych, dane mogą być przechowywane w plikach tekstowych lub tablicach mieszających. Jednak ta technika nie jest tak szybka ani tak wygodna jak korzystanie z bazy danych i jest rzadko stosowana w nowoczesnych systemach.

Wczesne aplikacje bazodanowe przekształciły się w nowoczesną relacyjną bazę danych , który pozwala użytkownikom przechowywać ogromne ilości danych. RDBMS nie zmusza już użytkowników do przechowywania danych w jednej dużej tabeli. Zapewnia bardziej ustrukturyzowane sposoby partycjonowania danych i jest przeznaczony do bardziej wydajnego dostępu. Aplikacje RDBMS są zoptymalizowane pod kątem szybkiego odczytu i zapisu oraz masowego przesyłania informacji.

Projektanci baz danych konceptualizują i organizują dane w postaci tabeli , kolumny i wiersze . Wiersz jest również nazywany rekordem lub krotka. Współczesne relacyjne bazy danych strukturyzują dane przy użyciu następujących pojęć:

  • Każda baza danych zawiera jedną lub więcej tabel.
  • Kiedy użytkownik tworzy tabelę, jednocześnie określa kolumny w tabeli.
  • Każda kolumna reprezentuje określony atrybut lub pole w rekordzie. Kolumna jest przeznaczona do przechowywania danych określonego typu, na przykład VARCHAR , co oznacza ciąg znaków o zmiennej długości.
  • Tabela zawiera klaster wierszy.
  • Każdy wiersz w tabeli reprezentuje unikalny wpis w bazie danych. Każda kolumna w wierszu zawiera osobne pole w tym wpisie.
  • Tabela bazy danych jest jak macierz dwa na dwa. Każdy kwadrat wewnątrz macierzy zawiera fragment danych.

RDBMS jest uważany za relacyjny, ponieważ umożliwia użytkownikom definiowanie relacji w obrębie różnych tabel i między nimi za pomocą kluczy i indeksów. Relacyjna baza danych umożliwia użytkownikowi dostarczenie lub wygenerowanie klucza podstawowego dla każdego rzędu. SQL może zagwarantować, że ten klucz jest unikalny w tabeli. Pola w tych tabelach mogą być ze sobą powiązane na podstawie ich kluczy podstawowych i obcych. Te relacje pomagają ustrukturyzować i zorganizować bazę danych oraz ograniczyć ilość powielanych danych.

Aplikacja RDBMS zawsze zapewnia wymienione poniżej możliwości. Poszczególne aplikacje mogą oferować więcej opcji.

  • Pozwala na tworzenie, definiowanie, modyfikowanie i usuwanie tabel bazy danych, kolumn, wierszy, kluczy podstawowych i indeksów.
  • Akceptuje zapytania SQL i przechowuje lub pobiera odpowiednie dane, łącząc w razie potrzeby informacje z różnych tabel bazy danych.
  • Gwarantuje integralność danych i odnośników między tabelami. Na przykład klucz obcy zawsze wskazuje prawidłowy wiersz w innej tabeli.
  • Automatycznie aktualizuje indeksy, znaczniki czasu i inne wewnętrznie generowane atrybuty zgodnie z wymaganiami.

Relacyjne bazy danych używają ustrukturyzowanego języka zapytań (SQL) do wykonywania zapytań i aktualizacji bazy danych. Na przykład klient RDBMS używa SQL INSERT polecenie, aby dodać nowy wiersz do jednej z tabel bazy danych. Gdy użytkownik dodaje nowy wiersz, jednocześnie określa wartość dla każdej kolumny. Dodatkowe polecenia SQL służą do modyfikowania i usuwania wierszy, zarządzania elementami bazy danych i pobierania listy rekordów spełniających określone kryteria.

Rozważmy na przykład bazę danych dla szkoły. Ta baza danych zawiera kilka tabel, dla nauczycieli, uczniów, kursów, klas i tak dalej. Definicja Uczniów tabela może zawierać kolumny z imieniem i nazwiskiem ucznia, dowodem osobistym, klasą, rodziną i nie tylko. Każdy wiersz w tej tabeli symbolizuje indywidualnego ucznia i służy do przedstawienia i zebrania wszystkich istotnych informacji o tym uczniu. Jeśli imię ucznia to „Jan”, imię kolumna w tym wierszu zawiera Jan . Identyfikator ucznia może służyć jako indeks i klucz podstawowy i może być używany do odwoływania się do ucznia w innych tabelach.

Na przykład uproszczony Studenci tabelę można zdefiniować korzystając ze struktury pokazanej poniżej. Górny wiersz przedstawia nazwy kolumn w tabeli. Poniższa tabela zawiera obecnie dwa wiersze danych, po jednym dla każdego ucznia.

imię last_name ocena family_id identyfikator studenta
Jan Kowalski 4 1116 5005
Jana Student 5 1224 5350

Jakie są niektóre popularne terminy RDBMS?

Następujące terminy są często używane w odniesieniu do baz danych:

  • Kolumna: Zestaw wartości tego samego typu danych, reprezentujący jeden atrybut w tabeli. Kolumny są definiowane podczas tworzenia tabeli.
  • Klucz złożony: Klucz składający się z wielu kolumn. Klucz złożony jest używany, gdy pojedyncza kolumna nie może wiarygodnie zidentyfikować wiersza.
  • Baza danych: Zorganizowana grupa danych przechowywana elektronicznie. Baza danych jest zwykle zorganizowana w mniejsze klastry informacji.
  • Klucz obcy: Indeks używany do łączenia wpisu w tabeli z wierszem w innej tabeli.
  • Indeks: Metoda szybszego dostępu do wpisów w bazie danych. Indeks można utworzyć przy użyciu dowolnej kombinacji atrybutów, ale implementacja jest specyficzna dla aplikacji. Indeks bazy danych jest podobny do indeksu w książce.
  • Klucz główny: Kolumna służąca jako indeks do jednoznacznej identyfikacji wiersza wewnątrz tabeli. Klucz podstawowy może być wygenerowany automatycznie lub zdefiniowany w definicji tabeli. Klucz podstawowy może być użyty do zlokalizowania określonego wiersza w tabeli.
  • Integralność referencyjna: Wewnętrzna właściwość bazy danych zapewniająca, że ​​klucz obcy zawsze odwołuje się do prawidłowego wiersza w innej tabeli.
  • System zarządzania relacyjną bazą danych (RDBMS): Rodzaj systemu baz danych opartego na relacjach między tabelami i wpisami.
  • Wiersz: Ustrukturyzowany wpis w tabeli składający się z zestawu powiązanych danych. Każdy wiersz w tabeli ma taką samą strukturę, która odpowiada specyfikacji kolumn w definicji tabeli. Wiersz jest również nazywany rekordem lub krotką.
  • Ustrukturyzowany język zapytań (SQL): Uproszczony język programowania specyficzny dla domeny, używany do zarządzania danymi w RDBMS.
  • Tabela: Zbiór rekordów bazy danych składający się z serii wierszy i kolumn. Tabela może być traktowana jako dwuwymiarowa macierz informacji.

SQL kontra MySQL

Terminy SQL i MySQL są często mylone lub używane zamiennie, ale nie są tym samym. SQL to standardowy język programowania do odpytywania aplikacji RDBMS. Służy do pisania zapytań do bazy danych i może być używany z dowolnym systemem baz danych, który go obsługuje. MySQL to specyficzna instancja RDBMS, która używa SQL. Użytkownicy bazy danych wysyłają polecenia SQL do systemu RDBMS, takiego jak MySQL, w celu odczytu i zapisu danych oraz administrowania bazą danych. Nie ma aplikacji o nazwie SQL, więc nie ma sensu dokonywać porównania „SQL vs MySQL”. Jednak termin baza danych SQL jest często używany nieformalnie jako skrót dla dowolnej relacyjnej bazy danych.

Język SQL

Język SQL jest określony jako seria instrukcji. Nie jest uważany za imperatywny język programowania ogólnego przeznaczenia, taki jak Python, ponieważ brakuje w nim pełnego zakresu struktur danych i instrukcji sterujących. Zamiast tego jest to język specyficzny dla domeny, przeznaczony do jednego celu. SQL jest przeznaczony do wykonywania zapytań, definiowania i manipulowania danymi. Został również zaprojektowany, aby zapewnić kontrolę dostępu do danych. Jedną z zalet SQL jest to, że może uzyskać dostęp do wielu rekordów za pomocą tylko jednego polecenia. Nie określa, w jaki sposób baza danych powinna uzyskiwać dostęp do wpisu.

Język SQL składa się z wyznaczonych słów kluczowych, wyrażeń, zapytań, instrukcji, operatorów i opcjonalnych klauzul. Identyfikatory obiektów są używane do odwoływania się do jednostek bazy danych, w tym tabel i kolumn. SQL obsługuje dużą liczbę predefiniowanych typów danych, takich jak CHAR , dla znaku i INTEGER . Niektóre z najważniejszych operatorów SQL to = , <> , > , < , IN , LIKE , PRAWDA , FAŁSZ i NIE . Najnowsze wersje SQL obsługują teraz prosty CASE oświadczenie. Dokumentacja MySQL zawiera więcej informacji na temat struktury języka SQL, typów danych i instrukcji.

Niektóre z najczęściej używanych instrukcji i klauzul SQL to:

  • ZMIANA: Modyfikuje strukturę obiektu bazy danych.
  • UTWÓRZ: Tworzy obiekt bazy danych, taki jak tabela lub baza danych.
  • USUŃ: Usuwa jeden lub więcej istniejących wierszy z bazy danych.
  • ZRZUTNIJ: Trwale usuwa obiekt z bazy danych.
  • OD: Wskazuje, której tabeli użyć w zapytaniu.
  • GRANCJA: Upoważnia użytkownika bazy danych do wykonania określonej akcji.
  • GRUPUJ WG: Klauzula organizująca wyjście z SELECT oświadczenie.
  • WSTAW: Dodaje wiersze do bazy danych.
  • DOŁĄCZ: Klauzula określająca, jak łączyć i składać dane z wielu tabel.
  • POŁĄCZ: Łączy dane z wielu tabel.
  • ZAMÓW PRZEZ: Klauzula sortowania wyników zapytania.
  • WYBIERZ: Pobiera dane z co najmniej jednej tabeli. To polecenie nie zmienia bazy danych ani nie zmienia żadnych danych.
  • AKTUALIZACJA: Modyfikuje jeden lub więcej istniejących wierszy.
  • GDZIE: Klauzula identyfikująca wiersze, na których powinno działać zapytanie. Jest zwykle używany z operatorem porównania.

Symbol wieloznaczny * operator jest często używany w połączeniu z SELECT Komenda. To polecenie instruuje SQL, aby wyświetlić wszystkie kolumny w wyniku.

Poniżej kilka przykładów zapytań SQL. Następujące polecenie SQL wyświetla nazwa każdej klasy w Klasie baza danych dla każdego wiersza, w którym wartość tematu kolumna to matematyka .

SELECT name
    FROM Class
    WHERE subject='math';

Następna instrukcja SQL tworzy Klasę stół. UTWÓRZ Instrukcja definiuje każdą kolumnę w tabeli wraz z jej typem danych w kolejności sekwencyjnej. VARCHAR typ danych służy do przechowywania ciągu o zmiennej długości. SMALLINT typ danych jest używany dla małych wartości całkowitych ze znakowanego zakresu -32768 do 32767 .

CREATE TABLE Class (
    classID smallint,
    name varchar(255),
    subject varchar(255),
    level smallint
);

Co to jest baza danych MySQL?

MySQL to RDBMS, który implementuje SQL. Został pierwotnie zaprojektowany do użytku z małymi i średnimi bazami danych, ale teraz może obsługiwać nawet bardzo duże ilości przechowywanych danych. MySQL jest napisany w C/C++ i jest w większości zgodny ze standardem SQL. Dodaje jednak wiele rozszerzeń i kładzie nacisk na szybkość i niezawodność ponad doskonałą zgodność. Bardziej szczegółowe omówienie zgodności MySQL i SQL można znaleźć w dokumentacji MySQL dotyczącej standardów zgodności.

Podstawowa wersja MySQL jest dystrybuowana przez Oracle Corporation i jest dostępna bezpłatnie na licencji open source. Obecna wersja MySQL to 8.0. MySQL może być używany w dowolnej dystrybucji Linuksa i na większości innych platform. Jest to ważny składnik open-sourcestosu LAMP , wraz z Linuksem, Apache i językiem programowania PHP. Stos LAMP jest podstawą tworzenia aplikacji internetowych typu open source w systemie Linux. MySQL może być używany jako część systemu klient/serwer lub jako część systemu wbudowanego.

Podobnie jak wszystkie aplikacje RDBMS, MySQL jest relacyjną bazą danych. Administratorzy i użytkownicy definiują relacje w obrębie tabel w bazie danych i między nimi. Różne kolumny mogą być oznaczone jako wymagane lub opcjonalne i mogą służyć jako klucz podstawowy lub jako wskaźnik do innej tabeli. MySQL jest stabilny, niezawodny i łatwy w użyciu. Oto kilka konkretnych zalet MySQL:

  • MySQL to dojrzały, popularny i ugruntowany produkt. Ma większe wsparcie społeczności niż inne bazy danych typu open source oraz lepszy materiał referencyjny i dokumentację.
  • MySQL można skonfigurować tak, aby był zgodny z ACID w przypadku korzystania z systemu pamięci masowej InnoDB. Akronim ACID oznacza atomowość, spójność, izolację i trwałość. Oznacza to, że może zagwarantować ważność danych pomimo wszelkich błędów, awarii lub przestojów.
  • Słynie z wysokiej wydajności dzięki takim funkcjom, jak zoptymalizowane biblioteki klas, kompresja, alokacja pamięci i tablice mieszające. Obsługuje wielowątkowe wątki jądra dla bardziej wydajnej pracy w systemach z wieloma procesorami.
  • Obsługuje bardzo duże bazy danych, przechowując do setek milionów rekordów i do 64 indeksów na tabelę.
  • MySQL zapewnia ulepszone mechanizmy bezpieczeństwa, w tym szyfrowanie wszystkich haseł.
  • Pozwala na replikację danych i nadmiarowość w celu zwiększenia niezawodności.
  • MySQL zapewnia obsługę aliasów w tabelach i kolumnach oraz pełną obsługę wielu różnych zestawów znaków.
  • MySQL działa dobrze z PHP, który jest szeroko stosowany w tworzeniu stron internetowych.
  • Działa z wieloma różnymi kompilatorami i na wielu różnych platformach i jest zaprojektowany do przenoszenia między systemami. Programy klienckie mogą być pisane w wielu językach. MySQL zapewnia interfejsy API dla C/C++, PHP, Java, Python, Ruby i Perl.
  • MySQL jest dostępny jako biblioteka, którą można osadzić w samodzielnych aplikacjach.
  • MySQL jest dostarczany z kilkoma wygodnymi narzędziami klienckimi, w tym mysqldump i mysqladmin . Użytkownicy mogą weryfikować, optymalizować i naprawiać tabele za pomocą mysqlcheck program.
  • Licencja open source MySQL umożliwia programistom dostosowywanie MySQL i modyfikowanie kodu źródłowego w celu spełnienia ich wymagań.

MySQL jest również dostępny w bardziej funkcjonalnej wersji Enterprise, z pełną obsługą klienta. Aby uzyskać informacje na temat instalacji MySQL na Ubuntu lub innych platformach Linux, zapoznaj się z przewodnikiem Linode dotyczącym instalacji i konfiguracji MySQL na Ubuntu 20.04.

SQL kontra NoSQL

Systemy NoSQL są alternatywą dla tradycyjnych aplikacji RDBMS opartych na SQL. Jak sama nazwa wskazuje, do obsługi danych używają modelu nierelacyjnego. Są one zazwyczaj mniej ustrukturyzowane i bardziej elastyczne niż RDBMS. Systemy NoSQL nie są ustandaryzowane i mogą przyjmować różne formaty. Jednak zazwyczaj są one oparte na parze klucz-wartość, wykresie lub dokumencie, a nie na tabeli. Niektóre aplikacje NoSQL mogą używać ustrukturyzowanych języków specyficznych dla domeny lub nawet równolegle akceptować zapytania SQL. Kilka przykładów aplikacji NoSQL to Redis i MongoDB. Aby uzyskać więcej informacji na temat systemów NoSQL, zapoznaj się z przewodnikiem Linode zawierającym porównanie baz danych SQL i NoSQL.

Co to jest klient i serwer MySQL?

Klient MySQL i serwer MySQL to dwa różne komponenty, które współpracują ze sobą w architekturze sieciowej. Zwykle jest jeden serwer centralny i jeden lub więcej klientów. Aplikacja serwera bazy danych MySQL jest instalowana na hoście, często jako część stosu LAMP. Ten serwer przechowuje konfigurację i dane bazy danych oraz odpowiada na zapytania klientów. Wymusza również bezpieczeństwo i każdy system kontroli dostępu oraz replikuje i archiwizuje dane zgodnie z wymaganiami. Ten sam serwer może obsługiwać wiele baz danych dla różnych klientów.

Klient MySQL umożliwia użytkownikom łączenie się z serwerem MySQL w tym samym systemie lub na innym hoście. Klient wysyła zapytania SQL do serwera w celu odczytu lub zapisu do bazy danych. Klient MySQL również administruje, utrzymuje i zabezpiecza klienta. Klient autonomiczny jest zalecany dla użytkowników, którzy chcą łączyć się ze zdalną bazą danych tylko w celu uruchamiania zapytań. Administratorzy, którzy chcą hostować bazę danych na serwerze, muszą zainstalować pełny pakiet serwera MySQL. Instalacja serwera obejmuje klienta do tworzenia i administrowania bazą danych.

Standardowe narzędzie klienta wiersza poleceń MySQL nosi nazwę mysql . Można go zainstalować bez komponentu serwera za pomocą polecenia yum install mysql lub apt-get install mysql-client . Aby uzyskać dostęp do klienta MySQL, użyj polecenia mysql . Nazwę użytkownika, hasło i adres IP serwera można określić za pomocą dodatkowych parametrów.

Gdy użytkownik pomyślnie się zaloguje, klient wyświetli monit MySQL mysql> . Użytkownik może wtedy uruchamiać polecenia SQL. Aby uzyskać więcej informacji na temat instalacji i używania MySQL, zapoznaj się z przewodnikiem Linode na temat łączenia się z bazą danych MySQL lub MariaDB.

Do czego służy MySQL?

MySQL to wszechstronny RDBMS do użytku z zestawem danych o dowolnej wielkości. Można to wziąć pod uwagę za każdym razem, gdy aplikacja musi przechowywać i pobierać dane. MySQL został pierwotnie opracowany dla małych i średnich konfiguracji jednoserwerowych. Jednak dzięki niedawnym ulepszeniom wydajności i skalowalności może być używany praktycznie w dowolnym miejscu w aplikacji o dowolnym rozmiarze. MySQL używają nawet duże firmy, w tym Uber, Airbnb i Shopify.

Użytkownicy muszą zainstalować MySQL, aby skonfigurować WordPress. WordPress używa MySQL do przechowywania wszystkich swoich danych i plików konfiguracyjnych oraz dynamicznie współdziała z MySQL w celu wyświetlania i tworzenia stron internetowych. Użytkownicy niekoniecznie muszą rozumieć SQL, aby korzystać z WordPressa. Może się jednak przydać podczas wykonywania zaawansowanych dostosowań. W systemie Linux WordPress jest często instalowany jako pakiet wraz z MySQL i resztą stosu LAMP. Aby uzyskać więcej informacji na temat konfiguracji MySQL i WordPress, zapoznaj się z przewodnikiem Linode dotyczącym instalacji WordPress na Ubuntu 20.04.

Inne popularne aplikacje dla MySQL obejmują hurtownie danych, przetwarzanie transakcji, systemy rezerwacji, handel elektroniczny i internetowe bazy danych. Na przykład baza danych MySQL może utrzymywać listę produktów i inwentarz sklepu internetowego.

Wniosek

Ten przewodnik odpowiada na często zadawane pytanie „Co to jest baza danych MySQL?” MySQL to relacyjna baza danych, która organizuje dane na podstawie relacji między tabelami i polami. Jest to rodzaj Relational DataBase Management System (RDBMS), który przechowuje wpisy jako wiersze w tabelach. Każdy wiersz składa się z wielu kolumn, które reprezentują różne atrybuty rekordu danych. Język programowania SQL specyficzny dla bazy danych służy do przechowywania i pobierania danych z MySQL. SQL używa serii dyskretnych instrukcji i jest przeznaczony do pracy z systemami RDBMS.

MySQL jest znany ze swojej zdolności do przechowywania dużych tabel i ogromnych ilości danych, a także z szybkości i niezawodności. Udostępnia interfejsy API dla wielu popularnych języków programowania i zawiera kilka przydatnych narzędzi. Serwer MySQL przechowuje dane i odpowiedzi na żądania klientów MySQL. Klient jest zawsze w pakiecie z serwerem, ale może być używany jako samodzielna aplikacja do komunikacji ze zdalnymi bazami danych. MySQL jest używany w wielu znanych firmach i jest niezbędny dla tych, którzy chcą korzystać z WordPressa. Jest jednak również używany w internetowych bazach danych i hurtowniach danych. Więcej informacji na temat MySQL można znaleźć w dokumentacji MySQL.

Więcej informacji

Dodatkowe informacje na ten temat można znaleźć w poniższych zasobach. Chociaż są one dostarczane w nadziei, że będą przydatne, należy pamiętać, że nie możemy ręczyć za dokładność ani aktualność materiałów hostowanych zewnętrznie.

  • Oficjalna dokumentacja MySQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak tworzyć i usuwać bazy danych i tabele w MySQL

  2. Porównanie Oracle MySQL, Percona Server i MariaDB

  3. Jak usunąć z zaznaczonych w MySQL?

  4. Wstaw tablicę do bazy danych MySQL za pomocą PHP

  5. MySQL Workbench:Jak utrzymać połączenie przy życiu