خانه / آموزش برنامه نویسی وب / آموزش مختصر و سریع MYSQL

آموزش مختصر و سریع MYSQL

My_SQL

در این قسمت به طور خیلی مختصر و مفید مطالبی درباره MySQL شرح داده شده است.

Mysqlپرطرفدارترین سیستم پایگاه داده متن باز است.

Mysqlچیست؟

سیستم پایگاه داده متن باز

مانند بیشتر سیستم های مدیریت پایگاه داده مدرن مبتنی بر مدل رابطه ای،RDBMS، است.

روی لینوکس، ویندوز،Netware،AIXو غیره اجرا می شود.

با زبانهایی مانندPHPبه اسانی در دسترس است.

چراMysql؟

پایگاه داده متن باز است.

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

سهولت استفاده

دسترس پذیری زیاد(high-availability)

طراحی برنامه جامع

سهولت مدیریت

هزینه خیلی پایین خرید

نحوه دریافت

برای دانلود به سایت رسمی انmysql.comمراجعه کنید

اتصال به پایگاه داده

در این بخش با تابعmysql_connect()آشنا می شویم. از این تابع برای اتصال به پایگاه دادهMysqlاستفاده می شود.

ساختار تابع:

۱

mysql_connect(host name, user name, password)

mysql_connect()در صورت موفقیتtrueرا بر می گرداند در غیر این صورتfalseرا. مثال:

۰۱

<?

۰۲

//the example of MySQL database connection

۰۳

//connect.php

۰۴

$continued= mysql_connect("localhost","root","admin");

۰۵

if($continued) {

۰۶

echo("Connection is succeed")

۰۷

} else{

۰۸

echo("Connection is fail")

۰۹

}

۱۰

?>

ساخت پایگاه داده

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

ساختارMysql_create_db()

۱

mysql_create_db("database")

فایلی به نامCreate.phpداخل پوشهwwwبسازید و کد زیر را وارد کنید:

۰۱

<?

۰۲

//the example of making MySQL database

۰۳

//create.php

۰۴

$continued= mysql_connect("localhost","root","admin");

۰۵

if($continued){

۰۶

echo("Connection is succeed");

۰۷

}else{

۰۸

echo("Connection is fail");

۰۹

}

۱۰

$make= mysql_create_db("data_root");

۱۱

if($make){

۱۲

echo("<br><br>Database data_root succeeds in making");

۱۳

}else{

۱۴

echo("<br><br>Database data_root fails in making");

۱۵

}

۱۶

?>

ساخت جدول

PHPتابع مخصوصی برای ساخت جدول با فیلدهای معین ندارد. بنابراین برای ساخت جدول داده، از دستور برنامه پایگاه داده مانندMySQLاستفاده می شود، این دستور با تابعmysql_query()اجرا می شود.

برای مثال، پایگاه دادهEmployeeبرای یک دفتر را ساخته، یک جدول با ستون هایemployee number،employee nameوemployee addressمی سازیم.

فایلی به نامCreate_table.phpداخلwwwبسازید. کد زیر را در ان کپی کنید:

۰۱

<?

۰۲

//the example of making MySQL database table

۰۳

//create_table.php

۰۴

$continued= mysql_connect("localhost","root","admin");

۰۵

if($continued){

۰۶

echo("Connection is succeed");

۰۷

}else{

۰۸

echo("Connection is fail");

۰۹

}

۱۰

$make= mysql_create_db("employees");

۱۱

if($make){

۱۲

echo("<br><br>Employees database succeeds in making");

۱۳

}else{

۱۴

echo("<br><br>Employees database fails in making");

۱۵

}

۱۶

$order1= "CREATE TABLE data_employees

۱۷

(

۱۸

employees_number int(10)AUTO_INCREMENT PRIMARY KEY,

۱۹

name char(100),

۲۰

address varchar(255)

۲۱

)";

۲۲

$make_table= mysql_db_query("employees",$order1);

۲۳

if($make_table){

۲۴

echo("<br><br>Table data_employees succeeds in making");

۲۵

}else{

۲۶

echo("<br><br>Table data_employees fails in making");

۲۷

}

۲۸

?>

نوع داده فیلد ها

نوع داده عددی

نوع داده

Gyration assess

TINYINT

(-۱۲۸) – ۱۲۷ or 0 – 255

SMALLINT

(-۳۲۷۶۸) – ۳۲۷۶۷ or 0 – 65535

MEDIUMINT

(-۸۳۸۸۶۰۸) – ۸۳۸۸۶۰۷ or 0 – 16777215

INT

(-۲۱۴۷۶۸۳۶۴۸) – ۲۱۴۷۶۸۳۶۴۷ or 0 – 4294967295

BIGINT

(-۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸) – ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷ or 0 – 18446744073709551615

FLOAT(X)

(-۳٫۴۰۲۸۲۳۴۶۶E+38) – (-1.175494351E-38), 0, and 1.175494351E-38 – 3.402823466E+38.

FLOAT

The same as above

DOUBLE

(-۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱۵۷E+308) – (-2.2250738585072014E-308), 0, and 2.2250738585072014E-308 – 1.7976931348623157E+308

میزان حافظه مورد نیاز متغیر ها در جدول زیر امده است:

نوع داده

حافظه مورد نیاز

TINYINT

۱ byte

SMALLINT

۲ bytes

MEDIUMINT

۳ bytes

INT

۴ bytes

INTEGER

۴ bytes

BIGINT

۸ bytes

FLOAT(X)

۴ ifX <=24 or 8 if 25 <=X <=53

FLOAT

۴ bytes

DOUBLE

۸ bytes

DOUBLE PRECISION

۸ bytes

REAL

۸ bytes

DECIMAL(M,D)

M+2 bytes if D>0, M+1 bytes if D=0(D+2, if M<d)< td=""></d)<>

NUMERIC(M,D)

M+2 bytes if D>0, M+1 bytes if D=0(D+2, if M<d)< td=""></d)<>

نوع داده رشته ای

نوع داده

Gyration assess

CHAR

۱-۲۵۵ character

VARCHAR

۱-۲۵۵ character

TINYLOB, TINYTEXT

۱-۲۵۵ character

BLOB, TEXT

۱-۶۵۵۳۵ character

MEDIUMLOB, MEDIUMTEXT

۱-۱۶۷۷۷۲۱۵ character

LONGLOB, LONGTEXT

۱-۴۲۹۴۹۶۷۲۹۵ character

ENUM('element1','element2',…)

Maximal 65535 character

SET('element1','element2',…)

Maximal 64 element

میزان حافظه مورد نیاز:

نوع داده

حافظه مورد نیاز

CHAR(M)

M bytes, 1 <=M <=255

VARCHAR(M)

L+1 bytes, L <=M and 1 <=M <=255

TINYLOB, TINYTEXT

L+1 bytes, L <2^8

BLOB, TEXT

L+2 bytes, L<2^16

MEDIUMLOB, MEDIUMTEXT

L+3 bytes, L<2^24

LONGBLOB, LONGTEXT

L+4 bytes, L<2^32

ENUM('element1','element2',…)

۱ or 2 bytes, depend to the number of element

SET('element1','element2',…)

۱, ۲, ۳, ۴ or 8 bytes, depend to the number of element

نوع داده تاریخ

نوع داده

Gyration assess

DATETIME

'۱۰۰۰-۰۱-۰۱ ۰۰:۰۰:۰۰' to '9999-12-31 23:59:59'

DATE

'۱۰۰۰-۰۱-۰۱' to '9999-12-31'

TIMESTAMP

'۱۹۷۰-۰۱-۰۱ ۰۰:۰۰:۰۰' – ۲۰۳۷

TIME

'-۸۳۸:۵۹:۵۹' to '838:59:59'

YEAR

۱۹۰۱ – ۲۱۵۵

میزان حافظه مورد نیاز:

نوع داده

حافظه مورد نیاز

DATE

۳ bytes

DATETIME

۸ bytes

TIMESTAMP

۴ bytes

TIME

۳ bytes

YEAR

۱ bytes

درخواست هایMysql

PHPبرای کار با داده پایگاه داده تابع خاصی را ارائه نداده است. بنابراین باید از دستوراتMysqlاستفاده کرد. برای انجام عملیات های داده ای این کارها را باید انجام دهید:

۱٫به پایگاه داده متصل شوید.

۲٫با استفاده از تابعmysql_query()دستورMysqlرا اجرا کنید. با استفاده از توابعmysql_fetch_array()،mysql_fetch_row()وmysql_num_rowsنتیجه را پردازش کنید.

افزودن داده

برای افزودن داده به پایگاه داده از این دستور استفاده کنید:

INSERT INTO nama_table (field1,field2,…) VALUES ('data1','data2',…)

اگر پارامتر های فیلد مشخص نشود، تعداد داده های ورودی باید با تعداد ستون های جدول یکی باشد.

مثال

۰۱

<?

۰۲

//the example of inserting data

۰۳

//data_insert.php

۰۴

mysql_connect("localhost","root","admin");//database connection

۰۵

mysql_select_db("employees");

۰۶

$order= "INSERT INTO data_employees

۰۷

(name, address)

۰۸

VALUES

۰۹

('H.R. Dian',

۱۰

'Jl. Raya Baru KOTABARU')";

۱۱

//inserting data order

۱۲

۱۳

//declare in the order variable

۱۴

$result= mysql_query($order);

۱۵

if($result){

۱۶

echo("<br>Input data is succeed");

۱۷

}else{

۱۸

echo("<br>Input data is fail");

۱۹

}

۲۰

?>

تابعmysql_fetch_row()

تابعmysql_fetch_row()داده را از متغیر$resultخط به خط می گیرد. اولین خروجی بالاترین خط است. داده ای که این تابع بر می گرداند به صورت آرایه است به طوری که عناصر آرایه همان فیلد های جدول داده هستند.

تابعmysql_fetch_array()

علاوه بر تابعmysql_fetch_row()، می توان از تابعmysql_fetch_array()هم استفاده کرد. همانند تابعmysql_fetch_row()این تابع هم یک خط داده را می خواند.

تفاوت دو تابع در این است که نتایج بازگشتی باmysql_fetch_array()به صورت آرایهassociativeاست.

ویرایش داده

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

۱

UPDATE name_table SET field1=new_value, field2=new_value, …

۲

WHERE condition1,condition2, …

حذف داده

برای حذف داده از دستور زیر استفاده می شود:

DELETE FROM name_table WHERE condition1,condition2,…

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

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

ALTER TABLE table_name ADD field_name field_type field_attribute

ویرایش ستون ها جدول

گاهی نیاز است مثلا ستون از نوعcharبهvarcharتبدیل شود و یا طول ستونی با اندازه ۵۰ باید به ۱۰۰ تغییر کند. برای این منظور از دستور زیر استفاده می شود:

ALTER TABLE table_name MODIFY field_name field_type field_attribute

مثال: نوع داده ستونpositionرا تغییر می دهیم:

۰۱

<?

۰۲

//the example of changing MySQL database field table

۰۳

//change_field.php

۰۴

۰۵

//database connection

۰۶

mysql_connect("localhost","root","admin");

۰۷

mysql_select_db("employees");

۰۸

درباره ی Administrator

همچنین ببینید

دانلود کتاب آموزش Asp.Net

ASP.NET دانلود مقاله آموزش Asp.Net

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۰۹