Mysql
 sql >> Database >  >> RDS >> Mysql

Comandi di amministrazione di base del database MySQL – Parte I

Banca dati è un insieme strutturato di dati archiviati elettronicamente. Il concetto di database era noto ai nostri antenati anche quando non esistevano i computer, tuttavia creare e mantenere tale database era un lavoro molto noioso. In un database manuale diciamo 100 pagine, se devi cercare tutti i dipendenti il ​​cui stipendio era inferiore a 10k , pensa a quanto sarebbe stato difficile, allora.

Nel mondo di oggi non puoi sfuggire al Database . In questo momento milioni di database stanno lavorando in tutto il mondo per archiviare e recuperare dati di ogni tipo, siano essi dati strategici, record dei dipendenti o tecnologie web.

Il database è spesso definito come processo di back-end, poiché non è né visibile all'utente finale né all'utente finale interagisce direttamente con il database. Funzionano sul processo front-end, vale a dire, PHP , VB , ASP.NET , ecc. e chiedi al front-end di gestire il database nel back-end.

Sono disponibili diversi server di database e client come Oracle , MySQL , MySQL , MariaDB, MongoDB ecc. La sintassi di tutti questi è più o meno la stessa. Padroneggiarne uno significa ottenere il controllo sulla maggior parte di essi e apprendere le query di un database è molto facile e divertente.

Iniziamo con semplici query sul database. Useremo MySQL che viene fornito in bundle con la maggior parte di Linux distribuzioni per impostazione predefinita, puoi installarlo manualmente dal repository, se non è installato per impostazione predefinita nel tuo caso.

Bene, una query del database è un semplice pezzo di codice che viene inviato al database per ottenere risultati personalizzati e perfezionati, come richiesto.

Installa il database MySQL

Usa "yum ” o “apt ” gestore di pacchetti per installare MySQL Banca dati.

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

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

Avvia MySQL servizio di database come:

# service mysqld start
or
# service mysql start

Installazione corretta di un MySQL database ti porterà alla configurazione in cui ti viene chiesto di configurare admin password, ecc. Una volta terminata l'installazione e l'avvio del server, vai al tuo MySQL richiesta.

# mysql -u root -p

Sostituisci root con il tuo nome utente configurato e inserisci la password quando richiesto, se le credenziali di accesso sono corrette, sarai al tuo MySQL in un batter d'occhio.

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>

Ora eseguire le query a questo prompt è molto istruttivo e divertente.

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

mysql>

Nota :Segnala che la query era corretta, significa che il database è stato creato. Puoi verificare il tuo database appena creato come.

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

Nota :Nota il tuo database nell'output sopra.

Seleziona Database

Ora devi selezionare il database su cui lavorarci.

mysql> use tecmint;
Database changed
mysql>
Crea tabelle in MySQL

Qui creeremo una tabella che dice "minttec ” con tre campi come:

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

Nota :La query precedente dice OK il che significa che la tabella è stata creata senza alcun errore. Per verificare la tabella, esegui la query seguente.

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

1 row in set (0.00 sec) 

mysql>

Le cose stanno andando bene fino ad ora. Sì! Puoi visualizzare le colonne che hai creato nella tabella "minttec ” come:

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>

Non era niente di meno che una magia. Comunque ti parlerò dei tipi di dichiarazione e del loro significato.

  1. Int è Intero
  2. Varca è un carattere di lunghezza variabile come definito. Il valore dopo Tipo è la lunghezza del campo fino alla quale può memorizzare i dati.

OK ora dobbiamo aggiungere una colonna dire "cognome ' dopo la colonna '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

Ora verificalo nella tua tabella.

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>
Aggiungi colonna in MySQL

Ora aggiungeremo una colonna a destra, ad esempio "paese". ' a destra di e-mail .

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>

Verifica la query di inserimento della colonna sopra.

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>
Inserisci valori nel campo

Che dire dell'inserimento di valori nel campo?

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

mysql>

Che ne dici di inserire più di 1 valore alla volta nella tabella sopra.

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

Verifica l'inserimento sopra.

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>
Elimina valori nel campo

Diciamo che la terza voce nell'output sopra non è valida e dobbiamo eliminare la terza voce.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Verifica l'operazione di cui sopra.

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)
Aggiorna valori nel campo

L'ID (=4) deve essere modificato.

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>

Verifica la query precedente.

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>

Nota :La query precedente, come eseguita, non è una buona idea. Cambierà l'ID in "4 ' ovunque il nome sia 'tecmint' . È sempre una buona idea utilizzare più di una colonna con la clausola where per ottenere un errore minimo, come:

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>
Elimina colonna in MySQL

Dobbiamo eliminare (eliminare) una colonna che pensiamo, non ha importanza dire "paese ' qui.

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

mysql>

Verifica la tabella.

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>
Rinomina tabella in MySQL

Non pensi che il nome del nostro tavolo "minttec ” non è molto rilevante. Che ne dici di cambiarlo in tecmint_table .

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

mysql>
Elenca tutte le tabelle

Vedi tutte le tabelle nel database corrente.

mysql> show tables; 

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

mysql>

La tabella è stata rinominata. Ora fai un backup di MySQL sopra database, in un'unica riga di comando senza alcuno strumento sofisticato. Esegui il codice seguente sul tuo terminale e non sul prompt di 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

È sempre una buona idea mantenere il backup dei database MySQL. Ripristino di MySQL di cui è stato eseguito il backup I dati sono di nuovo una semplice riga di codice che devi eseguire al prompt del terminale e non al prompt di mysql.

Ma aspetta prima elimineremo il database per verificare se il nostro ripristino è perfetto.

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

Controlla il database "tecmint" sul tuo server di database.

mysql> show databases; 

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

7 rows in set (0.00 sec) 
mysql>

Grande! Il database è perso, ma non dobbiamo preoccuparci, stiamo facendo il backup.

Ripristina un database

Per ripristinare il database perso, eseguire il comando seguente.

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

OPS ! Un errore, non abbiamo creato il database tecmint . Quindi vai al tuo prompt di mysql e crea un database "tecmint '.

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

mysql>

Ora è il momento di eseguire il comando di ripristino al prompt della shell (rigorosamente).

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

Verifica il tuo database.

mysql> show databases; 

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

Verifica il contenuto del database.

mysql> show tables from tecmint;

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

mysql>

Verifica il contenuto della tabella ripristinata.

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)

Questa non è sicuramente la fine, tratteremo il concetto di chiave primaria , chiave straniera , più tabelle e esecuzione di query utilizzando un semplice PHP script nella parte successiva dell'articolo.

Non dimenticare di dircelo , come ti sei sentito mentre leggevi l'articolo. I tuoi commenti sono molto apprezzati. Rimani sano e sintonizzato , rimani connesso a Tecmint .