Iwu nchịkwa nchekwa data MySQL - Nkebi I


Database bụ data ahaziri ahazi nke echekwara na eletrọnịkị. Echiche nke nchekwa data bụ ndị nna nna anyị maara ọbụna mgbe enweghị kọmputa, Otú ọ dị, ịmepụta na idobe nchekwa data dị otú ahụ bụ ọrụ na-agwụ ike. N'ime nchekwa data ntuziaka na-ekwu maka ibe 100, ọ bụrụ na ị ga-achọ ndị ọrụ niile nke ụgwọ ọnwa ha na-erughị 10k, chee echiche otú ọ ga-esi sie ike, mgbe ahụ.

N'ụwa taa ị nweghị ike ịgbanarị database. Ugbu a ọtụtụ nde nchekwa data na-arụ ọrụ gburugburu ụwa iji chekwaa na weta data ụdị ọ bụla ma ọ bụrụ data atụmatụ, ndekọ ndị ọrụ ma ọ bụ teknụzụ weebụ.

A na-akpọkarị ọdụ data dị ka usoro azụ azụ, n'ihi na ọ naghị ahụ onye ọrụ njedebe ma ọ bụ onye ọrụ njedebe na-emekọrịta ihe ozugbo na nchekwa data. Ha na-arụ ọrụ n'ihu-ọgwụgwụ usoro viz., PHP, VB, ASP.NET, wdg ma na-ajụ n'ihu njedebe na-emeso nchekwa data na azụ-njedebe.

Enwere ọtụtụ ihe nkesa nchekwa data na ndị ahịa dị ka Oracle, MySQL, MySQLi, MongoDB wdg. Okwu syntax nke ihe ndị a niile bụ otu ihe. Ịmụta otu pụtara ịnweta njikwa na ọtụtụ n'ime ha na ịmụta ajụjụ nke nchekwa data dị nnọọ mfe ma na-atọ ụtọ.

Ka anyị malite na ajụjụ dị mfe na nchekwa data. Anyị ga-eji MySQL nke na-abịa na ọtụtụ nkesa Linux na ndabara, ị nwere ike iji aka tinye ya site na ebe nchekwa, ma ọ bụrụ na etinyeghị ya na ndabara n'ọnọdụ gị.

Ọfọn ajụjụ nchekwa data bụ koodu dị mfe nke ezigara na nchekwa data iji nweta nsonaazụ omenala na nụchara anụcha, dịka achọrọ.

Wụnye MySQL ọdụ data

Jiri njikwa ngwugwu yum ma ọ bụ apt ka ịwụnye MySQL Database.

# yum install mysql mysql-client mysql-server  (on Yum based Systems)

# apt-get install mysql mysql-client mysql-server (on Apt based Systems)

Malite ọrụ nchekwa data MySQL dị ka:

# service mysqld start
or
# service mysql start

Ịwụnye nchekwa data MySQL nke ọma ga-akpọrọ gị gaa na nhazi ebe a gwara gị ka ịtọlite paswọọdụ nchịkwa, wdg. Ozugbo ị wụnye na ịmalite sava ahụ gaa na MySQL ozugbo.

# mysql -u root -p

Dochie mgbọrọgwụ na aha njirimara ahaziri ma tinye paswọọdụ mgbe a kpaliri ya, ọ bụrụ na nzere nbanye ahụ ziri ezi, ị ga-anọ na MySQL ozugbo n'anya gị.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 195 

Server version: 5.5.31-0+wheezy1 (Debian) 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 
Other names may be trademarks of their respective owners. 

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

mysql>

Ugbu a, ime ajụjụ na ngwa ngwa a bụ ihe na-akụzi ma na-atọ ụtọ.

mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Cheta na: Ọ na-akọ na ajụjụ ahụ ziri ezi, pụtara na emepụtara nchekwa data. Ị nwere ike nyochaa nchekwa data gị emepụtara ọhụrụ dị ka.

mysql> show databases; 
+--------------------+
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
9 rows in set (0.00 sec) 
mysql>

Mara: Rụba ama na nchekwa data gị na mmepụta dị n'elu.

Ugbu a ịkwesịrị ịhọrọ nchekwa data iji rụọ ọrụ na ya.

mysql> use tecmint;
Database changed
mysql>

N'ebe a, anyị ga-eke tebụl sị minttec nwere ubi atọ dị ka:

mysql> CREATE TABLE minttec (
    -> id Int(3), 
    -> first_name Varchar (15), 
    -> email Varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.08 sec) 
mysql>

Mara: Ajụjụ a dị n'elu na-ekwu OK nke pụtara na e mepụtara tebụl na-enweghị njehie ọ bụla. Iji nyochaa tebulu ahụ gbasoo ajụjụ dị n'okpuru.

mysql> show tables; 
+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| minttec           | 
+-------------------+ 

1 row in set (0.00 sec) 

mysql>

Ihe na-aga nke ọma ruo ugbu a. Ee! Ị nwere ike ịlele ogidi ndị ị mepụtara na tebụl minttec dị ka:

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec)

mysql>

Ọ dịghị ihe na-erughị a anwansi. Agbanyeghị, m ga-agwa gị maka ụdị nkwupụta na ihe ha pụtara.

  1. Int bụ ọnụọgụgụ
  2. Varchar bụ char nwere ogologo ogologo dịka akọwara ya. Uru mgbe Ụdị bụ ogologo ubi ruo nke ọ nwere ike ịchekwa data.

Ọ dị mma ugbu a, anyị kwesịrị ịgbakwunye kọlụm kwuo 'aha ikpeazụ' ka kọlụm 'first_name'.

mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Ugbu a, nyochaa ya na tebụl gị.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

mysql>

Ugbu a, anyị ga-agbakwunye kọlụm n'aka nri kwuo kọlụm 'mba' n'aka nri nke email.

mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; 
Query OK, 0 rows affected (0.16 sec) 
Records: 0  Duplicates: 0  Warnings: 0 

mysql>

Nyochaa ajụjụ ntinye kọlụm dị n'elu.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
| country    | varchar(15) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 

mysql>

Kedu maka itinye ụkpụrụ n'ọhịa?

mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email ' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

Kedu maka itinye ihe karịrị uru 1 n'otu oge na tebụl dị n'elu.

mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email ' , 'India' ), ('3' , 'user' , 'singh' , '[email ' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email ' , 'India' );
Query OK, 3 rows affected (0.05 sec) 
Records: 3  Duplicates: 0  Warnings: 0

Nyochaa ntinye n'elu.

mysql> select * from minttec; 
+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+ 
|    1 | Ravi	    | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    3 | user       | singh     | [email       | Aus     | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+ 

4 rows in set (0.00 sec)

mysql>

Ka anyị kwuo na ntinye nke atọ na mmepụta dị n'elu adịghị mma ma anyị kwesịrị ihichapụ ntinye nke atọ.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Nyochaa ọrụ dị n'elu.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)

Id (=4) kwesiri ka edezi ya.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Nyochaa ajụjụ a dị n'elu.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Mara: Ajụjụ dị n'elu, dịka a na-eme abụghị ezigbo echiche. Ọ ga-agbanwe id ka ọ bụrụ '4' ebe aha mbụ bụ 'tecmint'. Ọ na-adị mma mgbe niile iji ihe karịrị otu kọlụm nwere ebe nkeji iji nweta mperi mperi, dịka:

mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Ka anyị kwesịrị idobe (ihichapụ) kọlụm anyị chere, ọ dịghị mkpa ịsị 'mba' ebe a.

mysql> ALTER TABLE minttec drop country; 
Query OK, 3 rows affected (0.15 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

Nyochaa tebụl.

mysql> select * from minttec; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>

Ị naghị eche na aha tebụl anyị minttec adịghị mkpa nke ukwuu. Kedu maka ịgbanwe ya ka ọ bụrụ tecmint_table.

mysql> RENAME TABLE minttec TO tecmint_table; 
Query OK, 0 rows affected (0.03 sec)

mysql>

Hụ tebụl niile n'okpuru nchekwa data dị ugbu a.

mysql> show tables; 

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+
1 row in set (0.00 sec) 

mysql>

Tebụl ahụ agbanweela aha. Ugbu a were ndabere nke nchekwa data MySQL dị n'elu, n'otu ahịrị iwu na-enweghị ngwa ọ bụla ọkaibe. Gbaa koodu dị n'okpuru na ọdụ gị ọ bụghị na mysql ozugbo.

# mysqldump -u root -p tecmint > tecmint.sql

check the dumped file on your desktop which would have contents something like
-- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
-- Server version 5.5.31-0+wheezy1 -- 
Dump completed on 2013-09-02 12:55:37

Ọ na-adị mma mgbe niile idowe ndabere nke ọdụ data MySQL. Iweghachi data MySQL akwadoro bụ ahịrị koodu dị mfe ịchọrọ iji na-agba ọsọ na njedebe gị ọ bụghị na ngwa ngwa mysql gị.

Mana, chere na mbụ anyị ga-ehichapụ nchekwa data iji chọpụta ma ọ bụrụ na iweghachi anyị zuru oke.

mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Lelee maka 'tecmint' nchekwa data na sava nchekwa data gị.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| my_database        | 
| mysql              | 
| performance_schema | 
| phpmyadmin         | 
| sisso              | 
| test               | 
+--------------------+

7 rows in set (0.00 sec) 
mysql>

Nnukwu! Ebe nchekwa data furu efu, mana anyị ekwesịghị ichegbu onwe anyị, anyị na-enwe nkwado ndabere.

Ka iweghachite nchekwa data furu efu, mee iwu a.

# mysql -u root -p tecmint < tecmint.sql
Enter password:
ERROR 1049 (42000): Unknown database 'tecmint'

OOPS! Njehie, hey anyị emepụtaghị tecmint nchekwa data. Yabụ gaa na ngwa ngwa mysql gị wee mepụta nchekwa data 'tecmint'.

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

mysql>

Ugbu a oge na-agba ọsọ weghachi iwu na gị shei ozugbo (siri ike).

# mysql -u root -p tecmint < tecmint.sql 
Enter password:

Nyochaa nchekwa data gị.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
8 rows in set (0.00 sec)

Nyochaa ọdịnaya nke nchekwa data.

mysql> show tables from tecmint;

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+ 
1 row in set (0.00 sec)

mysql>

Nyochaa ọdịnaya nke tebụl gị eweghachitere.

mysql> select * from tecmint_table; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+

3 rows in set (0.00 sec)

Nke a abụghị njedebe n'ezie, anyị ga-ekpuchi echiche nke isi igodo, igodo mba ọzọ, ọtụtụ tebụl na ajụjụ na-agba ọsọ site na iji ederede PHP dị mfe na akụkụ ọzọ nke isiokwu ahụ.

Echefula ịgwa anyị, otú ọ dị gị mgbe ị na-agụ akụkọ ahụ. A na-enwe ekele maka okwu gị. Nọgide na-adị mma ma na-ege ntị, nọgide na-ejikọta na Tecment.