co to jest INSERT INTO?
INSERT INTO służy do przechowywania danych w tabelach. Polecenie INSERT tworzy nowy wiersz w tabeli do przechowywania danych. Dane są zazwyczaj dostarczane przez programy aplikacyjne, które działają na bazie danych.,
składnia Podstawowa
przyjrzyjmy się podstawowej składni polecenia INSERT INTO MySQL:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
tutaj
podczas dostarczania wartości danych do dodania do nowej tabeli należy wziąć pod uwagę:
- typy danych łańcuchowych – wszystkie wartości łańcuchowe powinny być zamknięte w pojedynczych cudzysłowach.
- Numeryczne typy danych – wszystkie wartości liczbowe powinny być dostarczane bezpośrednio bez zamykania ich w cudzysłowie pojedynczym lub podwójnym.
- typy danych daty-zawierają wartości daty w pojedynczych cudzysłowach w formacie „RRRR-MM-DD”.,
przykład:
Załóżmy, że mamy następującą listę nowych członków biblioteki, które należy dodać do bazy danych.,27ff0417f7″>
WSTAWMY dane jeden po drugim. Zaczniemy od Leonarda Hofstadtera. Numer kontaktu traktujemy jako typ danych liczbowych i nie zamykamy go w pojedynczych cudzysłowach.
wykonanie powyższego skryptu powoduje usunięcie 0 z numeru kontaktowego Leonarda. Dzieje się tak, ponieważ wartość będzie traktowana jako wartość liczbowa, a zero (0) Na początku jest usuwane, ponieważ nie jest znaczące.,
aby uniknąć takich problemów, wartość musi być zamknięta w pojedynczych cudzysłowach, jak pokazano poniżej –
w powyższym przypadku zero(0) nie zostanie upuszczone
Zmiana kolejności kolumn nie ma wpływu na zapytanie INSERT w MySQL, o ile poprawne wartości zostały zmapowane do poprawnych kolumn.
poniższe zapytanie pokazuje powyższy punkt.
powyższe zapytania pominięto w kolumnie Data urodzenia. Domyślnie MySQL wstawia wartości NULL w kolumnach pominiętych w zapytaniu Wstaw.
wstawmy teraz zapis dla Leslie, który ma podaną datę urodzenia., Wartość daty powinna być ujęta w pojedynczych cudzysłowach w formacie „RRRR-MM-DD”.
wszystkie powyższe zapytania określiły kolumny i zmapowały je na wartości w instrukcji INSERT MySQL. Jeżeli podajemy wartości dla wszystkich kolumn w tabeli, wtedy możemy pominąć kolumny z zapytania Insert MySQL.
przykład: –
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitzemail.me');
użyjmy teraz instrukcji SELECT, aby wyświetlić wszystkie wiersze w tabeli członka.,
SELECT * FROM `members`;
numer członkowski | pełne nazwy | płeć | Data urodzenia | adres fizyczny | adres pocztowy | numer contct | ||||
---|---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | kobieta | 21-07-1980 | first street Plot No 4 | private bag | 0759 253 542 | ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript., | |||
2 | Janet Smith Jones | Kobieta | 23-06-1980 | Melrose 123 | NULL | null | Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript. | |||
3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.,td>Woodcrest | NULL | 845738767 | NULL |
6 | Sheldon Cooper | Male | NULL | Woodcrest | NULL | 976736763 | NULL | |||
7 | Rajesh Koothrappali | Male | NULL | Woodcrest | NULL | 938867763 | NULL | |||
8 | Leslie Winkle | Male | 14-02-1984 | Woodcrest | NULL | 987636553 | NULL | |||
9 | Howard Wolowitz | Male | 24-08-1981 | SouthPark | P.,O. Box 4563 | 987786553 | Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript. |
zwróć uwagę, że numer kontaktowy Leonarda Hofstadtera spadł zero (0) z numeru kontaktowego. Pozostałe numery kontaktowe nie upuściły zera (0) na początku.
wstawianie do tabeli z innej tabeli
polecenie INSERT może być również użyte do wstawiania danych do tabeli z innej tabeli. Podstawowa składnia jest jak pokazano poniżej.,
INSERT INTO table_1 SELECT * FROM table_2;
przyjrzyjmy się teraz praktycznemu przykładowi. W celach demonstracyjnych stworzymy tabelę dla kategorii filmów. Wywołamy nową tabelę kategorii categories_archive. Poniższy skrypt tworzy tabelę.
wykonaj powyższy skrypt, aby utworzyć tabelę.
wstawmy teraz wszystkie wiersze z tabeli kategorii do tabeli archiwum kategorii. Skrypt pokazany poniżej pomaga nam to osiągnąć.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
wykonując powyższy skrypt wstawiamy wszystkie wiersze z tabeli kategorii do tabeli archiwum kategorii., Zauważ, że struktury tabeli muszą być takie same, aby skrypt działał. Bardziej solidnym skryptem jest taki, który mapuje nazwy kolumn w tabeli Wstaw na nazwy w tabeli zawierającej dane.
zapytanie pokazane poniżej pokazuje jego użycie.
wykonanie zapytania SELECT
SELECT * FROM `categories_archive`
daje następujące wyniki pokazane poniżej.,
PHP Example: Insert into MySQL Table
The mysqli_query function is used to execute SQL queries.,
funkcja może być używana do wykonywania następujących typów zapytań;
- Insert
- Select
- Update
- delete
ma następującą składnię.
mysqli_query($db_handle,$query);
tutaj
„mysqli_query(…)” jest funkcją wykonującą zapytania SQL.
„$query”jest zapytaniem SQL do wykonania
„$link_identifier ” jest opcjonalne, można go użyć do przekazania w linku połączenia z serwerem
przykład
podsumowanie
- polecenie INSERT służy do dodawania nowych danych do tabeli. MySql doda nowy wiersz po wykonaniu polecenia.,
- wartości date i string powinny być zawarte w pojedynczych cudzysłowach.
- wartości liczbowe nie muszą być zawarte w cudzysłowach.
- polecenie INSERT może być również użyte do wstawiania danych z jednej tabeli do drugiej.