My Sql:

کار با mySQL در محیط cmd:

ابتدا به پوشه bin در پوشه mysql در زمپ میرویم:

cd c:\xampp\mysql\bin

برای اجرای mysql :

mysql -u root -p

root یوزری که میخواهیم با آن وصل شویم است و بعد از زدن اینتر پسورد را وارد میکنیم که دیفالت پسورد ندارد.

برای دیدن دیتابیس های موجود :

show databases;

برای انتخاب یک دیتا بیس کلمه use و اسم دیتا بیس را مینویسیم.

به طور کلی سه روش برای ارتباط با بانک اطلاعاتی پیشنهاد میشود

use myDb;

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

show tables;

برای خروج از mysql:

exit یا  quit

ایجاد یک پایگاه داده :

در اینجا یک دیتابیس به نام test ایجاد میکنیم.

create database test;

ایجاد جدول در دیتابیس:

در اینجا برای نمونه یک جدول به اسم customers شامل 4 ستون ایجاد میکنیم.

    create table customers(
        CID int not null primary key auto_increment,
        fname varchar(30),
        lname varchar(40),
        city varchar(20));

برای مشاهده عناصر جدول:

describe customers;

برای وارد کردن داده درون جدول:

insert into customers 
(cid,fname,lname,city)
value
(100,'ali','ahmadi','shiraz');

برای افزودن چند داده همزمان:

insert into customers 
(fname,lname,city)
value
('reza','rezaee','tehran'),
('sina','alizade','yazd');

select:

واکشی کل اطلاعات یک جدول:

select * from customers;

اضافه کردن ستون به جدول:

alter table customers add(age int);

حذف کردن یک ستون از جدول:

alter table customers drop column age;

واکشی یک مقدار اطلاعات از جدول:

select lname,fname from customers;

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

select fname as FirstName, lname as LastName from customers;

چسباندن چند فیلد جدول به هم:

select concat(fname,' ',lname)as name,city from customers;

برای جلوگیری از تکرار ها میتوان جلو کلمه select عبارت distinct را میگزاریم:

select distanct * from customers;

مرتب کردن بر اساس یک فیلد:

صعودی:

select fname,city from customers order by lname asc;

نزولی:

select fname,city from customers order by lname desc;

where:

کويری های شرطی:

نمایش مشتری هایی که از شهر شیراز هستند:

select * from customers
where city='shiraz';
select lname,city from customers
where city='shiraz' and lname='ahmadi';
select lname,city from customers
where city='shiraz' or lname='rezaee';

جستجو فقط با قسمتی از یک فیلد:

کسانی که فامیلشان با a شروع میشود:

select lname from customers
where lname like'a%';

نمایش اسامی سه حرفی:

select * from customers
where fname like'___';

نمایش تعداد فیلدها:

select count(*) from customers;

update(ویرایش):

ویرایش شهر اقای جعفری:

 update customers 
 set city='kerman'
 where lname='jafari';

کار با فیلدهای عددی:

select * from customers
wwhere CID between 100 and 102;
select * from customers
wwhere CID > 102;

استفاده از توابع تجمعی در sql:

select max(CID) from customers;
select min(CID) from customers;
select sum(CID) from customers;
select avg(CID) from customers;

دسته بندی بر اساس یک فیلد:

نمایش تعداد هر شهر:

select city, count(*) from customers
group by city;

delete(حذف);

حذف یک فیلد:

delete from customers
where cid=104;

حذف یک جدول:

drop table customers;

حذف یک دیتابیس:

drop database test;

نکته:یعضی مواقع ممکن است برای حذف یک دیتا بیس نیاز باشد که از آن خارج شویم سپس حذف کنیم.

به دو روش میتوان پایگاه داده ایجاد کرد یکی از طریق برنامه گرافیکی مانند php My Admin و دیگری از طریق کد.

mysql

این روش منسوخ شده است و فقط تا ورژن 5.6 پشتیبانی میشود.

در این روش یک خط کد به دیتابیس کانکت میشویم و در خط دیگر ارتباط را میبندیم و دستورات ما بین این دو خط قرار میگیرند

ساختار

mysql_connect(host,username,password);
        mysql_select_db('database');

مثال:

$cn = mysql_connect("example.com","user","pass");
mysql_select_db('db');

$query = "SELECT * FROM `users` WHERE `user` = 'user2'";
$results = mysql_query($query);
$counter = 0;
while($row = mysql_fetch_assoc($results)) {
    $counter++;
    echo "User #$counter:<br>";
    var_dump($row);
    echo '<br>';
}


mysql_close($cn);
        

ساخت فایل دیتا بیس:

از تابع ()Mysql_create_db برای ساخت پایگاه داده استفاده می کنیم. معمولا، پایگاه داده را در برنامه استفاده کرده و شامل یک یا چند جدول می باشد.

<?                                                         
    $continued = ‎mysql_connect("localhost","root","admin");‎
    if($continued){‎
        echo("Connection is ‎succeed");‎
    }else{‎
        echo("Connection is ‎fail");‎
    }‎
    $sql = ‎mysql_create_db("data_root");‎
    if($sql){‎
        echo("Database data_root succeeds in ‎making");‎
    }else{‎
        echo("Database data_root fails in ‎making");‎
    }
?>

ساخت جدول table

$sql = "CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
    

در این آموزش فرض رو بر این بگیرید که یک پایگاه داده با نام test داریم که دارای یک جدول با نام mytable هست و این جدول ۳ فیلد با نام های name ، id و email دارد.
برای خواندن اطلاعات از پایگاه داده ابتدا شما باید یک دستور sql بنویسید ، در زبان sql برای خواندن اطلاعات از پایگاه داده از دستور select استفاده می شود.

; شرط WHERE نام جدول FROM نام فیلدهای مورد نظر SELECT

بعد از دستور select باید نام فیلدهایی که می خواهید انتخاب کنید رو بنویسید و اگر قصد انتخاب همه فیلدها رو دارید می تونید از کاراکتر * استفاده کنید .
همچنین برای انتخاب اطلاعات یک قسمت از جدول باید از دستور where استفاده کنید و بعد از آن شرط مورد نظرتون رو بنویسید .

SELECT * FROM mytable WHERE id >10;
SELECT name,email FROM mytable;

ابتدا با پایگاه داده ارتباط برقرار می کنیم و سپسس دیتابیس خودمون رو انتخاب می کنیم .

$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);

سپس در داخل متغیر query کوئری خود رو مینویسیم و با استفاده از mysql_query آن را اجرا می کنیم.

$query="SELECT * FROM mytable";
$select=mysql_query($query);

حالا باید از حلقه ها برای خواندن اطلاعات به همراه یکی از دستورات زیر استفاده کنیم.

mysql_fetch_row : این تابع اطلاعات انتخاب شده رو به صورت یک آرایه عددی بر می گرداند.
mysql_fetch_assoc : این تابع اطلاعات انتخاب شده رو به صورت یک آرایه انجمنی بر می گرداند.
mysql_fetch_array : آرایه ای را بر می گرداند که هم به صورت انجمنی است و هم عددی .
mysql_fetch_object : این تابع هم اطلاعات انتخاب شده رو به صورت یک شی بر می گرداند .

هر چهار تابع بالا نتیجه کوئری اجرا شده( متغیر select ) رو به عنوان پارامتر دریافت می کنند.

while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'<br>';
}

در این جا از یک حلقه while استفاده کردیم و این حلقه تا زمانی که متغیر row دارای مقدار باشد اجرا می شود.
اگر از تابع mysql_fetch_object استفاده کنید برای دسترسی به اطلاعات باید به شکل زیر عمل نمایید

while($row=mysql_fetch_object($select)){
echo $row->id.' - '.$row->name.' - '.$row->email.'<br>';
}

در آخر هم ارتباط ایجاد شده با پایگاه داده را قطع می کنیم.

mysql_close($con);

کد کامل :

$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);
$query="SELECT * FROM mytable";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'<br>';
}
mysql_close($con);