MySQL - Wstaw zapytanie
Aby wstawić dane do tabeli MySQL, musisz użyć SQL INSERT INTOKomenda. Możesz wstawić dane do tabeli MySQL za pomocą zachęty mysql> lub dowolnego skryptu, takiego jak PHP.
Składnia
Oto ogólna składnia SQL polecenia INSERT INTO służąca do wstawiania danych do tabeli MySQL -
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
Aby wstawić ciągowe typy danych, należy zachować wszystkie wartości w podwójnych lub pojedynczych cudzysłowach. Na przykład"value".
Wstawianie danych z wiersza polecenia
Aby wstawić dane z wiersza poleceń, użyjemy polecenia SQL INSERT INTO, aby wstawić dane do tabeli MySQL tutorials_tbl.
Przykład
Poniższy przykład utworzy 3 rekordy w tutorials_tbl stół -
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>
NOTE- Należy pamiętać, że wszystkie znaki strzałek (->) nie są częścią polecenia SQL. Wskazują nowy wiersz i są tworzone automatycznie przez znak zachęty MySQL, podczas naciskania klawisza Enter bez podawania średnika na końcu każdego wiersza polecenia.
W powyższym przykładzie nie podaliśmy tutorial_id, ponieważ w momencie tworzenia tabeli podawaliśmy opcję AUTO_INCREMENT dla tego pola. Dlatego MySQL dba o automatyczne wstawianie tych identyfikatorów. Tutaj,NOW() to funkcja MySQL, która zwraca bieżącą datę i godzinę.
Wstawianie danych za pomocą skryptu PHP
Możesz użyć tego samego polecenia SQL INSERT INTO w funkcji PHP mysql_query() aby wstawić dane do tabeli MySQL.
Przykład
Ten przykład weźmie trzy parametry od użytkownika i wstawi je do tabeli MySQL -
<html>
<head>
<title>Add New Record in MySQL Database</title>
</head>
<body>
<?php
if(isset($_POST['add'])) {
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
if(! get_magic_quotes_gpc() ) {
$tutorial_title = addslashes ($_POST['tutorial_title']);
$tutorial_author = addslashes ($_POST['tutorial_author']);
} else {
$tutorial_title = $_POST['tutorial_title'];
$tutorial_author = $_POST['tutorial_author'];
}
$submission_date = $_POST['submission_date'];
$sql = "INSERT INTO tutorials_tbl ".
"(tutorial_title,tutorial_author, submission_date) "."VALUES ".
"('$tutorial_title','$tutorial_author','$submission_date')";
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
} else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
<tr>
<td width = "250">Tutorial Title</td>
<td>
<input name = "tutorial_title" type = "text" id = "tutorial_title">
</td>
</tr>
<tr>
<td width = "250">Tutorial Author</td>
<td>
<input name = "tutorial_author" type = "text" id = "tutorial_author">
</td>
</tr>
<tr>
<td width = "250">Submission Date [ yyyy-mm-dd ]</td>
<td>
<input name = "submission_date" type = "text" id = "submission_date">
</td>
</tr>
<tr>
<td width = "250"> </td>
<td> </td>
</tr>
<tr>
<td width = "250"> </td>
<td>
<input name = "add" type = "submit" id = "add" value = "Add Tutorial">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
Podczas wstawiania danych najlepiej jest skorzystać z funkcji get_magic_quotes_gpc()aby sprawdzić, czy bieżąca konfiguracja dla magicznego cudzysłowu jest ustawiona, czy nie. Jeśli ta funkcja zwraca fałsz, użyj funkcjiaddslashes() aby dodać ukośniki przed cudzysłowami.
Możesz przeprowadzić wiele walidacji, aby sprawdzić, czy wprowadzone dane są poprawne, czy nie, i możesz podjąć odpowiednie działania.