دستور insert و نحوه استفاده آن در sql
از این عبارت برای وارد کردن یک سطر (رکورد) جدید برای جدولی از دیتابیس استفاده میشود.
سینتکس عبارت insert در sql
برای استفاده از دستور insert در sql می توان به دو صورت استفاده کرد.
در روش اول هم نام ستون و هم مقادیری که میخواهیم به عنوان یک رکورد در جدول وارد شود را مشخص میکنیم.
INSERT INTO table_name (column1, column2, column3, ...) VALUES ('value1', 'value2', 'value3', ...);
برای ستون های مشخص شده، یعنی column1 column2 و ... به ترتیب مقادیر وارد شده در فانکشن VALUE تنظیم می شود.
در روش دوم بعد از نام جدول، بدون تعریف ستون های آن از فانکشن VALUE استفاده میکنیم. در این روش دقت داشته باشید که ترتیب مقادیر تنظیم شده با ترتیب ستون های جدول فرض میشود و مقادیر برای ستون های معادل در جدول بر اساس ترتیب آن ها مقداردهی خواهد شد. با این روش باید تمامی ستون های یک جدول مقدار دهی شود.
INSERT INTO table_name VALUES('value1', 'value2', 'value3', ...);
مثال عملی از دستور insert در sql
همانطور که قبلا اشاره شد از دستور INSERT INTO برای وارد کردن یک سطر جدید به جدولی از یک دیتابیس استفاده می کنیم. با فرض داشتن جدولی با نام Stuents و مشخصات زیر، از INSERT برای وارد کردن دیتا به آن استفاده خواهیم کرد.
int | id |
varchar | name |
int | age |
varchar | field |
(optional) varchar | city |
دستور insert برای جدول بالا به صورت زیر می باشد. در عبارت اول بدون مشخص کردن ستون ها و در عبارت دوم با استفاده از روش دوم برای وارد کردن اطلاعات (رکورد) به جدول استفاده کردیم.
INSERT INTO Students VALUES (1, "Saba", 25, "IT", "Tehran");
INSERT INTO Students (id, name, age, field) VALUES (2, "Hossein" 26, "SW", "Tehran");
با توجه به اختیاری بودن فیلد city در جدول ذکر شده، میتوانیم در زمان insert این فیلد را به عنوان ستون در نظر نگیریم. دستور آن به شکل زیر خواهد بود.
INSERT INTO Students (id, name, age, field) VALUES (3, "Morteza", 31, "IT");
همچنین با توجه به اینکه ستون های جدول را در حین ورود اطلاعات مشخص میکنیم، دیگر ترتیب ستون ها در جدول اهمیتی ندارد، و صرفا ترتیب مقادیر در ورودی فانکشن VALUES برای ستون های معادل تنظیم می شود. به دستور زیر توجه کنید که ترتیب ستون ها در عبارت، با ترتیب ستون های جدول Students یکسان نیست و اهمیتی ندارد.
INSERT INTO Students (name, field, status, age) VALUES ("Maryam" , "SW", "active", 20);