sql >> Databáze >  >> RDS >> Mysql

Základní příkazy pro správu databáze MySQL – část I

Databáze je strukturovaný soubor dat uchovávaných v elektronické podobě. Pojem databáze znali naši předkové ještě v době, kdy neexistovaly počítače, nicméně vytvoření a údržba takové databáze byla velmi zdlouhavá práce. V manuální databázi řekněme 100 stránky, pokud musíte vyhledat všechny zaměstnance, jejichž plat byl nižší než 10 tisíc , jen si pomysli, jak by to bylo těžké.

V dnešním světě prostě nemůžete uniknout z databáze . Právě teď miliony databází po celém světě pracují na ukládání a načítání dat všeho druhu, ať už jde o strategická data, záznamy zaměstnanců nebo webové technologie.

Databáze je často nazývána jako back-endový proces, protože není viditelná pro koncového uživatele ani koncového uživatele interaguje přímo s databází. Pracují na front-end procesu viz., PHP , VB , ASP.NET , atd. a požádejte frontend, aby se zabýval databází v back-endu.

K dispozici je několik databázových serverů a klientů, jako je Oracle , MySQL , MySQLi , MariaDB, MongoDB atd. Syntaxe všech z nich je víceméně stejná. Zvládnout jeden znamená získat kontrolu nad většinou z nich a naučit se dotazy z databáze je velmi snadné a zábavné.

Začněme jednoduchými dotazy na databázi. Budeme používat MySQL který je součástí většiny Linuxu distribucí ve výchozím nastavení, můžete jej nainstalovat ručně z úložiště, pokud ve vašem případě není nainstalován ve výchozím nastavení.

Databázový dotaz je jednoduchý kus kódu, který se odešle do databáze, aby získal vlastní a upřesněný výsledek podle potřeby.

Nainstalujte databázi MySQL

Použijte „yum “ nebo „apt ” správce balíčků k instalaci MySQL Databáze.

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

# apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Spusťte MySQL

Spusťte MySQL databázová služba jako:

# service mysqld start
or
# service mysql start

Dobrá instalace MySQL databáze vás přenese do konfigurace, kde budete požádáni o nastavení admin heslo atd. Po dokončení instalace a spuštění serveru přejděte do MySQL výzva.

# mysql -u root -p

Nahraďte root s vaším nakonfigurovaným uživatelským jménem a zadejte heslo po zobrazení výzvy, pokud jsou přihlašovací údaje správné, budete ve svém MySQL mrknutím vašich očí.

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>

Nyní je provádění dotazů na tuto výzvu velmi poučné a zábavné.

Vytvořte databázový tecmint
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Poznámka :Hlásí, že dotaz byl správný, což znamená, že databáze je vytvořena. Nově vytvořenou databázi můžete ověřit jako.

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

Poznámka :Všimněte si své databáze ve výše uvedeném výstupu.

Vyberte databázi

Nyní musíte vybrat databázi, abyste s ní mohli pracovat.

mysql> use tecmint;
Database changed
mysql>
Vytváření tabulek v MySQL

Zde vytvoříme tabulku „minttec ” se třemi poli jako:

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

Poznámka :Výše ​​uvedený dotaz říká OK což znamená, že tabulka byla vytvořena bez chyby. Pro ověření tabulky spusťte níže uvedený dotaz.

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

1 row in set (0.00 sec) 

mysql>

Věci jdou zatím dobře. ano Sloupce, které jste vytvořili, můžete zobrazit v tabulce „minttec ” jako:

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>

Nebylo to nic menšího než kouzlo. Každopádně vám řeknu o typech deklarací a jejich významu.

  1. Int je Integer
  2. Varchar je char, který má proměnnou délku, jak je definováno. Hodnota za typem je délka pole, do které může ukládat data.

OK, nyní musíme přidat sloupec s názvem „last_name ‘ za sloupcem ‘křestní_jméno ‘.

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

Nyní to ověřte ve své tabulce.

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>
Přidat sloupec do MySQL

Nyní přidáme sloupec vpravo, řekněme sloupec „země ‘ napravo od e-mailu .

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>

Ověřte výše uvedený dotaz na vkládání sloupců.

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>
Vložte hodnoty do pole

A co vkládání hodnot do pole?

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

mysql>

Co takhle vložit více než 1 hodnotu v čase ve výše uvedené tabulce.

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

Ověřte výše uvedené vložení.

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>
Smazat hodnoty v poli

Řekněme, že třetí záznam ve výše uvedeném výstupu je neplatný a potřebujeme odstranit třetí záznam.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Ověřte výše uvedenou operaci.

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)
Aktualizujte hodnoty v poli

ID (=4) je třeba upravit.

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>

Ověřte výše uvedený dotaz.

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>

Poznámka :Výše ​​uvedený dotaz tak, jak byl proveden, není dobrý nápad. Změní ID na „4 kde je křestní jméno „tecmint“ . Vždy je dobré použít více než jeden sloupec s klauzulí where, abyste získali minimální chyby, jako:

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>
Odstranit sloupec v MySQL

Potřebujeme vypustit (smazat) sloupec, o kterém si myslíme, že není důležitý, řekněme „země ‘ zde.

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

mysql>

Ověřte tabulku.

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>
Přejmenovat tabulku v MySQL

Nemyslíte si, že se naše tabulka jmenuje „minttec “ není příliš relevantní. Co takhle změnit to na tecmint_table .

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

mysql>
Seznam všech tabulek

Podívejte se na všechny tabulky v aktuální databázi.

mysql> show tables; 

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

mysql>

Tabulka byla přejmenována. Nyní vytvořte zálohu výše uvedeného MySQL databáze na jediném řádku příkazu bez jakéhokoli sofistikovaného nástroje. Spusťte níže uvedený kód na svém terminálu a ne na výzvu 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

Vždy je dobré udržovat zálohu databází MySQL. Obnovení zálohované MySQL Data jsou opět jednoduchý řádek kódu, který musíte spustit na příkazovém řádku terminálu a ne na příkazovém řádku mysql.

Nejprve však počkejte, smažeme databázi, abychom ověřili, zda je naše obnova perfektní.

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

Zkontrolujte, zda je na vašem databázovém serveru databáze ‚tecmint‘.

mysql> show databases; 

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

7 rows in set (0.00 sec) 
mysql>

Skvělý! Databáze je ztracena, ale nemusíme se bát, máme zálohu.

Obnovení databáze

Chcete-li obnovit ztracenou databázi, spusťte následující příkaz.

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

OOPS ! Chyba, hej, nevytvořili jsme databázi tecmint . Přejděte tedy na výzvu mysql a vytvořte databázi ‘tecmint ‘.

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

mysql>

Nyní je čas spustit příkaz obnovení ve výzvě shellu (přísně).

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

Ověřte svou databázi.

mysql> show databases; 

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

Ověřte obsah databáze.

mysql> show tables from tecmint;

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

mysql>

Ověřte obsah obnovené tabulky.

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)

Tím to definitivně nekončí, budeme se zabývat konceptem primárního klíče , cizí klíč , více tabulek a spouštění dotazů pomocí jednoduchého PHP skript v další části článku.

Nezapomeňte nám to sdělit , jak jste se cítili při procházení článku. Vaše komentáře jsou vysoce ceněny. Zůstaňte zdraví a Vyladěno , zůstaňte připojeni k Tecmintu .


  1. Auto Increment Column – Sekvence jako výchozí hodnota v Oracle

  2. Příklady MAKETIME() – MySQL

  3. mysql po vložení spouštěče, který aktualizuje sloupec jiné tabulky

  4. Přírůstek identity skáče v databázi SQL Server