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

لە چاوگ
No edit summary
ھێڵی ٦١: ھێڵی ٦١:


== سازکردنی MySQL==
== سازکردنی MySQL==
ڕێکخستن و سازدانی هەڵسوڕانی MySQL لە پەڕگەی /etc/mysql/my.cnf دا پێناسکراون.
ڕێکخستن و سازدانی هەڵسوڕانی MySQL لە پەڕگەی
<source lang='bash'> /etc/mysql/my.cnf  
</source>ـدا پێناسکراون.


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

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

لۆگۆی فەرمی 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)
);

سڕینەوەی خشتە - Create 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

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

The WHERE Clause

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

سەرچاوە

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