MySQL: جیاوازیی نێوان پێداچوونەوەکان

لە چاوگ
No edit summary
 
(٨٣ دەستکاری لەلایەن ٣ بەکارھێنەرەوە پیشاننادرێت)
ھێڵی ١: ھێڵی ١:
[[Image:mysql-logo.png‏|left|thumb|291px| لۆگۆی فەرمی MySQL]]
مەبەست لە [[MySQL]]  سیستەمێکی بەڕێوەبردنی بنکەدراوەی پێکەوەبەستراوە ([[RDBMS]]) کە کورتکراوەى '''R'''elational '''D'''ata'''B'''ase '''M'''anagement '''S'''ystem. کە پتر لە ١١ ملیۆن جار دامەزراوە لەسەر ڕاژەکارەکانی جیهان.


== MySQL چییە؟ ==
[[MySQL]] کە بە مای ئێس کیو ئیڵ (یان مای سیکوێل) ئەخوێنرێتەوەو یەکێکە لە بەربڵاوترین بەڕێوەبەرایەتی بنکەدراوەی [[ژێدەرکراوە]] ([[open source]])، هاوکات بەشێوەی بازرگانیش ئامادەکراوە. [[MySQL]] لەسەر بنەمای <tt>SQL</tt>ـەکە کورتکراوەی (Structured Query Language)ـە. [[MySQL]] زۆر بەربڵاوەو بەشێکە لە [[LAMP]] کە M لەوێدا مەبەست لێی [[MySQL]] ـە. ئەم بنکەی دراوەیە بەکاردەهێنرێت لەگەڵ زۆر لە زمانەکانی پرۆگرامکردن بۆ نموونە وەک [[PHP]] , Perl ...هتد.
<br>MySQL لەلایەن کۆمپانیایەکی سویدی هاتۆتە بەرهەم بەناوی [[MySQL]] AB، کە ئەمیش لە ۲٦ـی مانگی شوباتی ۲۰۰۸ـدا کڕدرا لەلایەن کۆمپانیای زلهێزی [[Sun Microsystems]]. لە نیسانی ٢٠٠٩ دا کۆمپانیای [[ئۆراکل]] [[Oracle Corporation]] کە خاوەنی گەورەترین [[بنکەدراوە]]ی بازرگانییە، کۆمپانیای سەنی  [[Sun Microsystems]] کڕی، نەخشەی کارەکانی ئۆراکل تاکوو ئەمڕۆ نادیارە، کە لەزۆر شوێندا پێشەواکانی [[ژێدەرکراوە]] نیگەرانی خۆیان دەربڕیوە و دەخوازن [[ئۆراکل]] دەست لە [[MySQL]] هەڵبگرێت.
[[MySQL]]  بەزۆری لە پرۆژە و نەرمەکاڵا سەربەستەکاندا بەکاربراوە، وەکوو [[Wordpress]], [[phpBB]] ..هیتر، جگەلەوەش لە پرۆژەکانی [[ویکیپیدیا]] و [[گووگل]] دا پشتی پێبەستراوە.


== سەرەتایەک بۆ MySQL ==
== سەرەتایەک بۆ MySQL ==
'''MySQL''' یەکێکە لە هەرە خێراترین/ئاسان بەکارهێنانترین سیستەمی بەڕێوەبردنی بنکەی دراوە کە بەکاردەهێنرێت/بەکارهێنراوە لە بوارە بازرگانییە بچووک/گەورەکاندا. '''MySQL''' زۆر بەناوبانگ بووە بەهۆی چەندین هۆوە لەوانە:
<br>'''١.''' سەرچاوەیەکی کراوەیەو سەرەڕای بەهێزی پێویست بە هیچ نرخێک ناکات بۆ بەکارهێنانی.
<br>'''٢.''' دەتوانریت دابمەزرێت لەسەر زۆر لە سیستەمەکارگێڕییەکان وە هەروەها لەگەڵ زمانەکانی وەک PHP, PERL, C, C++, JAVA کاردەکات.
<br>'''٣.''' کارکردنی زۆر خێرایەو لەگەڵ بڕێکی زۆری زانیاری کارکردنی بەشێوەیەکی باشە.
<br>'''٤.''' زۆر هاوڕێیە لەگەڵ پهپ ([[php]])ـدا، کە زمانێکی بەهێزی بواری وێب داڕشتنە.
<br>'''٥.''' MySQL پشتیوانی دەکات لە بنکەی دراوەی گەورەو دەتوانێت تاوەکو ٥٠ میلیۆن دێڕ (row) یان زیاتر لە خۆ بگرێت لە خشتەیەک (table)ـدا.


== چۆنیەتی دامەزراندنی MySQL ==
چۆنیەتی دامەزراندنی MySQL زۆر ئاسانەو هیچ قورسیەکی تێدا نییە چ لەسەر دابەشکردنەکانی لینوکس بێت یان سیستەمی کارگێڕی ویندۆز. لەم بەستەرەدا [http://dev.mysql.com/downloads/mysql/ کرتەم بکە] دەتوانی دوایین وەشانی MySQL دابگریت بۆ هەریەک لە سیستەمە کارگێرییەکانی کە بەکاری دەبەیت.
<br>بەڵام بۆ لینوکس وەک باس کرا کە زۆر ئاسانە، ئەگەر [[LAMP]]ـت دامەزراندبێت ئەوە بەدڵنیاییەوە MySQLـیشت داگرتووە. لەژێر بابەتی [[LAMP]]ـدا باسی چۆنیەتی دامەزراندنی MySQL باس کراوە.
=== چ وەشانێک بەکاردەبەیت؟ ===
لەدوای دامەزراندنی MySQL دەتوانرێت بزانرێت کە چ وەشانێک بەکاردەهێنیت لە ئێستادا، لە تێرمیناڵ بنووسە:
<source lang='bash'>root@localhost:~$ mysqladmin --version</source>
ئەنجامەکەی بەم شێوەیە دەبینیت:
<pre>
mysqladmin  Ver 8.42 Distrib 5.1.41, for debian-linux-gnu on i486
</pre>
هاوکات دەتوانیت لە ڕێگەی یارمەتی ڕاستەوخۆوە زانیاریی تر لەسەر MySQL وەربگریت لە سیستەمەکەتدا:
shell> mysql --help
=== پەیوەندی گرتن بە MySQL ـەوە ===
بۆ بەکارهێنانی MySQLو پەیوەندی گرتن پێیەوە لە تێرمیناڵ بنووسەو پاشان تێپەڕەووشە بنووسە:
<source lang='bash'>root@localhost:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.1.41-3 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql></source>
پاش ئەوەی ئەمە دەبینیت لە کۆتاییدا <code>mysql></code> کەواتە بەسەرکەوتووی پەیوەندی گرتنەکەت جێ بەجێ بووە. دوای ئەوە دەست دەکەیت بە هەنگاوەکانی تر کە لەدواییدا باسی دەکرێت لێرەدا.
بۆئەوەی کۆتایی بە پەیوەندیگرتنەکە بهێنیت بە MySQLـەوە ئەوە تەنها بنووسە <tt>exit</tt>:
<pre>
mysql> exit
Bye
</pre>
===کارکردنی MySQL بەشێوەی خۆکار ===
بۆ ئەوەی کە MySQL بکەوێتە کار بە شێوەی خۆکار لەکاتی داگیرساندنەوەی سیستەمەکەدا ئەوە ئەمە لە تێرمیناڵ بنووسە:
<pre>
/etc/init.d/mysqld start
</pre>
== سازکردنی MySQL==
ڕێکخستن و سازدانی هەڵسوڕانی MySQL لە پەڕگەی
<source lang='bash'> /etc/mysql/my.cnf
</source>ـدا پێناسکراون.
==شوێنی هەڵگرتنی بنکەدراوەکانی ==
بەشێوەیەکی بنەڕەتی MySQL بنکەدراوەکانی لە بوخچەی /var/lib/mysql دا پاشەکەوت دەکات(سیستەمی کارپێکردنی لینوکس و هاوشێوەکانی)، گەر بتەوێت بنکەدراوەکانی خۆت لە شوێنی تردا هەڵبگریت، ئەوا دەبێت لە پەڕگەی سازکردندا ئەو ڕێڕەوە بگۆڕیت.
datadir        = /var/lib/mysql
== دروست کردنی (create) بنکەی دراوە لە MySQL ==
بۆئەوەی بنکەیەکی دراوەی نوێ درووست بکەی پێویستت بەوەیە کە <tt>mysqladmin</tt> بەکارببەیت کە دەسەڵاتیکی تایبەتە, لێرەدا من بنکەیەکەی دراوەم درووست کردوە بەناوی chawgـەوە:
<source lang='bash'>root@localhost:~$ mysqladmin -u root -p create chawg
Enter password:</source>
یاخود دەتوانیت بەڕێگایەکی تر بنکەی دراوە درووست بکەیت ئەویش پاش پەیوەندی گرتن بە MySQLـەوە ڕاستەوخۆ بنووسە:
<pre>
mysql> create database chawg;
Query OK, 1 row affected (0.00 sec)
</pre>
پاش پەیوەندی گرتن بە MySQLـەوە دەتوانی بنووسیت <tt>show databases</tt> تاوەکو ئەو بنکەی دراوەیە ببینیت کە درووست کراوە:
<source lang='MYSQL'>
mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| chawg              |
| mysql              |
| phpmyadmin        |
+--------------------+
4 rows in set (0.17 sec)
mysql></source>
== سڕینەوە (فڕێدان)ـی بنکەی دراوە لە MySQL ==
بۆ فڕێدانی (drop) بنکەیەکی دراوە ئەوە تەنها لەجیاتی create بنووسە drop وەک لە نموونەی پێشوودا نووسراوە، بەواتای:
<source lang='bash'>root@localhost:~$ mysqladmin -u root -p drop chawg
Enter password:</source>
== دیاریکردنی (selection) بنکەی دراوە لە MySQL ==
لە خاڵی پێشوودا ئەوە خرایەڕوو کە چۆن هەموو بنکەی دراوەکان پیشان دەدرێت لە MySQLـدا، ئێستا پێویستمان بەوەیە کە ئەو بنکەی دراوەی درووستمان کردووە دەست بکەین بەکارکردن لەسەری، چۆن؟ ئەوە بنووسە:
<source lang='MYSQL'>mysql> use chawg;
Database changed
mysql></source>
<tt>use chawg</tt> بەمانای ئەوەی کە ئەمانەوێت بنکەی دراوەی chawg بەکارببەین. بۆئەوەی کە بنکەی دراوەیەکی تر بەکار ببەیت‌و لە chawg بێیتە دەرەوە ئەوە تەنها لە جیاتی chawg ناوی بنکەی دراوەی دیاری کراو بنووسە کە دەتەوێت بەکاری ببەیت.
== جۆری داتا (دراوە) - Data Types ==
بەگشتی هەریەک لەوانەی کە لە خوارەوە خراوەتەڕوو بریتین لەو جۆرە داتایانەی (data types) کە بەزۆری بەکاردەهێنرێن لەکاتی درووستکردنی هەر بنکەیەکی دراوەدا.
* '''TEXT TYPES'''
<pre>
CHAR( ) A fixed section from 0 to 255 characters long.
VARCHAR( ) A variable section from 0 to 255 characters long.
TINYTEXT A string with a maximum length of 255 characters.
TEXT A string with a maximum length of 65535 characters.
BLOB A string with a maximum length of 65535 characters.
MEDIUMTEXT A string with a maximum length of 16777215 characters.
MEDIUMBLOB A string with a maximum length of 16777215 characters.
LONGTEXT A string with a maximum length of 4294967295 characters.
LONGBLOB A string with a maximum length of 4294967295 characters.
</pre>
* '''NUMBER TYPES'''
<pre>
TINYINT( ) -128 to 127 normal
0 to 255 UNSIGNED.
SMALLINT( ) -32768 to 32767 normal
0 to 65535 UNSIGNED.
MEDIUMINT( ) -8388608 to 8388607 normal
0 to 16777215 UNSIGNED.
INT( ) -2147483648 to 2147483647 normal
0 to 4294967295 UNSIGNED.
BIGINT( ) -9223372036854775808 to 9223372036854775807 normal
0 to 18446744073709551615 UNSIGNED.
FLOAT A small number with a floating decimal point.
DOUBLE( , ) A large number with a floating decimal point.
DECIMAL( , ) A DOUBLE stored as a string , allowing for a fixed decimal point.
</pre>
* '''DATE TYPES'''
<pre>
DATE YYYY-MM-DD.
DATETIME YYYY-MM-DD HH:MM:SS.
TIMESTAMP YYYYMMDDHHMMSS.
TIME HH:MM:SS.
</pre>
* '''MISC TYPES'''
<pre>
ENUM ( ) Short for ENUMERATION which means that each column may have one of a specified possible values.
SET Similar to ENUM except each column may have more than one of the specified possible values
</pre>
== درووست کردنی خشتە - Create tables ==
بۆ درووستکردنی خشتە لە MySQLـدا بەم شێوەیە ئەبێت بنووسرێت:
<pre>
CREATE TABLE nawi_xishteke
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
);
</pre>
بۆ نموونە ئێستا خشتەیەک درووست دەکەین کە پێک بێت لە دەستەی بەڕێوەبەرانی چاوگ، ناوی خشتەکە ئەنێین بەرپرسان (berpirsan):
<source lang='MYSQL'>
CREATE TABLE Berpirsan (
B_Id int,
Naw VARCHAR(30) NOT NULL,
Naznaw VARCHAR(30) NOT NULL,
Nawnishan VARCHAR(100),
SHAR VARCHAR(100)
);
</source>
== سڕینەوەی خشتە - Drop tables ==
سڕینەوەی خشتەیەک لە MySQLـدا زۆر ئاسانەو بەم شێوەیە دەکرێت:
<source lang='MySQL'>DROP TABLE nawi_xishteke;</source>
بۆ نموونە ئەو خشتەیەی پێشوو (Berpirsan) گەر بمانەوێت بیسڕینەوە ئەوە دەنووسین:
<source lang='mysql'>
root@localhost:~$ mysqladmin -u root -p
Enter password:
mysql> use chawg;
Database changed
mysql> DROP TABLE Berpirsan
Query OK, 0 rows affected (0.8 sec)
mysql>
</source>
'''تێبینی:''' ئەوەی کەلەسەرەوە نووسراوە هەموو ئەو کردارانە دووبارە کراوەتەوە کە چۆن سەرەتا پەیوەندی دەگریت بە MySQLـەوەو پاشان بنکەی دراوەی چاوگ (chawg) دەست نیشان دەکەین چونکە ئێمە خشتەی (Berpirsan)ـانمان لەناو بنکەی دراوەی چاوگ (chawg) درووست کردووە.
==تێخستنی داوا - Insert Query==
مەبەست لە تێخستنی داوا <tt>Query</tt> ئەوەیە کە داتاکان بخەیتە ناو خشتەکەی کە درووست کراوە، بۆ ئەم مەبەستەش پێویست بەوە دەکات کە فەرمانی <tt>INSERT INTO</tt> بنوسیت، کڵێشەی تێخستنی دراوە (data)ـکان لە mysqlـدا بەم شێوەیە دەبێت:
<pre>
INSERT INTO nawi_xishteke ( field1, field2,...fieldN )
VALUES ( value1, value2,...valueN );
</pre>
مەبەست لە <tt>field</tt> بریتییە لە سەردێڕی خشتەکە بەواتای ئەوەی وەک لە درووست کردنی خشتە باسمان کردو خشتەیەکمان درووست کرد و لەوێدا هەریەک لە Naw, Naznaw, Nawnishan پێیان دەوترێ field.
مەبەست لە <tt>Value</tt> ئەوەیە کە نرخ دابنێین بۆ هەریەک لە fieldـەکان کە هەن لە خشتەکەدا.
هەموو ئەوانەی باسمان کرد لەسەرەوە لەو نموونەی خوارەوەدا دەیخەینە ڕوو:
<source lang='mysql'>mysql> show tables;
+-----------------+
| Tables_in_chawg |
+-----------------+
| Berpirsan      |
+-----------------+
1 row in set (0.00 sec)
mysql> insert into Berpirsan
    -> (B_Id, Naw, Naznaw, Nawnishan, Shar)
    -> values
    -> ("10345", "Kani", "Kurde", "Bextyari 59", "Suleymani");
Query OK, 1 row affected (0.00 sec)
mysql> select * from Berpirsan;
+-------+------+--------+-------------+-----------+
| B_Id  | Naw  | Naznaw | Nawnishan  | Shar      |
+-------+------+--------+-------------+-----------+
| 10345 | Kani | Kurde  | Bextyari 59 | Suleymani |
+-------+------+--------+-------------+-----------+
1 row in set (0.00 sec)</source>
==دیاریکردنی داوا - Select Query==
پاش ئەوەی چەند زانیارییەکی تر زیادکرد بۆ خشتەکەی کە هەیە، ئێستا لێرە ئەوە پیشان ئەدەین کە چۆن داوایەک دیاری ئەکەین لە خشتەکەدا.
بۆ نموونە دەمانەوێت هەموو زانیارییەکانی ناو خشتەی Berpirsan بهینینە بەردەست و پیشانی بدەین، ئەوە پێویستە ئەمە بنووسریت:
<source lang='mysql'>
mysql> select * from Berpirsan;
/* Encamî ewey serewe bem şêweye debêt */
+-------+--------+--------+-------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan  | Shar      |
+-------+--------+--------+-------------+------------+
| 10346 | Kani  | Kurde  | Bextyari 59 | Suleymani  |
|  548 | Arin  | Nari  | Shorsh      | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3  | Suleymani  |
+-------+--------+--------+-------------+------------+
3 rows in set (0.00 sec)</source>
'''نموونەیەکەی تر:''' ئەگەر بخوازرێت تەنها زانیارییەکانی کە لەسەر Arin هەیە بدۆزینەوە ئەوە بەم شێوەیە ئەبێت:
<source lang='mysql'>mysql> SELECT * FROM Berpirsan
    -> WHERE Naw='Arin';
+------+------+--------+-----------+------------+
| B_Id | Naw  | Naznaw | Nawnishan | Shar      |
+------+------+--------+-----------+------------+
|  548 | Arin | Nari  | Shorsh    | Chemchemal |
+------+------+--------+-----------+------------+
1 row in set (0.02 sec)
mysql></source>
'''تێبینی:''' لەوێدا ئێمە <tt>Where</tt>ـمان بەکارهێناوە کە لەدواییدا باسی دەکەین.
==The WHERE Clause ==
<tt>Where</tt>  لە MySQLـدا بەکاردێت بۆ ئەوەی ئەوە دەست نیشان بکەین‌و بیهێنینە دەرەوە لە خشتەیەک یان زیاتر کە ئەمانەوێت، زیاتر لەو نموونەی خوارەوەدا دەخەینەڕوو.
کڵێشەی بەکارهێنانی <tt>WHERE</tt> بەم شێوەیەیە:
<pre>
SELECT * FROM nawî xişteke
WHERE nawî stûnî operator value
</pre>
مەبەست لە ناوی ستونی لەوێدا column_nameـە.
'''نموونەی ۱:''' دۆزینەوەی ناوی "کاروان" و هەموو زانیارییەکانی تر لەسەری لە ناو بنکەی دراوەکەدا بەم شێوەیە دەکرێت بە بەکارهێنانی <tt>WHERE</tt> :
<source lang='mysql'>
mysql> SELECT * FROM Berpirsan
    -> WHERE Naw = 'Karwan';
+------+--------+--------+-----------+-----------+
| B_Id | Naw    | Naznaw | Nawnishan | Shar      |
+------+--------+--------+-----------+-----------+
| 1223 | Karwan | Geo    | Rizgari 3 | Suleymani |
+------+--------+--------+-----------+-----------+
1 row in set (0.00 sec)
mysql></source>
'''نموونەی ۲:''' ئەمجارە تەنها ئەمانەوێت B_Id, Naw, Naznaw دەربکەون بۆ ناوی "کاروان" کاتێک بەدوای زانیارییەکان دەگەڕێن، لەو کاتەدا ئەوانەی کە دەخوازرێت دەربکەوێت دەبێت بکرێتە دوای <tt>SELECT</tt>ـەوە:
<source lang='mysql'>mysql> SELECT B_Id, Naw, Naznaw FROM Berpirsan
    -> WHERE Naw='Karwan';
+------+--------+--------+
| B_Id | Naw    | Naznaw |
+------+--------+--------+
| 1223 | Karwan | Geo    |
+------+--------+--------+
1 row in set (0.00 sec)</source>
==نوێکردنەوەی داوا - Update Query==
نوێکردنەوەی داوا لە بنکەی دراوەدا کارێکی گران نییەو کڵێشەی بەکارهێنانی بەم شێوەیەی خوارەوەیە:
<pre>
UPDATE nawi_xishteke SET field1=new-value1, field2=new-value2
[WHERE Clause]
</pre>
بۆ نموونە "کانی" لە سلێمانی نەماوەو ئێستا دانیشتووی سویدەو بەو جۆرە ناوونیشانیشی گۆڕاوە، بۆ ئەوەی زانیارییەکانی تازە بکەینەوە دەنووسین:
<source lang='mysql'>
mysql> UPDATE Berpirsan SET Nawnishan='TORSHAMNSGATAN 123', Shar='SWEDEN'
    -> WHERE B_Id='10346';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> SELECT * FROM Berpirsan;
+-------+--------+--------+--------------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar      |
+-------+--------+--------+--------------------+------------+
| 10346 | Kani  | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  548 | Arin  | Nari  | Shorsh            | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani  |
+-------+--------+--------+--------------------+------------+
3 rows in set (0.00 sec)</source>
'''تێبینی''' ئەوە بکە لەو نموونەیەی سەرەوەدا بۆ نوێکردنەوەی داواکە <tt>B_Id</tt>ـمان بەکاربردووە، بۆ؟ لەبەرئەوەی ئەکرێت لە بنکەی دراوەکەدا چەند کەسێک هەبێت ناوی "کانی" بێت کاتێکیش لەجیاتی <tt>B_Id</tt> ناوی Nawـی کانی بنووسی ئەوە هەر کەسێک بەو ناوەوە بێت ناوونیشانی ئەگۆڕدرێت کە ئەمەش هەڵە ئەبێت، بەڵام هەموو کەسێک IDـیەکی جیاوازی هەیەو ناکرێت لە یەک بچن.
==سڕینەوەی داوا - Delete Query==
کڵێشەی بەکارهێنانی سڕینەوەی داوا بەم شێوەیەیە لە MySQLـدا:
<pre>
DELETE FROM nawî xişteke [WHERE Clause]
</pre>
ئێستاکە دەمانەوێت Arin کە لە خشتەکەماندایە بسڕینەوەو چیدی لە لیستی بەرپرساندا نەمێنێت:
<source lang='mysql'>mysql> select * from Berpirsan;
+-------+--------+--------+--------------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar      |
+-------+--------+--------+--------------------+------------+
| 10346 | Kani  | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  548 | Arin  | Nari  | Shorsh            | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani  |
+-------+--------+--------+--------------------+------------+
3 rows in set (0.06 sec)
mysql> DELETE FROM Berpirsan WHERE B_Id = 548;
Query OK, 1 row affected (0.05 sec)
mysql> select * from Berpirsan;
+-------+--------+--------+--------------------+-----------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar      |
+-------+--------+--------+--------------------+-----------+
| 10346 | Kani  | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani |
+-------+--------+--------+--------------------+-----------+
2 rows in set (0.00 sec)
mysql></source>
==Like Clause==
<tt>Like clause</tt> کار ئاسانییەکی زۆر دەکات بۆ گەڕان لە بنکەی دراوەدا بە هەماهەنگی لەگەڵ <tt>WHERE Clause</tt>ـدا. بۆ نموونە ئەگەر تۆ بەدوای Kardanـدا بگەڕێیت ئەوە دەتوانی بڵێیت:
<pre>
WHERE Naw = 'Kardan'
</pre>
بەڵام ئەگەر بێت‌و بنکەدراوەیەکەی گەورەت هەبێت‌و چەندین هەزار ناوی تێدا بێت‌ وە بتەوێت لیستی هەموو ئەو ناوانە بهێنیتە بەردەست کە بە "کار - Kar" دەست پێدەکەن، ئەوە Like ئەو کارە بەئاسانی دەکات.
'''نموونەی ۱:''' گەڕان بەدوای ئەو ناوانەی کە بە سێ پیتی 'کار - kar' دەست پێ دەکەن:
<source lang='MYSQL'>mysql> select * from Berpirsan;
+-------+---------+---------+--------------------+-----------+
| B_Id  | Naw    | Naznaw  | Nawnishan          | Shar      |
+-------+---------+---------+--------------------+-----------+
| 10346 | Kani    | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  1001 | Saman  | Shaswar | Mufti 32          | Suleymani |
|  1223 | Karwan  | Geo    | Rizgari 3          | Suleymani |
|  1342 | Bervian | Hestyar | Mufti 32          | Hewler    |
|  4325 | Kardan  | Meriwan | Azadi 43          | Hewler    |
|  9889 | Kawan  | Serwer  | Bextyari 86        | Suleymani |
|  4445 | Ashna  | Serdar  | Mellkendi 115      | Suleymani |
+-------+---------+---------+--------------------+-----------+
7 rows in set (0.00 sec)
mysql> SELECT * FROM Berpirsan WHERE Naw LIKE 'kar%';
+------+--------+---------+-----------+-----------+
| B_Id | Naw    | Naznaw  | Nawnishan | Shar      |
+------+--------+---------+-----------+-----------+
| 1223 | Karwan | Geo    | Rizgari 3 | Suleymani |
| 4325 | Kardan | Meriwan | Azadi 43  | Hewler    |
+------+--------+---------+-----------+-----------+
2 rows in set (0.00 sec)
</source>
'''نموونەی ۲:''' گەڕان بەدوای ئەو نازناوانەی کە بە پیتی 'S' دەست پێ دەکەن:
<source lang='MYSQL'>mysql> SELECT * FROM Berpirsan WHERE Naznaw LIKE 'S%';
+------+-------+---------+---------------+-----------+
| B_Id | Naw  | Naznaw  | Nawnishan    | Shar      |
+------+-------+---------+---------------+-----------+
| 1001 | Saman | Shaswar | Mufti 32      | Suleymani |
| 9889 | Kawan | Serwer  | Bextyari 86  | Suleymani |
| 4445 | Ashna | Serdar  | Mellkendi 115 | Suleymani |
+------+-------+---------+---------------+-----------+
3 rows in set (0.00 sec)</source>
==ORDER BY Clause==
لەکاتێکدا ئێمە داوامان لە MySQLـکرد کە زانیاری هەموو کەسەکانمان بۆ بهێنێت کەلە بنکە دراوەکەدا هەن بە بەکار‌هێنانی <tt>SELECT</tt>، لەم کاتەدا بینینی هەموو زانیارییەکان بەشێوەیەکی ناڕیزکراو دێنە بەردەست بۆئەوەی بەشێوەیەکی ڕیزکراو هەموو زانیارییەکان ببینین ئەوە <tt>ORDER BY</tt> بەکاردەبەین تاوەکو لە A - Z ڕیزی بکات.
کڵێشەی بەکارهێنانی ORDERED BY بەم شێوەیەیە:
<pre>
SELECT field1, field2,...fieldN nawi_xishteke,
ORDER BY field1, [field2...] [ASC [DESC]]
</pre>


== چۆنیەتی دامەزراندنی MySQL ==
مەبەست لە ASC = ascending و لە DESC = descending. خۆی بەبنەڕەت ASC ـە بەواتای ڕیزکردن لە Aـەوە بۆ Z، ئەوی تر بە پێچەوانەوە.
 
'''نموونە:''' ڕیزکردن لەم نموونەیەدا بەپێی ناوەکان هاتووە.
<source lang='MYSQL'>mysql> SELECT * FROM Berpirsan ORDER BY Naw ASC;
+-------+---------+---------+--------------------+------------+
| B_Id  | Naw    | Naznaw  | Nawnishan          | Shar      |
+-------+---------+---------+--------------------+------------+
|  6434 | Amanc  | Moferi  | Germyan 10        | Chemchemal |
|  4445 | Ashna  | Serdar  | Mellkendi 115      | Suleymani  |
|  1342 | Bervian | Hestyar | Mufti 32          | Hewler    |
| 10346 | Kani    | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  4325 | Kardan  | Meriwan | Azadi 43          | Hewler    |
|  1223 | Karwan  | Geo    | Rizgari 3          | Suleymani  |
|  9889 | Kawan  | Serwer  | Bextyari 86        | Suleymani  |
|  1001 | Saman  | Shaswar | Mufti 32          | Suleymani  |
+-------+---------+---------+--------------------+------------+
8 rows in set (0.02 sec)
 
mysql>
</source>
 
==بەکارهێنانی Join==
تاوەکو ئێستا تەنها زانیاریمان بەدەست هێناوە تەنها لە یەک خشتەوە لە بنکەیەکی دراوەدا بەڵام ئەگەر بێت‌و چەند خشتەیەکمان هەبێت‌و بمانەوێت چەند زانیارییەک بەدەست بهێنین، جی ئەکەین؟ وەڵامەکەی ئەوە دەبێت بە لێکدانی دوو یان زیاتر لە خشتەیەک لە MySQL Queryـدا.
<br />بەواتای ئەوەی کاری Join بریتی دەبێت بە لێکدانی دوو یان زیاتر لە خشتەیەک بۆ بەدەست هێنانی زانیاری لە چەند خشتەیەکی بنکە دراوەکەدا.


==سەرچاوە==
# [http://dev.mysql.com/doc/refman/5.5/en/index.html وێبگەی فەرمی mySQL]
# [http://www.mysql.org/ MySQL 5.5 Reference Manual]




[[Category:Software]]
[[Category:Software]]

دوایین پێداچوونەوەی ‏١٣:٣٥، ٢٠ی کانوونی دووەمی ٢٠١١

لۆگۆی فەرمی MySQL

مەبەست لە MySQL سیستەمێکی بەڕێوەبردنی بنکەدراوەی پێکەوەبەستراوە (RDBMS) کە کورتکراوەى Relational DataBase Management System. کە پتر لە ١١ ملیۆن جار دامەزراوە لەسەر ڕاژەکارەکانی جیهان.

MySQL کە بە مای ئێس کیو ئیڵ (یان مای سیکوێل) ئەخوێنرێتەوەو یەکێکە لە بەربڵاوترین بەڕێوەبەرایەتی بنکەدراوەی ژێدەرکراوە (open source)، هاوکات بەشێوەی بازرگانیش ئامادەکراوە. MySQL لەسەر بنەمای SQLـەکە کورتکراوەی (Structured Query Language)ـە. MySQL زۆر بەربڵاوەو بەشێکە لە LAMP کە M لەوێدا مەبەست لێی MySQL ـە. ئەم بنکەی دراوەیە بەکاردەهێنرێت لەگەڵ زۆر لە زمانەکانی پرۆگرامکردن بۆ نموونە وەک PHP , Perl ...هتد.
MySQL لەلایەن کۆمپانیایەکی سویدی هاتۆتە بەرهەم بەناوی MySQL AB، کە ئەمیش لە ۲٦ـی مانگی شوباتی ۲۰۰۸ـدا کڕدرا لەلایەن کۆمپانیای زلهێزی Sun Microsystems. لە نیسانی ٢٠٠٩ دا کۆمپانیای ئۆراکل Oracle Corporation کە خاوەنی گەورەترین بنکەدراوەی بازرگانییە، کۆمپانیای سەنی Sun Microsystems کڕی، نەخشەی کارەکانی ئۆراکل تاکوو ئەمڕۆ نادیارە، کە لەزۆر شوێندا پێشەواکانی ژێدەرکراوە نیگەرانی خۆیان دەربڕیوە و دەخوازن ئۆراکل دەست لە MySQL هەڵبگرێت. MySQL بەزۆری لە پرۆژە و نەرمەکاڵا سەربەستەکاندا بەکاربراوە، وەکوو Wordpress, phpBB ..هیتر، جگەلەوەش لە پرۆژەکانی ویکیپیدیا و گووگل دا پشتی پێبەستراوە.

سەرەتایەک بۆ MySQL

MySQL یەکێکە لە هەرە خێراترین/ئاسان بەکارهێنانترین سیستەمی بەڕێوەبردنی بنکەی دراوە کە بەکاردەهێنرێت/بەکارهێنراوە لە بوارە بازرگانییە بچووک/گەورەکاندا. MySQL زۆر بەناوبانگ بووە بەهۆی چەندین هۆوە لەوانە:
١. سەرچاوەیەکی کراوەیەو سەرەڕای بەهێزی پێویست بە هیچ نرخێک ناکات بۆ بەکارهێنانی.
٢. دەتوانریت دابمەزرێت لەسەر زۆر لە سیستەمەکارگێڕییەکان وە هەروەها لەگەڵ زمانەکانی وەک PHP, PERL, C, C++, JAVA کاردەکات.
٣. کارکردنی زۆر خێرایەو لەگەڵ بڕێکی زۆری زانیاری کارکردنی بەشێوەیەکی باشە.
٤. زۆر هاوڕێیە لەگەڵ پهپ (php)ـدا، کە زمانێکی بەهێزی بواری وێب داڕشتنە.
٥. MySQL پشتیوانی دەکات لە بنکەی دراوەی گەورەو دەتوانێت تاوەکو ٥٠ میلیۆن دێڕ (row) یان زیاتر لە خۆ بگرێت لە خشتەیەک (table)ـدا.

چۆنیەتی دامەزراندنی MySQL

چۆنیەتی دامەزراندنی MySQL زۆر ئاسانەو هیچ قورسیەکی تێدا نییە چ لەسەر دابەشکردنەکانی لینوکس بێت یان سیستەمی کارگێڕی ویندۆز. لەم بەستەرەدا کرتەم بکە دەتوانی دوایین وەشانی MySQL دابگریت بۆ هەریەک لە سیستەمە کارگێرییەکانی کە بەکاری دەبەیت.
بەڵام بۆ لینوکس وەک باس کرا کە زۆر ئاسانە، ئەگەر LAMPـت دامەزراندبێت ئەوە بەدڵنیاییەوە MySQLـیشت داگرتووە. لەژێر بابەتی LAMPـدا باسی چۆنیەتی دامەزراندنی MySQL باس کراوە.

چ وەشانێک بەکاردەبەیت؟

لەدوای دامەزراندنی MySQL دەتوانرێت بزانرێت کە چ وەشانێک بەکاردەهێنیت لە ئێستادا، لە تێرمیناڵ بنووسە:

root@localhost:~$ mysqladmin --version

ئەنجامەکەی بەم شێوەیە دەبینیت:

mysqladmin  Ver 8.42 Distrib 5.1.41, for debian-linux-gnu on i486

هاوکات دەتوانیت لە ڕێگەی یارمەتی ڕاستەوخۆوە زانیاریی تر لەسەر MySQL وەربگریت لە سیستەمەکەتدا:

shell> mysql --help


پەیوەندی گرتن بە MySQL ـەوە

بۆ بەکارهێنانی MySQLو پەیوەندی گرتن پێیەوە لە تێرمیناڵ بنووسەو پاشان تێپەڕەووشە بنووسە:

root@localhost:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.1.41-3 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

پاش ئەوەی ئەمە دەبینیت لە کۆتاییدا mysql> کەواتە بەسەرکەوتووی پەیوەندی گرتنەکەت جێ بەجێ بووە. دوای ئەوە دەست دەکەیت بە هەنگاوەکانی تر کە لەدواییدا باسی دەکرێت لێرەدا.

بۆئەوەی کۆتایی بە پەیوەندیگرتنەکە بهێنیت بە MySQLـەوە ئەوە تەنها بنووسە exit:

mysql> exit
Bye

کارکردنی MySQL بەشێوەی خۆکار

بۆ ئەوەی کە MySQL بکەوێتە کار بە شێوەی خۆکار لەکاتی داگیرساندنەوەی سیستەمەکەدا ئەوە ئەمە لە تێرمیناڵ بنووسە:

/etc/init.d/mysqld start

سازکردنی MySQL

ڕێکخستن و سازدانی هەڵسوڕانی MySQL لە پەڕگەی

 /etc/mysql/my.cnf

ـدا پێناسکراون.

شوێنی هەڵگرتنی بنکەدراوەکانی

بەشێوەیەکی بنەڕەتی MySQL بنکەدراوەکانی لە بوخچەی /var/lib/mysql دا پاشەکەوت دەکات(سیستەمی کارپێکردنی لینوکس و هاوشێوەکانی)، گەر بتەوێت بنکەدراوەکانی خۆت لە شوێنی تردا هەڵبگریت، ئەوا دەبێت لە پەڕگەی سازکردندا ئەو ڕێڕەوە بگۆڕیت.

datadir         = /var/lib/mysql


دروست کردنی (create) بنکەی دراوە لە MySQL

بۆئەوەی بنکەیەکی دراوەی نوێ درووست بکەی پێویستت بەوەیە کە mysqladmin بەکارببەیت کە دەسەڵاتیکی تایبەتە, لێرەدا من بنکەیەکەی دراوەم درووست کردوە بەناوی chawgـەوە:

root@localhost:~$ mysqladmin -u root -p create chawg
Enter password:

یاخود دەتوانیت بەڕێگایەکی تر بنکەی دراوە درووست بکەیت ئەویش پاش پەیوەندی گرتن بە MySQLـەوە ڕاستەوخۆ بنووسە:

mysql> create database chawg;
Query OK, 1 row affected (0.00 sec)

پاش پەیوەندی گرتن بە MySQLـەوە دەتوانی بنووسیت show databases تاوەکو ئەو بنکەی دراوەیە ببینیت کە درووست کراوە:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| chawg              |
| mysql              |
| phpmyadmin         |
+--------------------+
4 rows in set (0.17 sec)

mysql>

سڕینەوە (فڕێدان)ـی بنکەی دراوە لە MySQL

بۆ فڕێدانی (drop) بنکەیەکی دراوە ئەوە تەنها لەجیاتی create بنووسە drop وەک لە نموونەی پێشوودا نووسراوە، بەواتای:

root@localhost:~$ mysqladmin -u root -p drop chawg
Enter password:

دیاریکردنی (selection) بنکەی دراوە لە MySQL

لە خاڵی پێشوودا ئەوە خرایەڕوو کە چۆن هەموو بنکەی دراوەکان پیشان دەدرێت لە MySQLـدا، ئێستا پێویستمان بەوەیە کە ئەو بنکەی دراوەی درووستمان کردووە دەست بکەین بەکارکردن لەسەری، چۆن؟ ئەوە بنووسە:

mysql> use chawg;
Database changed
mysql>

use chawg بەمانای ئەوەی کە ئەمانەوێت بنکەی دراوەی chawg بەکارببەین. بۆئەوەی کە بنکەی دراوەیەکی تر بەکار ببەیت‌و لە chawg بێیتە دەرەوە ئەوە تەنها لە جیاتی chawg ناوی بنکەی دراوەی دیاری کراو بنووسە کە دەتەوێت بەکاری ببەیت.

جۆری داتا (دراوە) - Data Types

بەگشتی هەریەک لەوانەی کە لە خوارەوە خراوەتەڕوو بریتین لەو جۆرە داتایانەی (data types) کە بەزۆری بەکاردەهێنرێن لەکاتی درووستکردنی هەر بنکەیەکی دراوەدا.

  • TEXT TYPES
CHAR( )		A fixed section from 0 to 255 characters long.
VARCHAR( )	A variable section from 0 to 255 characters long.
TINYTEXT	A string with a maximum length of 255 characters.
TEXT		A string with a maximum length of 65535 characters.
BLOB		A string with a maximum length of 65535 characters.
MEDIUMTEXT	A string with a maximum length of 16777215 characters.
MEDIUMBLOB	A string with a maximum length of 16777215 characters.
LONGTEXT	A string with a maximum length of 4294967295 characters.
LONGBLOB	A string with a maximum length of 4294967295 characters.
  • NUMBER TYPES
TINYINT( )	-128 to 127 normal
		0 to 255 UNSIGNED.
SMALLINT( )	-32768 to 32767 normal
		0 to 65535 UNSIGNED.
MEDIUMINT( )	-8388608 to 8388607 normal
		0 to 16777215 UNSIGNED.
INT( )		-2147483648 to 2147483647 normal
		0 to 4294967295 UNSIGNED.
BIGINT( )	-9223372036854775808 to 9223372036854775807 normal
		0 to 18446744073709551615 UNSIGNED.
FLOAT		A small number with a floating decimal point.
DOUBLE( , )	A large number with a floating decimal point.
DECIMAL( , )	A DOUBLE stored as a string , allowing for a fixed decimal point.
  • DATE TYPES
DATE		YYYY-MM-DD.
DATETIME	YYYY-MM-DD HH:MM:SS.
TIMESTAMP	YYYYMMDDHHMMSS.
TIME		HH:MM:SS.
  • MISC TYPES
ENUM ( )	Short for ENUMERATION which means that each column may have one of a specified possible values.
SET		Similar to ENUM except each column may have more than one of the specified possible values

درووست کردنی خشتە - Create tables

بۆ درووستکردنی خشتە لە MySQLـدا بەم شێوەیە ئەبێت بنووسرێت:

CREATE TABLE nawi_xishteke
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
);


بۆ نموونە ئێستا خشتەیەک درووست دەکەین کە پێک بێت لە دەستەی بەڕێوەبەرانی چاوگ، ناوی خشتەکە ئەنێین بەرپرسان (berpirsan):

CREATE TABLE Berpirsan (
B_Id int,
Naw VARCHAR(30) NOT NULL,
Naznaw VARCHAR(30) NOT NULL,
Nawnishan VARCHAR(100),
SHAR VARCHAR(100)
);

سڕینەوەی خشتە - Drop tables

سڕینەوەی خشتەیەک لە MySQLـدا زۆر ئاسانەو بەم شێوەیە دەکرێت:

DROP TABLE nawi_xishteke;

بۆ نموونە ئەو خشتەیەی پێشوو (Berpirsan) گەر بمانەوێت بیسڕینەوە ئەوە دەنووسین:

root@localhost:~$ mysqladmin -u root -p
Enter password:
mysql> use chawg;
Database changed
mysql> DROP TABLE Berpirsan
Query OK, 0 rows affected (0.8 sec)
mysql>

تێبینی: ئەوەی کەلەسەرەوە نووسراوە هەموو ئەو کردارانە دووبارە کراوەتەوە کە چۆن سەرەتا پەیوەندی دەگریت بە MySQLـەوەو پاشان بنکەی دراوەی چاوگ (chawg) دەست نیشان دەکەین چونکە ئێمە خشتەی (Berpirsan)ـانمان لەناو بنکەی دراوەی چاوگ (chawg) درووست کردووە.

تێخستنی داوا - Insert Query

مەبەست لە تێخستنی داوا Query ئەوەیە کە داتاکان بخەیتە ناو خشتەکەی کە درووست کراوە، بۆ ئەم مەبەستەش پێویست بەوە دەکات کە فەرمانی INSERT INTO بنوسیت، کڵێشەی تێخستنی دراوە (data)ـکان لە mysqlـدا بەم شێوەیە دەبێت:

INSERT INTO nawi_xishteke ( field1, field2,...fieldN )
	VALUES ( value1, value2,...valueN );

مەبەست لە field بریتییە لە سەردێڕی خشتەکە بەواتای ئەوەی وەک لە درووست کردنی خشتە باسمان کردو خشتەیەکمان درووست کرد و لەوێدا هەریەک لە Naw, Naznaw, Nawnishan پێیان دەوترێ field. مەبەست لە Value ئەوەیە کە نرخ دابنێین بۆ هەریەک لە fieldـەکان کە هەن لە خشتەکەدا.

هەموو ئەوانەی باسمان کرد لەسەرەوە لەو نموونەی خوارەوەدا دەیخەینە ڕوو:

mysql> show tables;
+-----------------+
| Tables_in_chawg |
+-----------------+
| Berpirsan       |
+-----------------+
1 row in set (0.00 sec)

mysql> insert into Berpirsan
    -> (B_Id, Naw, Naznaw, Nawnishan, Shar)
    -> values
    -> ("10345", "Kani", "Kurde", "Bextyari 59", "Suleymani");
Query OK, 1 row affected (0.00 sec)

mysql> select * from Berpirsan;
+-------+------+--------+-------------+-----------+
| B_Id  | Naw  | Naznaw | Nawnishan   | Shar      |
+-------+------+--------+-------------+-----------+
| 10345 | Kani | Kurde  | Bextyari 59 | Suleymani |
+-------+------+--------+-------------+-----------+
1 row in set (0.00 sec)

دیاریکردنی داوا - Select Query

پاش ئەوەی چەند زانیارییەکی تر زیادکرد بۆ خشتەکەی کە هەیە، ئێستا لێرە ئەوە پیشان ئەدەین کە چۆن داوایەک دیاری ئەکەین لە خشتەکەدا. بۆ نموونە دەمانەوێت هەموو زانیارییەکانی ناو خشتەی Berpirsan بهینینە بەردەست و پیشانی بدەین، ئەوە پێویستە ئەمە بنووسریت:

mysql> select * from Berpirsan;

/* Encamî ewey serewe bem şêweye debêt */

+-------+--------+--------+-------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan   | Shar       |
+-------+--------+--------+-------------+------------+
| 10346 | Kani   | Kurde  | Bextyari 59 | Suleymani  |
|   548 | Arin   | Nari   | Shorsh      | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3   | Suleymani  |
+-------+--------+--------+-------------+------------+
3 rows in set (0.00 sec)

نموونەیەکەی تر: ئەگەر بخوازرێت تەنها زانیارییەکانی کە لەسەر Arin هەیە بدۆزینەوە ئەوە بەم شێوەیە ئەبێت:

mysql> SELECT * FROM Berpirsan
    -> WHERE Naw='Arin';

+------+------+--------+-----------+------------+
| B_Id | Naw  | Naznaw | Nawnishan | Shar       |
+------+------+--------+-----------+------------+
|  548 | Arin | Nari   | Shorsh    | Chemchemal |
+------+------+--------+-----------+------------+
1 row in set (0.02 sec)

mysql>

تێبینی: لەوێدا ئێمە Whereـمان بەکارهێناوە کە لەدواییدا باسی دەکەین.

The WHERE Clause

Where لە MySQLـدا بەکاردێت بۆ ئەوەی ئەوە دەست نیشان بکەین‌و بیهێنینە دەرەوە لە خشتەیەک یان زیاتر کە ئەمانەوێت، زیاتر لەو نموونەی خوارەوەدا دەخەینەڕوو.

کڵێشەی بەکارهێنانی WHERE بەم شێوەیەیە:

SELECT * FROM nawî xişteke
WHERE nawî stûnî operator value

مەبەست لە ناوی ستونی لەوێدا column_nameـە.

نموونەی ۱: دۆزینەوەی ناوی "کاروان" و هەموو زانیارییەکانی تر لەسەری لە ناو بنکەی دراوەکەدا بەم شێوەیە دەکرێت بە بەکارهێنانی WHERE :

mysql> SELECT * FROM Berpirsan
    -> WHERE Naw = 'Karwan';
+------+--------+--------+-----------+-----------+
| B_Id | Naw    | Naznaw | Nawnishan | Shar      |
+------+--------+--------+-----------+-----------+
| 1223 | Karwan | Geo    | Rizgari 3 | Suleymani |
+------+--------+--------+-----------+-----------+
1 row in set (0.00 sec)

mysql>

نموونەی ۲: ئەمجارە تەنها ئەمانەوێت B_Id, Naw, Naznaw دەربکەون بۆ ناوی "کاروان" کاتێک بەدوای زانیارییەکان دەگەڕێن، لەو کاتەدا ئەوانەی کە دەخوازرێت دەربکەوێت دەبێت بکرێتە دوای SELECTـەوە:

mysql> SELECT B_Id, Naw, Naznaw FROM Berpirsan
    -> WHERE Naw='Karwan';
+------+--------+--------+
| B_Id | Naw    | Naznaw |
+------+--------+--------+
| 1223 | Karwan | Geo    |
+------+--------+--------+
1 row in set (0.00 sec)

نوێکردنەوەی داوا - Update Query

نوێکردنەوەی داوا لە بنکەی دراوەدا کارێکی گران نییەو کڵێشەی بەکارهێنانی بەم شێوەیەی خوارەوەیە:

UPDATE nawi_xishteke SET field1=new-value1, field2=new-value2
[WHERE Clause]

بۆ نموونە "کانی" لە سلێمانی نەماوەو ئێستا دانیشتووی سویدەو بەو جۆرە ناوونیشانیشی گۆڕاوە، بۆ ئەوەی زانیارییەکانی تازە بکەینەوە دەنووسین:

mysql> UPDATE Berpirsan SET Nawnishan='TORSHAMNSGATAN 123', Shar='SWEDEN'
    -> WHERE B_Id='10346';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM Berpirsan;
+-------+--------+--------+--------------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar       |
+-------+--------+--------+--------------------+------------+
| 10346 | Kani   | Kurde  | TORSHAMNSGATAN 123 | SWEDEN     |
|   548 | Arin   | Nari   | Shorsh             | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani  |
+-------+--------+--------+--------------------+------------+
3 rows in set (0.00 sec)

تێبینی ئەوە بکە لەو نموونەیەی سەرەوەدا بۆ نوێکردنەوەی داواکە B_Idـمان بەکاربردووە، بۆ؟ لەبەرئەوەی ئەکرێت لە بنکەی دراوەکەدا چەند کەسێک هەبێت ناوی "کانی" بێت کاتێکیش لەجیاتی B_Id ناوی Nawـی کانی بنووسی ئەوە هەر کەسێک بەو ناوەوە بێت ناوونیشانی ئەگۆڕدرێت کە ئەمەش هەڵە ئەبێت، بەڵام هەموو کەسێک IDـیەکی جیاوازی هەیەو ناکرێت لە یەک بچن.

سڕینەوەی داوا - Delete Query

کڵێشەی بەکارهێنانی سڕینەوەی داوا بەم شێوەیەیە لە MySQLـدا:

DELETE FROM nawî xişteke [WHERE Clause]

ئێستاکە دەمانەوێت Arin کە لە خشتەکەماندایە بسڕینەوەو چیدی لە لیستی بەرپرساندا نەمێنێت:

mysql> select * from Berpirsan;
+-------+--------+--------+--------------------+------------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar       |
+-------+--------+--------+--------------------+------------+
| 10346 | Kani   | Kurde  | TORSHAMNSGATAN 123 | SWEDEN     |
|   548 | Arin   | Nari   | Shorsh             | Chemchemal |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani  |
+-------+--------+--------+--------------------+------------+
3 rows in set (0.06 sec)

mysql> DELETE FROM Berpirsan WHERE B_Id = 548;
Query OK, 1 row affected (0.05 sec)

mysql> select * from Berpirsan;
+-------+--------+--------+--------------------+-----------+
| B_Id  | Naw    | Naznaw | Nawnishan          | Shar      |
+-------+--------+--------+--------------------+-----------+
| 10346 | Kani   | Kurde  | TORSHAMNSGATAN 123 | SWEDEN    |
|  1223 | Karwan | Geo    | Rizgari 3          | Suleymani |
+-------+--------+--------+--------------------+-----------+
2 rows in set (0.00 sec)

mysql>

Like Clause

Like clause کار ئاسانییەکی زۆر دەکات بۆ گەڕان لە بنکەی دراوەدا بە هەماهەنگی لەگەڵ WHERE Clauseـدا. بۆ نموونە ئەگەر تۆ بەدوای Kardanـدا بگەڕێیت ئەوە دەتوانی بڵێیت:

WHERE Naw = 'Kardan'

بەڵام ئەگەر بێت‌و بنکەدراوەیەکەی گەورەت هەبێت‌و چەندین هەزار ناوی تێدا بێت‌ وە بتەوێت لیستی هەموو ئەو ناوانە بهێنیتە بەردەست کە بە "کار - Kar" دەست پێدەکەن، ئەوە Like ئەو کارە بەئاسانی دەکات.

نموونەی ۱: گەڕان بەدوای ئەو ناوانەی کە بە سێ پیتی 'کار - kar' دەست پێ دەکەن:

mysql> select * from Berpirsan;
+-------+---------+---------+--------------------+-----------+
| B_Id  | Naw     | Naznaw  | Nawnishan          | Shar      |
+-------+---------+---------+--------------------+-----------+
| 10346 | Kani    | Kurde   | TORSHAMNSGATAN 123 | SWEDEN    |
|  1001 | Saman   | Shaswar | Mufti 32           | Suleymani |
|  1223 | Karwan  | Geo     | Rizgari 3          | Suleymani |
|  1342 | Bervian | Hestyar | Mufti 32           | Hewler    |
|  4325 | Kardan  | Meriwan | Azadi 43           | Hewler    |
|  9889 | Kawan   | Serwer  | Bextyari 86        | Suleymani |
|  4445 | Ashna   | Serdar  | Mellkendi 115      | Suleymani |
+-------+---------+---------+--------------------+-----------+
7 rows in set (0.00 sec)

mysql> SELECT * FROM Berpirsan WHERE Naw LIKE 'kar%';
+------+--------+---------+-----------+-----------+
| B_Id | Naw    | Naznaw  | Nawnishan | Shar      |
+------+--------+---------+-----------+-----------+
| 1223 | Karwan | Geo     | Rizgari 3 | Suleymani |
| 4325 | Kardan | Meriwan | Azadi 43  | Hewler    |
+------+--------+---------+-----------+-----------+
2 rows in set (0.00 sec)

نموونەی ۲: گەڕان بەدوای ئەو نازناوانەی کە بە پیتی 'S' دەست پێ دەکەن:

mysql> SELECT * FROM Berpirsan WHERE Naznaw LIKE 'S%';
+------+-------+---------+---------------+-----------+
| B_Id | Naw   | Naznaw  | Nawnishan     | Shar      |
+------+-------+---------+---------------+-----------+
| 1001 | Saman | Shaswar | Mufti 32      | Suleymani |
| 9889 | Kawan | Serwer  | Bextyari 86   | Suleymani |
| 4445 | Ashna | Serdar  | Mellkendi 115 | Suleymani |
+------+-------+---------+---------------+-----------+
3 rows in set (0.00 sec)

ORDER BY Clause

لەکاتێکدا ئێمە داوامان لە MySQLـکرد کە زانیاری هەموو کەسەکانمان بۆ بهێنێت کەلە بنکە دراوەکەدا هەن بە بەکار‌هێنانی SELECT، لەم کاتەدا بینینی هەموو زانیارییەکان بەشێوەیەکی ناڕیزکراو دێنە بەردەست بۆئەوەی بەشێوەیەکی ڕیزکراو هەموو زانیارییەکان ببینین ئەوە ORDER BY بەکاردەبەین تاوەکو لە A - Z ڕیزی بکات. کڵێشەی بەکارهێنانی ORDERED BY بەم شێوەیەیە:

SELECT field1, field2,...fieldN nawi_xishteke,
ORDER BY field1, [field2...] [ASC [DESC]]

مەبەست لە ASC = ascending و لە DESC = descending. خۆی بەبنەڕەت ASC ـە بەواتای ڕیزکردن لە Aـەوە بۆ Z، ئەوی تر بە پێچەوانەوە.

نموونە: ڕیزکردن لەم نموونەیەدا بەپێی ناوەکان هاتووە.

mysql> SELECT * FROM Berpirsan ORDER BY Naw ASC;
+-------+---------+---------+--------------------+------------+
| B_Id  | Naw     | Naznaw  | Nawnishan          | Shar       |
+-------+---------+---------+--------------------+------------+
|  6434 | Amanc   | Moferi  | Germyan 10         | Chemchemal |
|  4445 | Ashna   | Serdar  | Mellkendi 115      | Suleymani  |
|  1342 | Bervian | Hestyar | Mufti 32           | Hewler     |
| 10346 | Kani    | Kurde   | TORSHAMNSGATAN 123 | SWEDEN     |
|  4325 | Kardan  | Meriwan | Azadi 43           | Hewler     |
|  1223 | Karwan  | Geo     | Rizgari 3          | Suleymani  |
|  9889 | Kawan   | Serwer  | Bextyari 86        | Suleymani  |
|  1001 | Saman   | Shaswar | Mufti 32           | Suleymani  |
+-------+---------+---------+--------------------+------------+
8 rows in set (0.02 sec)

mysql>

بەکارهێنانی Join

تاوەکو ئێستا تەنها زانیاریمان بەدەست هێناوە تەنها لە یەک خشتەوە لە بنکەیەکی دراوەدا بەڵام ئەگەر بێت‌و چەند خشتەیەکمان هەبێت‌و بمانەوێت چەند زانیارییەک بەدەست بهێنین، جی ئەکەین؟ وەڵامەکەی ئەوە دەبێت بە لێکدانی دوو یان زیاتر لە خشتەیەک لە MySQL Queryـدا.
بەواتای ئەوەی کاری Join بریتی دەبێت بە لێکدانی دوو یان زیاتر لە خشتەیەک بۆ بەدەست هێنانی زانیاری لە چەند خشتەیەکی بنکە دراوەکەدا.

سەرچاوە

  1. وێبگەی فەرمی mySQL
  2. MySQL 5.5 Reference Manual