📌 آموزش عملی MySQL
🎯 اهداف یادگیری
- نصب و راهاندازی MySQL
- اتصال به سرور MySQL
- ایجاد اولین دیتابیس و جدول
- آشنایی با محیط کار MySQL
- اجرای اولین دستورات SQL
📌 نصب MySQL
برای شروع کار با MySQL، ابتدا باید آن را نصب کنید:
# نصب MySQL در اوبونتو/دبیانsudo apt updatesudo apt install mysql-server# نصب MySQL در CentOS/RHELsudo yum install mysql-server# نصب MySQL در macOS با Homebrewbrew install mysql
💡 روشهای نصب MySQL
۱. نصب روی ویندوز
- از سایت رسمی MySQL Installer را دانلود کنید
- فایل نصبی را اجرا و MySQL Server را انتخاب کنید
- مراحل نصب را دنبال و پسورد root را تنظیم کنید
- MySQL Workbench را نیز نصب کنید (اختیاری اما توصیه میشود)
۲. نصب روی لینوکس (Ubuntu/Debian)
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
۳. استفاده از XAMPP/WAMP
برای توسعه وب، میتوانید از پکیجهای همهدریک استفاده کنید:
- XAMPP (برای ویندوز، لینوکس، macOS)
- WAMP (فقط ویندوز)
- MAMP (برای macOS)
🔒 نکته امنیتی مهم:
بعد از نصب حتماً دستور mysql_secure_installation
را اجرا کنید تا تنظیمات امنیتی اولیه اعمال شوند.
📌 راهاندازی سرویس MySQL
پس از نصب، سرویس MySQL را راهاندازی کنید:
# راهاندازی سرویس MySQLsudo systemctl start mysql# فعالسازی سرویس برای راهاندازی خودکارsudo systemctl enable mysql# بررسی وضعیت سرویسsudo systemctl status mysql
📌 اتصال به MySQL
پس از راهاندازی، میتوانید به سرور MySQL متصل شوید:
# اتصال به سرور MySQLmysql -u root -p# پس از اجرای دستور بالا، پسورد خواسته میشودEnter password: your_password
🔌 روشهای مختلف اتصال به MySQL
۱. خط فرمان (Command Line)
سادهترین روش برای مدیریت دیتابیس:
mysql -h hostname -u username -p
پارامترها:
-h
: نام هاست یا آدرس سرور (پیشفرض: localhost)-u
: نام کاربری (پیشفرض: root)-p
: درخواست پسورد (اختیاری اما توصیه میشود)
۲. ابزارهای گرافیکی (GUI)
برای مدیریت راحتتر با رابط کاربری:
- MySQL Workbench (رسمی - توصیه شده)
- phpMyAdmin (وببیس - برای هاستینگ)
- HeidiSQL (ویندوز)
- DBeaver (چندپلتفرمی)
۳. اتصال برنامهنویسی
اتصال از طریق زبانهای برنامهنویسی:
- PHP: mysqli یا PDO
- Python: mysql-connector-python
- Java: JDBC Driver
- Node.js: mysql2 package
📌 اولین دستورات MySQL
پس از اتصال، اولین دستورات را امتحان کنید:
-- نمایش تمام دیتابیسهاSHOW DATABASES;-- ایجاد دیتابیس جدیدCREATE DATABASE my_first_db;-- استفاده از دیتابیسUSE my_first_db;-- نمایش جداول دیتابیسSHOW TABLES;
🔍 درک دستورات اولیه MySQL
SHOW DATABASES
لیست تمام دیتابیسهای موجود در سرور را نمایش میدهد:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
CREATE DATABASE
یک دیتابیس جدید ایجاد میکند:
CREATE DATABASE database_name;
نکات:
- نام دیتابیس باید یکتا باشد
- از کاراکترهای مجاز استفاده کنید
- به حروف بزرگ و کوچک حساس نیست
USE
دیتابیس فعال برای کار را انتخاب میکند:
USE database_name;
تمام دستورات بعدی روی این دیتابیس اجرا میشوند.
📌 ایجاد اولین جدول
حالا اولین جدول خود را ایجاد کنید:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);-- نمایش ساختار جدولDESCRIBE users;
🏗️ ساختار ایجاد جدول در MySQL
انواع دادههای رایج:
- INT: اعداد صحیح (مثلاً 1, 2, 3)
- VARCHAR(n): رشته متنی با طول متغیر (مثلاً "علی")
- TIMESTAMP: تاریخ و زمان (مثلاً 2023-12-20 10:30:00)
- DATE: فقط تاریخ (مثلاً 2023-12-20)
- DECIMAL(m,n): اعداد اعشاری دقیق (مثلاً 123.45)
قیدهای (Constraints) رایج:
- PRIMARY KEY: شناسه یکتا برای هر رکورد
- AUTO_INCREMENT: افزایش خودکار مقدار
- NOT NULL: اجبار به داشتن مقدار
- UNIQUE: مقدار یکتا در کل جدول
- DEFAULT: مقدار پیشفرض
DESCRIBE table_name
ساختار جدول را نمایش میدهد:
+------------+--------------+------+-----+-------------------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+-------------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| first_name | varchar(50) | NO | | NULL | |
| last_name | varchar(50) | NO | | NULL | |
| email | varchar(100) | YES | UNI | NULL | |
| age | int(11) | YES | | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+------------+--------------+------+-----+-------------------+-------------------+
📌 درج داده اولیه
حالا دادههای نمونه به جدول اضافه کنید:
-- درج یک رکوردINSERT INTO users (first_name, last_name, email, age)VALUES ('علی', 'رضایی', 'ali@example.com', 25);-- درج چند رکورد به صورت همزمانINSERT INTO users (first_name, last_name, email, age)VALUES('فاطمه', 'محمدی', 'fatemeh@example.com', 30),('محمد', 'احمدی', 'mohammad@example.com', 22);-- مشاهده دادههای درج شدهSELECT * FROM users;
📌 مدیریت دیتابیسها و جداول
دستورات مفید برای مدیریت دیتابیس و جدول:
-- تغییر نام جدولALTER TABLE users RENAME TO customers;-- اضافه کردن ستون جدیدALTER TABLE users ADD phone VARCHAR(15);-- حذف جدول<极 style="color: #C586C0;">DROP TABLE users;-- حذف دیتابیسDROP DATABASE my_first_db;
📌 خروج از MySQL
برای خروج از محیط MySQL:
-- خروج از MySQLEXIT;-- یاQUIT;-- یا کلیدهای Ctrl + D
📌 تمرین عملی
یک دیتابیس برای وبلاگ ایجاد کنید:
-- ایجاد دیتابیس وبلاگCREATE DATABASE blog_db;USE blog_db;-- ایجاد جدول کاربرانCREATE TABLE users ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, email <极 style="color: #4EC9B0;">VARCHAR(100) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);-- ایجاد جدول پستهاCREATE TABLE posts ( post_id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL, content TEXT, user_id INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(user_id));
راهنمای تمرین:
- دیتابیس blog_db را ایجاد کنید
- جدول users و posts را بسازید
- دادههای نمونه به هر جدول اضافه کنید
- ساختار جدولها را با DESCRIBE بررسی کنید
- دادهها را با SELECT مشاهده کنید
📌 عیبیابی مشکلات رایج
# اگر MySQL شروع نمیشود:sudo systemctl restart mysqlsudo journalctl -u mysql.service# اگر پسورد root را فراموش کردید:sudo mysql --defaults-file=/etc/mysql/debian.cnfALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
📌 قدم بعدی
در درس بعدی با دستورات CRUD پیشرفته در MySQL آشنا خواهیم شد!