دستور INSERT INTO در MySQL

برای اضافه کردن مقادیر جدید به یک سطر در جدول از پایگاه داده از دستور INSERT INTO استفاده می شود.

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
  • table-name: نام جدول موجود در پایگاه داده که قصد اضافه کردن مقدار به آن را دارید.
  • column: نام ستون هایی که در جدول موجود است و از قبل تعیین شده است.
  • VALUES: در این قسمت باید مقادیر جدیدی که قصد دارید را اضافه کنید.
  • value: مقادیری که قرار است اضافه شود.

مثال واقعی از دستور INSERT INTO در MySQL

بعنوان مثال یک جدول در پایگاه داده به نام users داریم و قصد داریم برای نام ، نام خانوادگی ، ایمیل و تلفن همراه یک کاربر جدید اضافه کنیم.

INSERT INTO users(firstname, lastname, email , number)
VALUES ('alireza', 'chamani', 'alireza@gmail.com', '0912.....');

در این کد نام alireza در جایگاه firstname در جدول قرار می گیرد و به همین ترتیب دیگر مقادیر اضافه می شوند و مانند جدول زیر به انتهای آن اضافه می شوند:

number email lastname firstname
0912....... ali@gmail.com ahmadi ali
0912... alireza@gmail.com chamani alireza

افزودن چند سطر همزمان به جدول MySQL

زبان SQL این قابلیت را دارد که به جای افزودن سطر جدید به صورت جدا، به طور همزمان چند سطر اضافه کند تا در وقت برای این کار صرفه جویی شود و کد ها تمیز نوشته شود.

برای مثال مانند مثال قبل به جدول users سه کاربر جدید به طور همزمان اضافه می کنیم.

INSERT INTO users(FirstName, LastName, email , number) VALUES 
  ('ali', 'ahmadi', 'ali@gmail.com', '0912345....',
 ('alireza', 'chamani', 'alireza@gmail.com', '0912543....',
 ('reza', 'rezaee', 'reza@gmail.com', '0912876....',

روش mysqli در افزودن داده در MySQL

برای اجرای دستورات SQL برای اضافه کردن داده جدید به جدول که تاکنون آموختید در PHP با روش mysqli باید مراحل زیر را دنبال کنید.

ابتدا به پایگاه داده متصل می شویم.

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "DBname";

// اتصال به پایگاه داده
$conn = new mysqli($servername, $username, $password, $dbname);
// بررسی اتصال
if ($conn->connect_error) {
  die("مشکلی وجود داد: " . $conn->connect_error);
}

دستور SQL را در یک متغیر به نام sql$ ذخیره می کنیم.

INSERT INTO users(firstname, lastname, email , number)
VALUES ('alireza', 'chamani', 'alireza@gmail.com', '0912.....');

با استفاده از متد multi_query دستور sql را اجرا می کنیم و در صورت بروز خطا یک پیام خطا نمایش می دهیم.

if ($conn->multi_query($sql) === TRUE) {
  echo "سطر جدید اضافه شد.";
} else {
  echo "خطا : " . $sql . $conn->error;
}

در آخر اتصال به پایگاه داده را می بندیم.

$conn->close();

روش PDO در افزودن داده در MySQL

برای اجرای دستورات SQL برای اضافه کردن داده جدید به جدول که تاکنون آموختید در PHP با روش PDO باید مراحل زیر را دنبال کنید.

ابتدا به روش PDO در بلوک try  پایگاه داده متصل می شویم.

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "DBname";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

در ادامه با دستور exec و کد SQL که داریم سطر جدید را اضافه می کنیم.

با متد ()commit تغییرات اعمال شده را ثبت نهایی می کنیم.

در انتها بلوک try را می بندیم.

$conn->exec("INSERT INTO users(firstname, lastname, email , number)
VALUES ('alireza', 'chamani', 'alireza@gmail.com', '0912.....');")
$conn->commit();
  echo "سطر جدید ایجاد شد.";
}

در بلوک catch در صورت بروز خطا ، خطای SQL را از طریق متد ()rollback دریافت کرده و نمایش می دهیم.

catch(PDOException $e) {
  $conn->rollback();
  echo "خطا: " . $e->getMessage();
}

در آخر اتصال به پایگاه داده را می بندیم.

$conn = null;

خلاصه درس

در این درس با دستور INSERT INTO در MySQL آشنا شدیم.

توسعه دهندگان
علیرضا چمنی