• صفحه اصلی
  • سرور مجازی
    • سرور مجازی المان
    • سرور مجازی فرانسه
    • سرور مجازی امریکا
    • سرور مجازی کانادا
    • سرور مجازی انگلیس
    • سرور مجازی هلند
    • سرور مجازی ایتالیا
    • سرور مجازی ترکیه
    • سرور مجازی NVMe
  • سرور مجازی ایران
    • سرور مجازی برج میلاد
    • سرور مجازی زیرساخت
    • سرور مجازی آسیاتک
    • سرور مجازی تبیان
    • سرور مجازی پارس آنلاین
    • سرور کاهش پینگ
    • سرور مجازی اینترانت
  • سرور اختصاصی ایران
    • سرور اختصاصی برج میلاد
    • سرور اختصاصی آسیاتک
    • سرور اختصاصی زیرساخت
    • سرور اختصاصی تبیان
    • سرور اختصاصی شهراد
    • سرور اختصاصی پارس آنلاین
    • سرور اختصاصی افرانت
  • وبلاگ
  • استخدام
  • درباره ما
  • تماس با ما
ثبت نام
نام کاربری:
رمز ورود:
    • TR
    • UK
    • GE
    • FR
شرکت ارائه دهنده سرور مجازی نوین هاست
Menu
  • هاست
    • هاست سی پنل
      • هاست سی پنل المان
        • هاست سی پنل اشتراکی
        • هاست سی پنل پربازدید
      • هاست سی پنل ایران
        • هاست سی پنل ایران اشتراکی
        • هاست سی پنل ایران پربازدید
    • هاست دایرکت ادمین
      • هاست دایرکت ادمین
      • هاست دایرکت ادمین ایران
    • هاست ویندوز
      • هاست ویندوز ایران
      • هاست ویندوز
    • هاست دانلود
      • هاست دانلود
      • هاست دانلود ایران
    • هاست بکاپ
      • هاست بکاپ خارج
      • هاست بکاپ ایران
      • ریموت بکاپ
    • هاست چت روم
    • هاست ابری
    • هاست شرکتی
    • هاست وردپرس
    • هاست جوملا
    • هاست ارزان
    • هاست رایگان
  • نمایندگی فروش
    • نمایندگی هاست سی پنل
      • نمایندگی هاست سی پنل
        • نمایندگی هاست سی پنل اشتراکی
        • نمایندگی هاست سی پنل پربازدید
      • نمایندگی هاست سی پنل ایران
        • نمایندگی هاست سی پنل ایران اشتراکی
        • نمایندگی هاست سی پنل ایران پربازدید
    • نمایندگی هاست دایرکت ادمین
      • نمایندگی هاست دایرکت ادمین
      • نمایندگی هاست دایرکت ادمین ایران
    • نمایندگی هاست ویندوز
      • نمایندگی هاست ویندوز
      • نمایندگی هاست ویندوز ایران
    • نمایندگی هاست دانلود
      • نمایندگی هاست دانلود
      • نمایندگی هاست دانلود ایران
    • نمایندگی هاست بکاپ
      • نمایندگی هاست بکاپ
      • نمایندگی هاست بکاپ ایران
    • نمایندگی هاست ابری
    • نمایندگی هاست چت روم
    • نمایندگی درصدی هاست سی پنل
    • پذیرش نمایندگی کلی
    • نمایندگی فروش سرور مجازی
      • نمایندگی فروش سرور مجازی
      • نمایندگی فروش سرور مجازی ابری
  • سرور مجازی
    • سرور مجازی امریکا
    • سرور مجازی کانادا
    • سرور مجازی انگلیس
    • سرور مجازی المان
    • سرور مجازی هلند
    • سرور مجازی ایتالیا
    • سرور مجازی فرانسه
    • سرور مجازی ایران
    • سرور مجازی تبیان
    • سرور مجازی ایران برج میلاد
    • سرور مجازی پارس آنلاین
    • سرور مجازی آسیاتک
    • سرور مجازی کاهش پینگ
    • سرور مجازی رایگان
    • آفرهای ویژه سرور مجازی(محدود)
    • سرور ابری
    • گیم سرور
    • سرور مجازی ترکیه
    • سرور کلش آف کلنز
    • سرور ارسال ایمیل
    • سرور مجازی اینترانت
    • سرور مجازی NVMe
  • سرور اختصاصی
    • سرور اختصاصی امریکا
      • دیتاسنتر XLHOST
      • دیتاسنتر OVH
      • دیتاسنتر singlehope
    • سرور اختصاصی کانادا
      • دیتاسنتر ovh
    • سرور اختصاصی انگلیس
      • دیتاسنتر redstation
      • دیتاسنتر rapidswitch
    • سرور اختصاصی المان
      • دیتاسنتر hetzner
    • سرور اختصاصی فرانسه
      • دیتاسنتر ovh
    • سرور اختصاصی هلند
      • دیتاسنتر LeaseWeb
      • دیتاسنتر worldstream
    • افرهای ویژه سرور اختصاصی
    • گیم سرور اختصاصی
    • سرور اختصاصی ایران
      • سرور اختصاصی ایران زیرساخت
      • سرور اختصاصی ایران پارس آنلاین
      • سرور اختصاصی ایران تبیان
      • سرور اختصاصی ایران آسیاتک
      • سرور اختصاصی ایران برج میلاد
      • سرور اختصاصی ایران افرانت
      • سرور اختصاصی ایران شهراد
      • سرور اختصاصی ایران جایگاه
  • کولوکیشن
    • دیتاسنتر تبیان
    • دیتاسنتر زیرساخت
    • دیتاسنتر پارس انلاین
    • دیتاسنتر اسیاتک
    • دیتاسنتر نوین هاست
    • دیتاسنتر افرانت
    • دیتاسنتر جایگاه
    • دیتاسنتر شهراد شبکیه
    • دیتاسنتر برج میلاد
    • سخت افزار سرور
      • سرور hp
      • سرور dell
      • سرور سوپرمیکرو supermicro
  • ثبت دامنه
    • ثبت دامنه
    • تعرفه دامنه
    • جستجوی دامنه
    • انتقال دامنه
    • نمایندگی ثبت دامنه
    • گواهینامه SSL
  • محصولات
    • لایسنس
      • لایسنس سی پنل
      • لایسنس انتی شل CXS
      • لایسنس WHMCS
      • لایسنس لایت اسپید
      • لایسنس کلود لینوکس
      • لایسنس دایرکت ادمین
    • گواهینامه SSL
    • کانفیگ سرور
      • کانفیگ سی پنل
      • کانفیگ دایرکت ادمین
      • کانفیگ سی پنل ایران
      • کانفیگ پلسک
      • کانفیگ سرور دانلود
      • کانفیگ امنیتی سرور
      • کانفیگ میل سرور
      • کانفیگ سرور کاهش پینگ
      • کانفیگ websitepanel
      • کانفیگ Litespeed
      • کانفیگ Nginx
      • کانفیگ kvm
      • کانفیگ vmware
      • کانفیگ hyper-v
    • مدیریت سرور
    • اسکریپت VIP
    • پرداخت ارزی
      • پرداخت ارزی پی پال
      • افتتاح حساب پی پال
    • راهکار های سازمانی
      • سرویس VOIP
      • راه اندازی Hotspot
      • شبکه داخلی
  • طراحی سایت
    • طراحی سایت
    • بهینه سازی و سئو (SEO)
    • نمونه کارها

ارسال درخواست

پشتیبانی

کارشناسان ما منتظر تماس شما میباشند.

021-44041877

  • شما اینجا هستید:  
  • خانه
  • وبلاگ
  • تعریف کلی ای درباره ی Query ها در MySQL

آخرین مطالب سایت

  • مروری بر تکنولوژی های مجازی سازی
  • دلایلی برای انتخاب Node.js برای پروژه توسعه وب
  • نحوه راه اندازی یک ماینر بیت کوین
  • چرا شرکتهای هاستینگ باید از امنیت خوبی برخوردار باشند؟
  • مجوز هاو کنترل آنها در رایانش ابری
  • ارتباط مکمل میان رایانش ابری و IoT
  • ویژگی های مهم در هاستینگ
  • مجازی سازی در رایانش ابری
  • استخراج بیت‌ کوین با استفاده از سرور ابری
  • نحوه نوشتن توضیحات متا و عناوین خوب برای موتور های جستجو
  • کارهای مفیدی که میتوان با سرور اختصاصی انجام داد
  • مقدمه ای بر ساخت برنامه های وب
  • مزایای اضافه کردن گواهی SSL به وب سایت
  • تکنولوژی هایی که برنامه‌ نویسان باید در سال ۲۰۱۹ بدانند
  • چگونه کلمات کلیدی مؤثر انتخاب کنیم
  • چگونه یک هاستینگ مناسب انتخاب کنیم؟
  • میزبانی وب FTP
  • Go ، زبان برنامه نویسی در سرور ابری
  • راه حل عالی برای ساخت وبسایت ویدیویی
  • سرویس Netlify

پربازدیدترین مطالب سایت

  • دلایلی که در کسب و کار باید لینوکس را انتخاب کنید
  • چه انتظاری باید از سرویس هاست داشته باشیم؟
  • میزبانی سرور های گیم | بخش دوم
  • میزبانی سرور های گیم
  • تکنولوژی هایی که IOT را توسعه می دهند

تعریف کلی ای درباره ی Query ها در MySQL

نویسنده : جهان
تاریخ : 05 آذر 1397

پایگاه داده از اجزای مهم و کلیدی بسیاری از برنامه ها و وبسایت ها است. به عبارتی پایگاه داده، هسته مرکزی نحوه ذخیره سازی داده ها در سرور و تبادل اطلاعات در اینترنت می باشد.

یکی از مهمترین ویژگی های مدیریت پایگاه داده، عمل بازیابی داده ها از یک پایگاه داده است. راه های زیادی برای بازیابی اطلاعات از یک پایگاه داده وجود دارد اما یکی از رایج ترین آنها، ارائه Query ها از طریق خط فرمان است.

 

تعریف کلی ای درباره ی Query ها در MySQL

 

در سیستم های مدیریت پایگاه داده رابطه ای، Query به هر دستوری گفته میشود که داده ای را از جدول فراخوانی کند. در زبان ساختاریافته Query (SQL) ] Query ها اغلب با استفاده از عبارت SELECT صورت میگیرند.

در این متن ما درباره Query های SQL و برخی از توابع و اپراتورهایی که که معمولا استفاده میشوند، صحبت خواهیم کرد. همچنین میخواهیم ساختن Queryهای یک SQL را با استفاده از داده های نمونه در یک پایگاه داده MySQL تمرین کنیم.

 

پیش نیاز ها

به طور کلی، دستورات و مفاهیم ارائه شده در این متن میتواند در هر سیستم عامل مبتنی بر لینوکس که نرم افزار پایگاه داده SQL در آن اجرا می شود ، استفاده گردد. برای تنظیم این برنامه به موارد زیر نیاز دارید :

  • یک سیستم یا سرور مجازی Ubuntu 18.04 همراه با یک کاربر فرعی که به sudo دسترسی داشته باشد، لازم داریم.
  • برنامه MySQL روی این سیستم نصب شده باشد.

 

ایجاد یک پایگاه داده نمونه

قبل از اینکه بتوانیم Query ها را در SQL ایجاد کنیم ، باید یک پایگاه داده و چند جدول ایجاد کنیم و سپس جداول را با داده های مورد نیاز پرکنیم.

به عنوان مثال ما سناریوی زیر را برای پایگاه داده خود تصور میکنیم : شما میخواهید تولدتان را همراه با دوستانتان جشن بگیرید. در همان روز دوستان شما به سالن بازی بولینگ رفته و با یکدیگر مسابقه می دهند و سپس به مکانی که شما برای تولدتان رزرو کردید می آیند. مدتی از جشن میگذرد و شما نتیجه مسابقه بولینگ را از دوستانتان می پرسید. همچنین تاریخ تولد، غذا، دسر و مکان موردعلاقه آنها را میپرسید تا برای شام بهتر برنامه ریزی کنید. شما میخواهید بجای نوشتن این اطلاعات در یک دفتر، آنها را در یک پایگاه داده MySQL ذخیره کنید.

 

sudo mysql

برای شروع، با حساب اصلی خود در MySQL یک صفحه جدید باز کنید :

نکته : اگر شما MySQL را طبق دستورات قبل بر روی Ubuntu18.04 نصب کرده اید ، ممکن است برای تایید حساب خود به رمز عبور نیاز پیدا کنید . در این صورت شما با دستور زیر به MySQL وصل خواهید شد :

 

mysql -u root -p

mysql -u root -p

 

سپس پایگاه داده موردنیاز را ایجاد کنید :

MySQL> CREATE DATABASE `birthdays`;

این پایگاه داده را انتخاب کنید :

MySQL>USE birthdays;
 

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

دستور زیر یک جدول با نام مسابقه و ستون هایی با نام آنها ، تعداد مسابقاتی که برنده شدن، بهترین امتیازشان و سایز کفش بولینگی که پوشیده اند، ایجاد میکند :

MySQL>CREATE TABLE tourneys (
MySQL> name varchar(30), 
MySQL> wins real, 
MySQL> best real,
MySQL> size real 
MySQL> );


وقتی دستور بالا را اجرا میکنید خروجی بصورت زیر است :

Query OK, 0 rows affected (0.00 sec)
 

جدولی که ساختید را با داده های زیر پر کنید :

MySQL> INSERT INTO tourneys (name, wins, best, size)
MySQL> VALUES ('Dolly', '7', '245', '8.5'),
MySQL> ('Etta', '4', '283', '9'),  
MySQL> ('Irma', '9', '266', '7'), 
MySQL> ('Barbara', '2', '197', '7.5'),
MySQL> ('Gladys', '13', '273', '8');
 

خروجی شما این چنین خواهد بود :

Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0
 

در ادامه جدول دیگری در همان پایگاه داده برای ذخیره سازی اطلاعات زیر ایجاد کنید :

یک جدول با نام شام و ستون هایی با نام هر کدام از دوستانتان، تاریخ تولد آنها، غذا، مکان و دسر مورد علاقه آنها ایجاد کنید.

MySQL> CREATE TABLE dinners ( 
MySQL> name varchar(30), 
MySQL> birthdate date,
MySQL> entree varchar(30),
MySQL> side varchar(30),
MySQL> dessert varchar(30) 
MySQL> );

بعد از نوشتن دستورات شما خروجی زیر را مشاهده خواهید کرد :

Query OK, 0 rows affected (0.01 sec)

داده های زیر را در جدولتان وارد کنید :

MySQL> INSERT INTO dinners (name, birthdate, entree, side, dessert) 
MySQL> VALUES ('Dolly', '1946-01-19', 'steak', 'salad', 'cake'), 
MySQL> ('Etta', '1938-01-25', 'chicken', 'fries', 'ice cream'), 
MySQL> ('Irma', '1941-02-18', 'tofu', 'fries', 'cake'), 
MySQL> ('Barbara', '1948-12-25', 'tofu', 'salad', 'ice cream'), 
MySQL> ('Gladys', '1944-05-28', 'steak', 'fries', 'ice cream');

خروجی دستور:

Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0
 

بعد از اینکه دستورات بالا با موفقیت اجرا شدند، شما تنظیمات پایگاه داده خود را انجام داده اید. در قسمت بعد ما از ساختار دستور SELECT در Query ها استفاده میکنیم.

 

تعریف اصطلاح SELECT

همانطور که در مقدمه گفته شد، Query های SQL همیشه با عبارت SELECT شروع می شوند. در Query ها از SELECT برای مشخص کردن این که کدام ستون از جدول در نتیجه نمایش داده شود، استفاده میگردد. تمامی Query ها دارای دستور FROM هستند که توسط آن جدول مورد نظر را نشان میدهد.

بطورکلی Query های SQL از متد زیر استفاده میکنند :

MySQL> SELECT column_to_select FROM table_to_select WHERE certain_conditions_apply;

به عنوان مثال دستور زیر ستون نام در جدول شام را در خروجی نمایش می دهد :

MySQL> SELECT name FROM dinners;
 

 خروجی دستور :

+---------+
| name    |
+---------+
| Dolly   |
| Etta    |
| Irma    |
| Barbara |
| Gladys  |
+---------+
5 rows in set (0.00 sec)
 

همچنین شما میتوانید چند ستون از یک جدول را با جدا کردن نام آنها به وسیله " , " انتخاب کنید :

MySQL> SELECT name, birthdate FROM dinners;
 

خروجی :

+---------+------------+
| name    | birthdate  |
+---------+------------+
| Dolly   | 1946-01-19 |
| Etta    | 1938-01-25 |
| Irma    | 1941-02-18 |
| Barbara | 1948-12-25 |
| Gladys  | 1944-05-28 |
+---------+------------+
5 rows in set (0.00 sec)

در دستور SELECT شما با استفاده از علامت * میتوانید تمامی ستون های جدول را انتخاب کنید و دیگر نیازی به نام بردن تک به تک ستون ها ندارید :

MySQL> SELECT * FROM dinners;

خروجی :

+---------+------+------+------+
| name    | wins | best | size |
+---------+------+------+------+
| Dolly   |    7 |  245 |  8.5 |
| Etta    |    4 |  283 |    9 |
| Irma    |    9 |  266 |    7 |
| Barbara |    2 |  197 |  7.5 |
| Gladys  |   13 |  273 |    8 |
+---------+------+------+------+
5 rows in set (0.00 sec)

دستور WHRER درQuery ها برای انتخاب رکوردهایی که دارای یک شرط خاص هستند، استفاده میشود و ردیف هایی که فاقد آن شرط هستند را در خروجی نمایش نمی دهد.

 

معمولا دستور WHRER  به صورت زیر استفاده میگردد :

MySQL>. . . WHERE column_name comparison_operator value

علامت های مقایسه در WHERE ، ستون انتخاب شده را با مقدار تعیین شده مقایسه میکند . در اینجا بعضی از علامت های معمولی مقایسه در SQL را مشاهده میکنیم :

علامت ها تعریف
= مساوی بودن مقداری را با مقادیر فیلد انتخاب شده بررسی میکند
!= نا مساوی بودن مقداری را با مقادیر فیلد انتخاب شده بررسی میکند
< کوچکتر بودن مقداری را از مقادیر فیلد انتخاب شده بررسی میکند
> بزرگتر بودن مقداری را از مقادیر فیلد انتخاب شده بررسی میکند
<= کوچکتر یا مساوی بودن مقداری را از مقادیر فیلد انتخاب شده بررسی میکند
>= بزرگتر و مساوی بودن مقداری را از مقادیر فیلد انتخاب شده بررسی میکند
BETWEEN قرار گرفتن بین دو مقدار را برسی میکند
IN مساوی بودن با یک مقدار از بین چند مقدار را بررسی میکند
EXISTS بررسی میکند که آیا ردیف مورد نظر وجود دارد یا خیر
LIKE مشابه بودن یک عبارت متنی را با را با مقادیر یک فیلد بررسی میکند
IS NULL برای مشاهده فیلدهای حاوی مقدار NULL استفاده کنید.
IS NOT NULL برای مشاهده فیلد هایی که مقدارشان NULL نیست استفاده می شود

به عنوان مثال اگر شما می خواهید سایز کفش Irma را پیدا کنید، از دستور زیر استفاده میکنیم :

MySQL> SELECT size FROM tourneys WHERE name = 'Irma';

 خروجی :

+------+
| size |
+------+
|    7 |
+------+
1 row in set (0.00 sec)
 

SQL به شما اجازه استفاده از کلمات و علامت های کلیدی مثل (%) و (_) را می دهد که این موضوع در دستور WHERE بسیار مفید می باشد.

 

به عنوان مثال در نظر میگیریم که شما غذای مورد علاقه دوستتان را فراموش کرده اید اما مطمئن هستید که با حرف T شروع می شود. در این صورت از دستور زیر استفاده می کنیم :

MySQL< SELECT entree FROM dinners WHERE entree LIKE 't%';

خروجی :  

+--------+
| entree |
+--------+
| tofu   |
| tofu   |
+--------+
2 rows in set (0.00 sec)

و بر اساس این خروجی متوجه میشویم غذایی که فراموش کرده ایم توفو می باشد.

ممکن است شما در پایگاه داده خود جدول ها یا ستون هایی با نام های طولانی داشته باشید . در این موارد،  شما میتوانید با ایجاد یک نام مستعار توسط دستور AS این نام هارا کوتاه کنید.

البته توجه داشته باشید نام مستعاری که توسط دستور AS تولید شده موقتی است و فقط در طول Query ای که ایجاد کردیم نمایش داده می شود :

MySQL< SELECT name AS n, birthdate AS b, dessert AS d FROM dinners;

خروجی :

+---------+------------+-----------+
| n       | b          | d         |
+---------+------------+-----------+
| Dolly   | 1946-01-19 | cake      |
| Etta    | 1938-01-25 | ice cream |
| Irma    | 1941-02-18 | cake      |
| Barbara | 1948-12-25 | ice cream |
| Gladys  | 1944-05-28 | ice cream |
+---------+------------+-----------+
5 rows in set (0.00 sec)
 

در اینجا ما به پایگاه داده گفته ایم ستون نام را با  n، ستون تاریخ تولد را باb  و ستون دسر را با d نمایش دهد.

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

در پست بعدی به بررسی توابع تجمعی یاaggregate می پردازیم. با ما همراه باشید.

.

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تصویر امنیتی
تصویر امنیتی جدید

ارسال
لغو
JComments

سرور مجازی

  • سرور مجازی امریکا
  • سرور مجازی کانادا
  • سرور مجازی انگلیس
  • سرور مجازی المان
  • سرور مجازی فرانسه
  • سرور مجازی هلند
  • سرور مجازی ایران زیرساخت
  • سرور مجازی ایران آسیاتک
  • سرور مجازی ایران پارس آنلاین
  • سرور مجازی ایران تبیان

هاست

  • هاست رایگان
  • هاست ایران
  • هاست لینوکس
  • هاست سی پنل
  • هاست دانلود
  • هاست ارزان
  • هاست وردپرس
  • هاست جوملا
  • هاست سایت
  • هاست نامحدود

کولوکیشن

  • دیتاسنتر تبیان
  • دیتاسنتر زیر ساخت
  • دیتاسنتر اسیاتک
  • دیتاسنتر نوین هاست
  • دیتاسنتر افرانت
  • دیتاسنتر جایگاه
  • دیتاسنتر شهراد شبکیه
  • دیتاسنتر پارس انلاین

سرور اختصاصی

  • سرور اختصاصی امریکا
  • سرور اختصاصی کانادا
  • سرور اختصاصی انگلیس
  • سرور اختصاصی هلند
  • سرور اختصاصی فرانسه
  • سرور اختصاصی المان
  • سرور اختصاصی ایران تبیان
  • سرور اختصاصی ایران پارس انلاین
  • سرور اختصاصی ایران زیرساخت
  • سرور اختصاصی ایران اسیاتک

ارتباط با ما

  • تهران - بلوار فردوس - خیابان احمدی - پلاک 17 - واحد 30
  •  تلفن : 91070308 -  021  (10خط)
  •  تلفن : 44041877 - 021
  •  admin [at] novinhost.org
  •  تلگرام :   novinhost_org@
  •  کانال تلگرام :   novinhost@
تمام حقوق مادی و معنوی این وب سایت محفوظ و متعلق به نوین هاست می باشد.

FaceBooklinkedinتوییترgoogle+YouTubeinstagramکانال اپارات نوین هاست

بازگشت به بالا