اطلاعیه

بستن
هنوز اعلام نشده است.

آموزش دستورات پایه ای MySQL - بخش 1

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

  • آموزش دستورات پایه ای MySQL - بخش 1

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

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


    پایگاه داده ها اغلب فرایندهای بک اند نامیده می شوند، به دلیل اینکه آن برای کاربران نهایی قابل رویت نیست و کاربران نهایی به طور مستقیم با پایگاه داده در ارتباط نیستند.آنها برروی فرایند های فرونت اند یعنی PHP،VB،ASP.NET، و ...کار می کنند .

    چندین پایگاه داده ی سرور و کلاینت همانند Oracle،MySQL،MySQLi،MariaDB،MongoDB وجود دارد. سینتکس تمام این پایگاه داده ها کم و بیش شبیه هم است. اگر بر یکی از آنها تسط داشته باشید به این معنی است که می توانید بیشتر آنها را کنترل کنید و همچنین query گرفتن از پایگاه داده ها برایتان خیلی ساده و جذاب خواهد شد.
    بیایید با کوئری های ساده شروع کنیم. ما از پایگاه داده Mysql استفاده خواهیم کرد که همراه اکثر توزیع های لینوکسی است و شما می توانید آنرا از طریق ریپوزیتوری نصب کنید.
    خوب، یک query پایگاه داده یک قطعه کد ساده است ، که برای بدست آوردن نتیجه های سفارشی به پایگاه داده ارسال می شود.

    همچنین پیشنهاد میشود مقالات زیر را در مورد MySQL/MariaDB مطالعه کنید.

    آموزش نصب MySQL 5.7.9 در RedHat/CentOS 7-6-5 و Fedora 21-23
    20 نمونه از دستورات MySQL (Mysqladmin) برای مدیریت دیتابیس در Linux
    آموزش دستورات MySQL (بخش اول)
    آموزش دستورات MySQL (بخش دوم به زودی)
    آموزش کار با MySQL
    15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده
    آموزش دستورات Select در MySQL
    دستورات بک آپ گیری و ریستور دیتابیس MySQL در لینوکس
    نحوه تغییر پسورد Root دیتابیس MySQL یا MariaDB در Linux
    نحوه ریکاوری/ریست پسورد Root در MySQL یا MariaDB در Linux
    نحوه اجرای مستقیم دستورات MySQL در ترمینال لینوکس
    پیدا کردن مسیر فایل های ( my.cnf - http.conf / apache2.conf - php.ini ) در لینوکس
    فعال کردن قابلیت Auto completion و Syntax highlighting در MySQL/MariaDB
    تغییر مسیر Defualt ذخیره دیتای MySQL در لینوکس
    نکات حیاتی کلاستر کردن دیتابیس MySQL
    15 نکته مفید برای بهینه سازی و بهبود عملکرد دیتابیس MySQL/MariaDB در Linux (به زودی)
    4 ابزار Commandline برای مانیتور کردن کارایی یا عملکرد دیتابیس MySQL در Linux (به زودی)


    نصب پایگاه داده MySQL
    از پکیج منجر yum یا apt برای نصب Mysql استفاده کنید.
    کد:
     
    # yum install mysql mysql-client mysql-server (on Yum based Systems) # apt-get install mysql mysql-client mysql-server (on Apt based Systems)
    شروع Mysql
    سرویس Mysql را استارت کنید:
    کد:
      
    
    # service mysqld start
    or
    # service mysql start
    ما در اینجا نصب پایگاه داده Mysql و پیکر بندی آنرا به شما خواهیم گفت که در آن پسورد admin را از شما خواهد خواست. هنگامیکه نصب سرور شما به پایان رسید mysql را شروع کنید.
    کد:
    # mysql -u root -p

    نام root را با نام کاربری خود جایگزین کنید و پسوردتان را وارد کنید، پس از لاگین شما prompt مای اسکیوال را به صورت چشمک زن خواهید دید.
    کد:
      
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    
    Your MySQL connection id is 195
    
    Server version: 5.5.31-0+wheezy1 (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>
    ایجاد پایگاه داده tecmint

    کد:
    
    mysql> create database tecmint ;
    Query OK, 1 row affected (0.02 sec)
    
    mysql>
    توجه:آن به شما می گوید که query شما درست است، و دیتابیس ایجاد شده است، و می توانید دیتابیس جدید را تغییر دهید.
    کد:
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | tecmint            |
    | test               |
    +--------------------+
    9 rows in set (0.00 sec)
    mysql>
    توجه: دقت کنید که دیتابیس شما در خروجی باشد.

    انتخاب پایگاه داده
    حالا شما نیاز دارید که دیتابیس را برای کار کردن برروی آن انتخاب کنید.
    کد:
    
    mysql> use tecmint;
    Database changed
    mysql>
    ایجاد جداول در پایگاه داده Mysql
    دراینجا ما یک جدول با سه فیلد به نام minttec ایجاد کرده ایم.
    کد:
      
    
    mysql> CREATE TABLE minttec (
        -> id Int(3),
        -> first_name Varchar (15),
        -> email Varchar(20)
        -> );
    Query OK, 0 rows affected (0.08 sec)
    mysql>
    توجه: query بالا می گوید که OK شده است و بدون هیچ خطایی اجرا شده است. برای بررسی جدول quey زیر را اجرا کنید.
    کد:
    
    mysql> show tables;
    +-------------------+
    | Tables_in_tecmint |
    +-------------------+
    | minttec           |
    +-------------------+
    
    1 row in set (0.00 sec)
    
    mysql>
    شما می توانید ستون های جدول را با دستور زیر مشاهده کنید.
    کد:
      
    
    mysql> show columns from minttec;
    
    +------------+-------------+------+-----+---------+-------+
    | Field      | Type        | Null | Key | Default | Extra |
    +------------+-------------+------+-----+---------+-------+
    | id         | int(3)      | YES  |     | NULL    |       |
    | first_name | varchar(15) | YES  |     | NULL    |       |
    | email      | varchar(20) | YES  |     | NULL    |       |
    +------------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    mysql>
    تا حالا این دستورات تااینجا کمتر از جادو نبود. به هر حال من می خواهم شما انواع اعلان ها و مفهوم آنها را یاد بگیرید.
    Int یک integer است.
    Varcharمتغیریchar با طول تعریف شده است،مقدار بعد از تایپ ،طولی است که ذخیره می شود.

    خوب حالا ما نیاز داریم که یک ستون به نام last_name را بعد ازfirst_name اضافه کنیم.
    کد:
      
    
    mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name;
    Query OK, 0 rows affected (0.16 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    حالا جدول خود بررسی کنید.
    کد:
    
    mysql> show columns from minttec;
    
    +------------+-------------+------+-----+---------+-------+
    | Field      | Type        | Null | Key | Default | Extra |
    +------------+-------------+------+-----+---------+-------+
    | id         | int(3)      | YES  |     | NULL    |       |
    | first_name | varchar(15) | YES  |     | NULL    |       |
    | last_name  | varchar(20) | YES  |     | NULL    |       |
    | email      | varchar(20) | YES  |     | NULL    |       |
    +------------+-------------+------+-----+---------+-------+
    
    4 rows in set (0.00 sec)
    
    mysql>
    اضافه کردن ستون در Mysql
    حالا ما می خواهیم یک ستون به سمت راست email به نام country اضافه کنیم.
    کد:
      
    
    mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email;
    Query OK, 0 rows affected (0.16 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql>
    پس از وارد کردن query بالا جدول خود را بازبینی کنید.
    کد:
      
    
    mysql> show columns from minttec;
    
    +------------+-------------+------+-----+---------+-------+
    | Field      | Type        | Null | Key | Default | Extra |
    +------------+-------------+------+-----+---------+-------+
    | id         | int(3)      | YES  |     | NULL    |       |
    | first_name | varchar(15) | YES  |     | NULL    |       |
    | last_name  | varchar(20) | YES  |     | NULL    |       |
    | email      | varchar(20) | YES  |     | NULL    |       |
    | country    | varchar(15) | YES  |     | NULL    |       |
    +------------+-------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)
    
    mysql>
    وارد کردن مقدار در فیلد
    وارد کردن مقدار در فیلد چیست؟
    کد:
      
    
    mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , 'raivsaive@xyz.com' , 'India' );
    Query OK, 1 row affected (0.02 sec)
    
    mysql>
    نحوه ی وارد کردن بیش از یک مقدار در یک جدول به صورت همزمان به صورت زیر است.
    کد:
      
    
    mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , 'narad@xyz.com' , 'India' ), ('3' , 'user' , 'singh' , 'user@xyz.com' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , 'tecmint@gmail.com' , 'India' );
    Query OK, 3 rows affected (0.05 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    ورودی های خود را به صورت زیر بازبینی کنید.
    کد:
      
    
    mysql> select * from minttec;
    +------+------------+-----------+-------------------+---------+
    | id   | first_name | last_name | email             | country |
    +------+------------+-----------+-------------------+---------+
    |    1 | Ravi      | Saive     | raivsaive@xyz.com | India   |
    |    2 | Narad      | Shrestha  | narad@xyz.com     | India   |
    |    3 | user       | singh     | user@xyz.com      | Aus     |
    |    4 | tecmint    | [dot]com  | tecmint@gmail.com | India   |
    +------+------------+-----------+-------------------+---------+
    
    4 rows in set (0.00 sec)
    
    mysql>
    حذف مقدار از فیلد
    می خواهیم سومین ردیف از جدول را حذف کنیم.
    کد:
    
    mysql> DELETE FROM minttec WHERE id = 3;
    
    Query OK, 1 row affected (0.02 sec)
    به صورت زیر بازبینی کنید.

    کد:
    
    mysql> select * from minttec;
    
    +------+------------+-----------+-------------------+---------+
    | id   | first_name | last_name | email             | country |
    +------+------------+-----------+-------------------+---------+
    |    1 | Ravi       | Saive     | raivsaive@xyz.com | India   |
    |    2 | Narad      | Shrestha  | narad@xyz.com     | India   |
    |    4 | tecmint    | [dot]com  | tecmint@gmail.com | India   |
    +------+------------+-----------+-------------------+---------+
    3 rows in set (0.00 sec)
    بروزرسانی مقدار در فیلد
    می خواهیم فیلد id=4 را ویرایش کنیم.
    کد:
    
    mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint';
    Query OK, 1 row affected (0.02 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql>
    query بالا را بازبینی کنید.
    کد:
    
    mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint';
    Query OK, 1 row affected (0.02 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql>
    توجه:query بالا ایده ی خوبی نیست . به دلیل اینکه آن id را هرجایی که first name ،tecmint باشد، تغییر می دهد، بهتر است که همیشه از دو شرط استفاده کنیم.
    کد:
    
    mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com';
    Query OK, 1 row affected (0.03 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql>
    حذف ستون در Mysql
    می خواهیم ستون country را از جدول حذف کنیم.
    کد:
    
    mysql> ALTER TABLE minttec drop country;
    Query OK, 3 rows affected (0.15 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    mysql>
    جدول را بازبینی کنید.
    کد:
    
    mysql> select * from minttec;
    
    +------+------------+-----------+-------------------+
    | id   | first_name | last_name | email             |
    +------+------------+-----------+-------------------+
    |    1 | Ravi       | Saive     | raivsaive@xyz.com |
    |    2 | Narad      | Shrestha  | narad@xyz.com     |
    |    6 | tecmint    | [dot]com  | tecmint@gmail.com |
    +------+------------+-----------+-------------------+
    3 rows in set (0.00 sec)
    
    mysql>
    تغییر نام جدول در Mysql
    اگر فکر می کنید که نام جدول minttec خیلی مرتبط به کار شما نیست، می توانید به tecmint_table تغییر دهید.
    کد:
    
    mysql> RENAME TABLE minttec TO tecmint_table;
    Query OK, 0 rows affected (0.03 sec)
    
    mysql>
    لیست کردن تمام جداول
    تمامی جداول دیتابیس جاری را با استفاده از دستور زیر ببینید.
    کد:
      
    
    mysql> show tables;
    
    +-------------------+
    | Tables_in_tecmint |
    +-------------------+
    | tecmint_table     |
    +-------------------+
    1 row in set (0.00 sec)
    
    mysql>
    جدول تغییر نام داده شده است. حالا یک پشتیبان از دیتابیس خود با استفاده از هر ابزاری که می خواهید بگیرید. دستور زیر را برا ی این کار اجرا کنید.
    کد:
    # mysqldump -u root -p tecmint > tecmint.sql
    
    check the dumped file on your desktop which would have contents something like
    -- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
    -- Server version 5.5.31-0+wheezy1 --
    Dump completed on 2013-09-02 12:55:37
    پشتیبان گیری ازپایگاه داده ی Mysql همیشه ایده ی خوبی است.بازیابی داده های Mysql نیز کار ساده ای است و با یک خط دستور انجام می شود.
    اما،صبر کنید، ما ابتدا دیتابیس را حذف خواهیم کرد و سپس بازیابی می کنیم.


    حذف یک پایگاه داده

    کد:
    mysql> drop database tecmint;
    Query OK, 1 row affected (0.02 sec
    )پایگاه داده tecmint را در سرور خود بازبینی کنید.
    کد:
      
    
    mysql> show databases;
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | my_database        |
    | mysql              |
    | performance_schema |
    | phpmyadmin         |
    | sisso              |
    | test               |
    +--------------------+
    
    7 rows in set (0.00 sec)
    mysql>
    عالیه! دیتابیس از دست رفت. اما ما نباید نگران باشیم به دلیل اینکه ما از قبل پشتیبان گیری کرده ایم.
    بازیابی پایگاه داده
    برای بازیابی پایگاه داده ی از دست رفته ، دستور زیر را اجرا کنید.
    کد:
      
    
    # mysql -u root -p tecmint < tecmint.sql
    Enter password:
    ERROR 1049 (42000): Unknown database 'tecmint'
    خطای بالا می گوید که ما دیتابیس tecmint را نداریم،بنابراین ما باید دیتابیس tecmint را ایجاد کنیم.
    کد:
      
    
    mysql> create database tecmint;
    Query OK, 1 row affected (0.00 sec)
    
    mysql>
    حالا می توانیم دستور بازیابی را مجددا اجرا کنیم.
    کد:
    # mysql -u root -p tecmint < tecmint.sql
    Enter password
    پایگاه داده خود را بازبینی کنید.
    کد:
    
    mysql> show databases;
    
    
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | tecmint            |
    | test               |
    +--------------------+
    8 rows in set (0.00 sec)
    محتوای پایگاه داده خود را نیز بازبینی کنید.
    کد:
      
    
    mysql> show tables from tecmint;
    
    +-------------------+
    | Tables_in_tecmint |
    +-------------------+
    | tecmint_table     |
    +-------------------+
    1 row in set (0.00 sec)
    
    mysql>
    همچنین محتوای جدول بازیابی شده خود را نیز ببینید.
    کد:
      
    
    mysql> select * from tecmint_table;
    
    
    +------+------------+-----------+-------------------+
    | id   | first_name | last_name | email             |
    +------+------------+-----------+-------------------+
    |    1 | Ravi       | Saive     | raivsaive@xyz.com |
    |    2 | Narad      | Shrestha  | narad@xyz.com     |
    |    6 | tecmint    | [dot]com  | tecmint@gmail.com |
    +------+------------+-----------+-------------------+
    
    3 rows in set (0.00 sec)
    قطعا این مقاله به اتمام نرسیده است، ما قصد داریم مفاهیم کلید اصلی ، کلید خارجی و اجرای query ها را با استفاده از اسکریپت های ساده PHP در مقاله های بعدی پوشش دهیم.
    ویرایش توسط Habili : http://linux-zone.org/forums/member/5-habili در ساعت 07-06-2018, 08:52 PM

  • #2
    با تشکر از شما واسه آموزشهای کامل و خوبتون

    نظر


    • #3
      http://www.tahlildadeh.com/CourseDet...D8%B4-mvc.aspx

      نظر


      • #4
        بسیار مفید بود ممنون دوست گرامی !


        http://new.bookletdownload.com/

        نظر

        پردازش ...
        X