База данни е структуриран набор от данни, съхранявани по електронен път. Концепцията за база данни е била позната на нашите предци дори когато не е имало компютри, но създаването и поддържането на такава база данни е много досадна работа. В ръчна база данни кажете 100 страници, ако трябва да търсите всички служители, чиято заплата е била по-малка от 10k , помислете само колко трудно щеше да е тогава.
В днешния свят просто не можете да избягате от База данни . В момента милиони бази данни работят по целия свят, за да съхраняват и извличат данни от всякакъв вид, било то стратегически данни, записи на служители или уеб технологии.
Базата данни често се нарича беден процес, тъй като не е видима нито за крайния потребител, нито за крайния потребител взаимодейства директно с базата данни. Те работят на фронтен процес, а именно PHP , VB , ASP.NET и т.н. и помолете предния край да се справи с базата данни в задния край.
Налични са няколко сървъра и клиента на база данни като Oracle , MySQL , MySQLi , MariaDB, MongoDB и т.н. Синтаксисът на всички тях е повече или по-малко един и същ. Овладяването на такъв означава получаване на контрол върху повечето от тях и изучаването на заявките на база данни е много лесно и забавно.
Нека започнем с прости заявки към базата данни. Ще използваме MySQL който идва в комплект с повечето от Linux дистрибуции по подразбиране, можете да го инсталирате ръчно от хранилището, ако не е инсталирано по подразбиране във вашия случай.
Ами заявката към база данни е прост код, който се изпраща до базата данни, за да се получи персонализиран и прецизиран резултат, както се изисква.
Инсталирайте MySQL база данни
Използвайте „yum ” или „apt ” пакетен мениджър за инсталиране на MySQL База данни.
# yum install mysql mysql-client mysql-server (on Yum based Systems) # apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Стартирайте MySQL
Стартирайте MySQL услуга за база данни като:
# service mysqld start or # service mysql start
Добре инсталиране на MySQL база данни ще ви отведе до конфигурацията, където ще бъдете помолени да настроите admin парола и др. След като приключите с инсталирането и стартирането на сървъра, отидете на вашия MySQL подкана.
# mysql -u root -p
Сменете root с конфигурираното от вас потребителско име и въведете парола когато бъдете подканени, ако идентификационните данни за вход са правилни, ще бъдете във вашия MySQL подкана с мигане на очите ви.
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>
Сега извършването на заявки в тази подкана е много образователно и забавно.
Създайте база данни tecmint
mysql> create database tecmint ; Query OK, 1 row affected (0.02 sec) mysql>
Забележка :Отчита, че заявката е била правилна, означава, че базата данни е създадена. Можете да потвърдите новосъздадената си база данни като.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 9 rows in set (0.00 sec) mysql>
Забележка :Забележете вашата база данни в горния изход.
Изберете база данни
Сега трябва да изберете базата данни, за да работите върху нея.
mysql> use tecmint; Database changed mysql>
Създаване на таблици в MySQL
Тук ще създадем таблица с надпис „minttec ” с три полета като:
mysql> CREATE TABLE minttec ( -> id Int(3), -> first_name Varchar (15), -> email Varchar(20) -> ); Query OK, 0 rows affected (0.08 sec) mysql>
Забележка :Горната заявка казва OK което означава, че таблицата е създадена без грешка. За да проверите таблицата, изпълнете заявката по-долу.
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | minttec | +-------------------+ 1 row in set (0.00 sec) mysql>
Засега нещата вървят добре. Мда! Можете да видите колоните, които сте създали в таблицата „minttec ” като:
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>
Не беше нищо по-малко от магия. Все пак ще ви разкажа за видовете декларации и тяхното значение.
- Int е цяло число
- Варчар е char с променлива дължина, както е дефинирано. Стойността след Type е дължината на полето, до което може да съхранява данни.
Добре, сега трябва да добавим колона „last_name „ след колона „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
Сега го проверете във вашата таблица.
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>
Добавяне на колона в MySQL
Сега ще добавим колона вдясно, кажете колона „страна ‘ вдясно от имейл .
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>
Проверете горната заявка за вмъкване на колона.
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>
Вмъкване на стойности в поле
Какво ще кажете за вмъкване на стойности в полето?
mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email protected]' , 'India' ); Query OK, 1 row affected (0.02 sec) mysql>
Какво ще кажете за вмъкване на повече от 1 стойност в даден момент в таблицата по-горе.
mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email protected]' , 'India' ), ('3' , 'user' , 'singh' , '[email protected]' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email protected]' , 'India' ); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0
Проверете горното вмъкване.
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 3 | user | singh | [email protected] | Aus | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 4 rows in set (0.00 sec) mysql>
Изтриване на стойности в поле
Да кажем, че третият запис в горния изход е невалиден и трябва да изтрием третия запис.
mysql> DELETE FROM minttec WHERE id = 3; Query OK, 1 row affected (0.02 sec)
Проверете горната операция.
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 3 rows in set (0.00 sec)
Актуализиране на стойностите в полето
Идентификаторът (=4) трябва да бъде редактиран.
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>
Проверете горната заявка.
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>
Забележка :Горната заявка, както е изпълнена, не е добра идея. Това ще промени идентификатора на „4 „ където първото име е „tecmint“ . Винаги е добра идея да използвате повече от една колона с клауза where, за да получите минимална грешка, като:
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>
Изтриване на колона в MySQL
Нека трябва да пуснем (изтрием) колона, която смятаме, че няма значение, кажете „страна „тук.
mysql> ALTER TABLE minttec drop country; Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>
Проверете таблицата.
mysql> select * from minttec; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec) mysql>
Преименувайте таблицата в MySQL
Не мислите ли, че нашата таблица се казва „minttec ” не е много уместен. Какво ще кажете да го промените на tecmint_table .
mysql> RENAME TABLE minttec TO tecmint_table; Query OK, 0 rows affected (0.03 sec) mysql>
Списък на всички таблици
Вижте всички таблици в текущата база данни.
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
Таблицата е преименувана. Сега направете резервно копие на горния MySQL база данни, в един команден ред без никакъв сложен инструмент. Изпълнете кода по-долу във вашия терминал, а не в подканата на mysql.
# 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
Винаги е добра идея да поддържате архивиране на MySQL бази данни. Възстановяване на архивирания MySQL Данните отново са прост ред код, който трябва да изпълните в подканата на терминала, а не в подканата на mysql.
Но изчакайте първо, ние ще изтрием базата данни, за да проверим дали възстановяването ни е перфектно.
Изтриване на база данни
mysql> drop database tecmint; Query OK, 1 row affected (0.02 sec)
Проверете за база данни „tecmint“ на вашия сървър на база данни.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my_database | | mysql | | performance_schema | | phpmyadmin | | sisso | | test | +--------------------+ 7 rows in set (0.00 sec) mysql>
Страхотен! Базата данни е загубена, но не трябва да се притесняваме, имаме резервно копие.
Възстановяване на база данни
За да възстановите изгубената база данни, изпълнете следната команда.
# mysql -u root -p tecmint < tecmint.sql Enter password: ERROR 1049 (42000): Unknown database 'tecmint'
ОУП ! Грешка, хей, не сме създали базата данни tecmint . Затова отидете на подканата на mysql и създайте база данни „tecmint ‘.
mysql> create database tecmint; Query OK, 1 row affected (0.00 sec) mysql>
Сега е време да изпълните командата за възстановяване в подканата на вашата обвивка (строго).
# mysql -u root -p tecmint < tecmint.sql Enter password:
Проверете вашата база данни.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 8 rows in set (0.00 sec)
Проверете съдържанието на базата данни.
mysql> show tables from tecmint; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
Проверете съдържанието на вашата възстановена таблица.
mysql> select * from tecmint_table; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec)
Това определено не е краят, ще покрием концепцията за първичен ключ , външен ключ ,множество таблици и изпълнение на заявки използвайки прост PHP скрипт в следващата част на статията.
Не забравяйте да ни кажете , как се почувствахте, докато преглеждахте статията. Вашите коментари са високо оценени. Бъдете здрави и Настроен , останете свързани с Tecmint .