ورود به اکانت شما

نام کاربری *
رمز عبور *
مرا بخاطر بسپار

ایجاد حساب کاربری

فیلد های ستاره دار را پر کنید.
نام *
نام کاربری *
رمز عبور *
تکرار رمز عبور *
ایمیل *
تکرار ایمیل *
کپچا *
بارگذاری کپچا

عملگرهای محاسباتی در MYSQL مطلب ویژه

توسط 21 مهر, 1392 8337 0

در صورت مفید بودن این مقاله حتما نظر خودتان را در پایین مطلب برای ما ارسال کنید

عملگرهای-محاسباتی-در-MYSQL-2 در درس قبلی روش بازیابی اطلاعات به صورت ساده را آموزش داده ام ، . بازیابی داده ها در MySQL از قابلیت ها و انعطاف پذیری زیادی برخوردار است که این قابلیت از طریق عملگرهای محاسباتی که به 4 نوع تقسیم می شود مورد استفاده قرار می گیرد .

4 نوع عملگرهای محاسباتی هر کدام کار خاصی را انجام میدهند . به عنوان مثال عملگرهای محاسباتی همانطور که از نام آن مشخص است ، می توان از طریق آن محاسبات را انجام داد .

عملگرهای رابطه ای یا مقایسه ای در MySQL برای مقایسه اعداد و رشته ها به کار میرود .
عملگزهای منطقی 2 یا چند عبارت را با یکدیگر ترکیب کرده و نتیجه بدست آمده به مقادیر عبارات بستگی دارد .
عملگر آخر هم عملگرهای بیتی می باشد که برای دستکاری بیت ها بکار می آید . هر کدام از این 4 عملگر را در ادامه به طور کامل توضیح میدهم تا بیشتر با کاربرد هر کدام آشنا شوید . 

عملگرهای محاسباتی
پایگاه داده MySQL هم همانند زبانهای برنامه نویسی دارای عملگرهای محاسباتی می باشد که از طریق آنها می توان محاسبات مورد نظر را انجام داد .
مثلا + جمع / - منفی / تقسیم ، ضرب و باقیمانده دو فیلد یا ...

 اجازه دهید با یک مثال بشتر با عملگرهای محاسباتی شما را آشنا کنم .  


میخوام عنوان محصولات به طوری که میزان تخفیف هر محصول به ازای 10 درصد قیمت نمایش داده شود .ابتدا باید پایگاه داده asarayan را فراخوانی کنم


use asarayan;
select title , price * 10 /100 discount from products;

 

عملگرهای-محاسباتی-در-MYSQL-1

 

عملگرهای رابطه ای مقایسه ای
تقریبا در تمام کارهای محاسباتی با داده ها ، نیاز به مقایسه مقادی با یکدیگر است . برای مقایسه مقادیر در MySQL عملگرهای متنوعی فراهم شده است .نتیجه عملگرهای مقایسه ای ، صفر به معنای ارزش نادرستی ، یک به معنای ارزش درستی و Null به معنای غیر قابل تعیین می باشد .
عملگرهای مقایسه ای برای مقایسه اعداد و رشته ها به کار می رود .
اعداد به صورت ممیز شناور مقایسه می شوند.
مقایسه رشته ها نسبت به حروف حساس نیست .
البته شما می توانید با استفاده از واژه کلیدی Binary پایگاه داده MySQL را نسبت به بزرگی و کوچکی حروف حساس کنید

 عملگر  نام 
 =  تساوی
 <>یا =!  نامساوی
> کوچک تر از
=> کوچکتر یا مساوی
< بزرگ تر از
=< بزرگ تر یا مساوی
between وجود در بازه خاص
in  وجود در یک مجموعه
is null آیا تهی است
is not null آیا تهی نیست
like تطبیق کارکترهای عمومی
regexp تطبیق عبارت های منظم
rlike مثل regexp

به مثال زیر دقت کنید .
عدد 6<>6 با هم برابر است یا خیر ؟ دو رشته Photoshop با photoshop (حرف P بزرگ اول) با هم برابر است یا خیر ؟


use asarayan;
select 6<>6  , 'photoshop' = 'Photoshop' , binary 'photoshop' = 'Photoshop' ;

عملگرهای-محاسباتی-در-MYSQL-2

نتیجه دستورهای بالا برابر است با 6<>6 آیا باهم برابر است که ارزش نادرستی آن با عدد صفر نمایش داده شده است .
'photoshop' = 'Photoshop' در دستور دوم آیا باهم برابر است ؟ ارزش درستی این دستور با عدد 1 مشخص شده است زیرا از واژه کلید binary در دستور دوم استفاده نشده است . 


'photoshop' = 'Photoshop' در دستور سوم آیا باهم برابر هستند یا خیر ؟ ارزش نادرستی با عدد صفر مشخص شده است زیرا از واژه کلیدی binary استفاده شده است

 


استفاده از عملگرهای  > , => , < , = <  در عبارات


use asarayan;
select 9 > 5 , 'saeed' <= 'abdolmaleki' , 8 >= '8' , 11 > 15;

عملگرهای-محاسباتی-در-MYSQL-3

دقت داشته باشید که فضای خالی انتهای رشته ها در مقایسه اعمال نمی شود ولی فضای خالی ابتدای رشته ها منظور می شود


use asarayan;
select 'abdolmaliki' = 'abdolmaleki     ' , 'abdolmaliki' = '         abdolmaleki ';

عملگرهای-محاسباتی-در-MYSQL-4

 


عملگرهای null و not null


use asarayan;
select ' ' is null , 'sobhkhiz' isnot null ;

عملگرهای-محاسباتی-در-MYSQL-5

عملگر Between همراه با and به کار می رود و تست می کند آیا مقداری در بین دو حد معین وجود دارد یا خیر . عدد اول حد پایین و عدد دوم حد بالا


use asarayan;
select  5 between 2 and 20 , 5 not between 20 and 25;

عملگرهای-محاسباتی-در-MYSQL-6

 


عملگر like . شاید بخواهید بفهمید چند کارکتر مثلا sa در کدام رشته ها قرار دارد . این عملگر برای تطبیق زیر رشته ای در یک رشته به کار میرود


use asarayan;
select  'abdolmaleki' like '%maleki%';

عملگرهای-محاسباتی-در-MYSQL-7

کارکتر % درصد به جای صفر یا چند وقوع از کارکترها قرار می گیرد .

کارکتر _ آندرلاین جایگزین فقط یک کارکتر از الگو می شود . به مثال زیر توجه کنید 


use asarayan;
select  ' sob' like '_ob' ;

 

عملگرهای-محاسباتی-در-MYSQL-8

عملگر in : این عملگر مشخص می کند آیا مقدار خاصی در بین مجموعه ای از مقادی وجود دارد یا خیر ؟


use asarayan;
select  17 in (10 , 15 , 17 , 20) ;

عملگرهای-محاسباتی-در-MYSQL-9

عملگر regexp تطبیق رشته ها را بر اساس عبارات منظم انجام میدهد که در جدول زیر وجود دارد

 کاراکتر  عملکرد
 +  تطبیق یک یا چند کارکتر
 *  تطبیق صفر یا چند کارکتر
 ?  تطبیق صفر یا یک وقوع از کارکتر
. تطبیق هر کارکتر
^ تطبیق در آغاز رشته
$ تطبیق در انتهای رشته
s تطبیق فضای خالی ، tab و خط جدید
S تطبیق هر چیزی که فضای خالی نباشد
d تطبیق اعداد 0 تا 9
w تطبیق حروف ، اعداد و زیر خط
W تطبیق هر چیزی که با wتطبیق نمی کند

به مثال زیر توجه کنید


use asarayan;
select  'abdolmaleki' not regexp 'abdol$' , 'saeed' regexp '^aee?';

عملگرهای-محاسباتی-در-MYSQL-10

 

عملگرهای منطقی
عملگرهای منطقی دو یا چند عبارت را با یکدیگر ترکیب می کنند که نتیجه آنها به مقادیر عبارت منطقی بستگی دارد. X . Y عبارات منطقی اند .
متداول ترین عملگرهای منطقی شامل not . and . or .xor می باشد


use asarayan;
select 6 < 10 and 5 > 11;

مثال دوم


use asarayan;
select (2 = 2) xor (2=4) , (1 < 2) xor (9 < 10 );

 

عملگرهای-محاسباتی-در-MYSQL-11

 

عملگرهای بیتی
در MySQL شش نوع عملگر بیتی برای دستکاری بیت ها وجود دارد . به جدول زیر توجه کنید

 عملکرد  نام
 &  and بیتی
 |  or بیتی
 ^  xor بیتی
~ نقیض بیتی
<< شیفت به راست
>> شیفت به چپ

به مثال های زیر توجه کنید


use asarayan;
select 16 | 24 , 5 | 3;

عملگرهای-محاسباتی-در-MYSQL-12


use asarayan;
select 1 << 7 , 64 >> 1 ;


use asarayan;
select 1 ^ 0 , 0 ^ 1 , 17 ^ 9 , 143 ^ 66;


use asarayan;
select 40 & 5 , 16 & 32 ;

عملگرهای-محاسباتی-در-MYSQL-13

در پایان هم جدول تقدم عملگرها را مشاهده می کنید

 تقدم عملگرها
 پایین ترین تقدم                                                      or
and
between
= , >= ,<= , < , <> , is , like ,regexp,in
|
&
<< , >>
- , +
* , / , %
~
not
binary
این مورد را ارزیابی کنید
(1 رای)
آخرین ویرایش در سه شنبه, 10 شهریور 1394 ساعت 12:34
کلیه حقوق متعلق است به فروشگاه آسارایان. طراحی و پشتیبانی: webriz
تک وب دیزاین-قالب فارسی جوملا