اطلاعیه

بستن
No announcement yet.

15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده

    1. چگونه می خواهید چک کنید که سرویس MySQL در حال اجرا شدن است؟

    جواب : با استفاده از دستور “service mysql status” در دبیان و دستور “service mysqld status” در ردهت می توان این کار را انجام داد.
    کد:
    root@localhost:/home/avi# service mysql status
     
    /usr/bin/mysqladmin  Ver 8.42 Distrib 5.1.72, for debian-linux-gnu on i486
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
     
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
     
    Server version 5.1.72-2
    Protocol version 10
    Connection Localhost via UNIX socket
    UNIX socket /var/run/mysqld/mysqld.sock
    Uptime: 1 hour 22 min 49 sec
     
    Threads: 1  Questions: 112138  Slow queries: 1  Opens: 1485  Flush tables: 1  Open tables: 64  Queries per second avg: 22.567.


    2. در صورتی که سرویس شما در حال اجرا ست چطور شما می توانید سرویس را stop کنید و سپس آنرا start کنید؟

    جواب : برای start کردن سرویس mysql، از دستور service mysqld start استفاده کنید و برای متوقف کردن سرویس از دستور service mysqld stop استفاده کنید.
    کد:
    root@localhost:/home/avi# service mysql stop
     
    Stopping MySQL database server: mysqld.
     
    root@localhost:/home/avi# service mysql start
     
    Starting MySQL database server: mysqld.
     
    Checking for corrupt, not cleanly closed and upgrade needing tables..


    3. شما چگونه می توانید از خط فرمان لینوکس یا همان shell به mysql لاگین کنید؟

    جواب : جهت کانکت شدن و یا لاگین به mysql از دستور mysql –u root –p استفاده کنید.
    کد:
    root@localhost:/home/avi# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 207
    Server version: 5.1.72-2 (Debian)
     
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
     
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
     
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
     
    mysql>


    4. چگونه شما می توانید لیستی از تمام دیتابیس ها را بدست آورید؟

    جواب : برای بدست آوردن لیست تمام دیتابیس های در حال اجرا برروی mysql shell از دستور show databases; استفاده کنید.
    کد:
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | a1                 |
    | cloud              |
    | mysql              |
    | phpmyadmin         |
    | playsms            |
    | sisso              |
    | test               |
    | ukolovnik          |
    | wordpress          |
    +--------------------+
    10 rows in set (0.14 sec)


    5. چطور می توانید به یک دیتابیس سوئیچ کنید و با آن کارکنید؟

    جواب : برای استفاده و یا سوئیچ کردن به یک دیتابیس از دستور use database_name; استفاده کنید.
    کد:
    mysql> use cloud;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Database changed
    mysql>


    6. چطور می توانید لیستی از جداول موجود در دیتابیس را بدست آورید؟

    جواب : برای بدست آوردن لیستی از جداول از دستور show tables; در محیط mysql استفاده کنید.
    کد:
    mysql> show tables;
    +----------------------------+
    | Tables_in_cloud            |
    +----------------------------+
    | oc_appconfig               |
    | oc_calendar_calendars      |
    | oc_calendar_objects        |
    | oc_calendar_repeat         |
    | oc_calendar_share_calendar |
    | oc_calendar_share_event    |
    | oc_contacts_addressbooks   |
    | oc_contacts_cards          |
    | oc_fscache                 |
    | oc_gallery_sharing         |
    +----------------------------+
    10 rows in set (0.00 sec)


    7. چگونه می توانید نام فیلدها و نوع جدول mysql را بدست آورید؟

    جواب : برای بدست آوردن نام فیلدها و نوع جدول mysql از دستور describe table_name; استفاده کنید.
    کد:
    mysql> describe habiliuser;
    +---------------------------+----------------------+------+-----+------------+----------------+
    | Field                     | Type                 | Null | Key | Default    | Extra          |
    +---------------------------+----------------------+------+-----+------------+----------------+
    | userid                    | int(10) unsigned     | NO   | PRI | NULL       | auto_increment |
    | usergroupid               | smallint(5) unsigned | NO   | MUL | 0          |                |
    | membergroupids            | char(250)            | NO   |     |            |                |
    | displaygroupid            | smallint(5) unsigned | NO   |     | 0          |                |
    | username                  | varchar(100)         | NO   | MUL |            |                |
    | password                  | char(32)             | NO   |     |            |                |
    | passworddate              | date                 | NO   |     | 0000-00-00 |                |


    8. چگونه می توانید یک جدول را حذف کنید؟

    جواب : برای حذف یک جدول خاص از دستور drop table table_name; درمحیط mysql استفاده کنید.
    کد:
    mysql> drop table lookup;
     
    Query OK, 0 rows affected (0.00 sec)


    9. در مورد دیتابیس چطور؟ چگونه می توانید یک دیتابیس را حذف کنید؟

    جواب : برای حذف یک دیتابیس خاص از دستور drop database database_name; استفاده کنید.
    کد:
    mysql> drop database a1;
     
    Query OK, 11 rows affected (0.07 sec)


    10. چگونه می توانید محتوای یک جدول را مشاهده کنید؟

    جواب : برای نمایش محتوای یک جدول خاص می توانید از دستور select *from table_name; در محیط mysql استفاده کنید.
    کد:
    mysql> select * from engines;
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | ENGINE     | SUPPORT | COMMENT                                                        | TRANSACTIONS | XA   | SAVEPOINTS |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    | ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    8 rows in set (0.00 sec)


    11. چگونه شما می توانید تمام داده های یک فیلد مثلا uid را از یک جدول مانند oc_users مشاهده کنید؟

    جواب : برای مشاهده ی داده های یک فیلد از یک جدول از دستور select uid from oc_users; استفاده کنید.
    کد:
    mysql> select uid from oc_users;
    +-----+
    | uid |
    +-----+
    | avi |
    +-----+
    1 row in set (0.03 sec)


    12. فرض کنید که شما یک جدول به نام xyz دارید، که شامل چندین فیلد به نام های create_time و engine است. فیلد engine با دونوع داده ی Memory و MyIsam پر شده است. چگونه شما می توانید تنها create_time و engine را از جدول استخراج کنید که engine آن Mylsam باشد؟

    جواب : از دستور select create_time, engine from xyz where engine=”MyIsam”; در محیط mysql استفاده کنید.
    کد:
    12. mysql> select create_time, engine from xyz where engine="MyIsam";
     
    +---------------------+--------+
    | create_time         | engine |
    +---------------------+--------+
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-12-15 13:43:27 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    | 2013-10-23 14:56:38 | MyISAM |
    +---------------------+--------+
    132 rows in set (0.29 sec)


    13. چگونه می توانید تمام رکورد ها را از جدول xrt نشان دهید به طوریکه name آن برابر با tecmint و web_address آن برابر با tecmint.com باشد؟

    جواب : از دستور زیر استفاده کنید:
    کد:
    select * from xrt where name = “tecmint” and web_address = “tecmint.com”;
    
    mysql> select  * from xrt where name = "tecmint" and web_address = “tecmint.com”;
    +---------------+---------------------+---------------+
    | Id                  | name                   | web_address |
    +---------------+---------------------+----------------+
    | 13                 |  tecmint               | tecmint.com  |
    +---------------+---------------------+----------------+
    | 41                 |  tecmint               | tecmint.com  |
    +---------------+---------------------+----------------+


    14. چگونه می توانید تمام رکوردها را از جدول xrt نشان دهید بطوریکه name برابر با tecmint نباشد و web_address برابر با tecmint.com باشد؟

    جواب : از دستور زیر برای این هدف استفاده کنید: select * from xrt where name != “tecmint” and web_address = “tecmint.com”;
    کد:
    mysql> select * from xrt where name != ”tecmint” and web_address = ”tecmint.com”;
     
    +---------------+---------------------+---------------+
    | Id            | name                | web_address   |
    +---------------+---------------------+----------------+
    | 1173          |  tecmint            | tecmint.com   |
    +---------------+---------------------+----------------+


    15. شما نیاز دارید مجموع ردیف های ورودی در یک جدول را بدانید. چگونه آنرا بدست می آورید؟

    جواب : از دستور زیر در mysql استفاده کنید:
    کد:
    mysql> select count(*) from Tables;
     
    +----------+
    | count(*) |
    +----------+
    |      282 |
    +----------+
    1 row in set (0.01 sec)

    همچنین توصیه میشود مطالعه کنید :

    سری آموزش های MySQL/MariaDB


    موفق باشید ...
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-09-2021, 02:22 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X