ابتدا به پوشه 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 * 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;
کويری های شرطی:
نمایش مشتری هایی که از شهر شیراز هستند:
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 customers set city='kerman' where lname='jafari';
select * from customers wwhere CID between 100 and 102;
select * from customers wwhere CID > 102;
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 from customers where cid=104;
drop table customers;
drop database test;
نکته:یعضی مواقع ممکن است برای حذف یک دیتا بیس نیاز باشد که از آن خارج شویم سپس حذف کنیم.
این روش منسوخ شده است و فقط تا ورژن 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"); } ?>
$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);