Lucrul cu MySQL
Aș dori să contribuie la spațiul informațional al site-ului pe cele mai populare SGBD (sistem de management al bazei de date) MySQL.
Pentru a începe, trage-te împreună și să vedem ce avem de a instala și configura MySQL.
Sistem de operare Linux Debian 2.6.26-2-686 și dorința de a înțelege)
instalarea MySQL
Va instala MySQL, cu o simplă comandă
apt-get install mysql-server
În timpul instalării cere de a conduce parola de administrator pentru MySQL
După ce instalați serviciul MySQL se execută. Poroverim
Prin utilizarea comenzilor rula / repornire MySQL
Utilizare: /etc/init.d/mysql start | opri | repornești | reîncarcă | force-reload | Starea
Peste cap de la baza de date folosind parola introdusă în timpul instalării
Cum pot găsi informații despre baza?
Despre structura bazei de date
Baza de date este format din tabele, tabele sunt formate din câmpuri și înregistrări, pe teren - înregistrarea atribute. Fiecare intrare are un identificator unic - cheie (cheia primară), este singura si unica in acest tabel pentru această intrare. Câmpurile din fiecare intrare pot avea diferite tipuri de date (numere întregi și neintregii, siruri de caractere, imagini și multe alte modificări pentru utilizarea optimă a mediului de lucru)
Cum de a vizualiza informații despre bazele de date disponibile?
Utilizați BAZE cerere SHOW;
La sfârșitul fiecărei interogare a bazei de date trebuie să fie citat, în caz contrar limbajul de interogare îl va percepe ca o solicitare incompletă
După cum putem vedea până acum, că avem două tabele care conțin informații de proprietate
Va crea baza de date, care va "Gateway"))
CREATE DATABASE AdminVestnik;
Vizualizați baza noastră de date
Baza este adăugată, merge mai departe
Fă-l, astfel încât ar fi toate interogarea implicită este executată numai baza noastră nou înființate AdminVestnik folosind comanda USE
Acum, toate cererile vor fi trimise la baza de date AdminVestnik
Baza noastra de date este goală, verificați comanda tabele arată tabele;
Adăugați un tabel folosind CREATE TABLE „nume de tabel“ comandă (câmp de înregistrare);
CREA mysiteusers TABLE (id INT (2) AUTO_INCREMENT PRIMARY KEY, numele VARCHAR (20), VARCHAR fam (20), workof VARCHAR (30), e-mail VARCHAR (30)) DEFAULT CHARACTER SET UTF8;
id INT (2) AUTO_INCREMENT PRIMARY KEY - câmp cheie întreg unic pentru înregistrarea a 2-simbol (99)
nume VARCHAR (20), - o dimensiune câmp șir de 20 de caractere
DEFAULT SET UTF8 PERSONAJ - codificarea implicită pentru tabel
După cum puteți vedea un tabel adăugat, mergeți mai departe
Să ne uităm la descrierile de masă corecte prin comandă describe
Vedem că totul este în ordine, merge mai departe
Să scrie ceva pe masa noastră cu comanda INSERT INTO
INSERT INTO mysiteusers valori ( '', 'Aleksandr', 'Kravciuk,' administrator de sistem '' [email protected] „);
Să adăugăm unele mai multe înregistrări pentru solicitările viitoare
INSERT INTO mysiteusers VALUES ( '', 'Denis', 'Ivanov', 'PHP Programmist', '[email protected]');
INSERT INTO mysiteusers VALUES ( '', 'Kolyan', 'Kuziv', 'Chaynik ept', '[email protected]');
Uită-te la o cerere de exemplu, și asigurați-vă că înregistrarea adăugat la masa
SELECT * FROM mysiteusers;
Prelevarea de probe de un singur câmp
SELECT fam DIN mysiteusers; toate înregistrările un fam câmp
SELECT nume, fam DIN mysiteusers; Toate câmpurile de înregistrare și numele fam
Să interogare mai complexă)
SELECT nume, fam FROM mysiteusers WHERE nume = 'Denis'; cerere, cu condiția, atunci când numele (câmpul „nume“) egal Denis
Să presupunem că avem nevoie pentru a schimba o singură intrare în tabel. Acest lucru se face prin intermediul unui miracol UPDATE comandă SET
mysiteusers UPDATE SET workof = 'director IT', unde FAM = 'Kravciuk';
Uită-te la rezultate:
După cum puteți vedea înregistrarea a fost actualizat, atunci totul funcționează corect, mergeți mai departe
Din moment ce Koljan nu mai vrea să mă ajute în conținutul site-ului, vom elimina din tabelul nostru)
Ștergeți intrarea folosind comanda DELETE
ȘTERGE din mysiteusers WHERE name = 'Kolyan';
Să ne uităm la înregistrările noastre și să vedem ce avem nevoie de înregistrare a fost șters
Cum pot conta numărul de rânduri dintr-un tabel?
SELECT COUNT (*) de la mysiteusers;
Să presupunem că avem un al doilea utilizator pe o mașină, care trebuie să aibă acces la baza de date. Permițându-i să beneficieze de masa noastră
GRANT SELECT, INSERT, UPDATE PE AdminVestnik.mysiteusers LA 'Leo' @ 'localhost' IDENTIFICAT cu 'parola';
Permite utilizatorului să facă o selecție Leo, se introduce înregistrările și să le modifice în datele AdminVestnik și mysiteusers de masă pe mașina locală cu parola „parola“
Peste cap de la baza de date de la utilizator Leo folosind comanda
După cum se poate vedea autentificat ca utilizator Leo, atunci bine, putem continua
SUBVENȚII PENTRU SHOW 'Leo' @ 'localhost';
La fel ca cel mai simplu revizuite, și vă puteți baza noastră de date bang AdminVestnik
După cum puteți vedea Leo utilizator nu are permisiunea de a șterge baza de date, pentru că aveți nevoie pentru a ieși și du-te la MySql ca root
Cererea este de succes, baza noastră de date se elimină.
Un exemplu de fișier de configurare MySQL /etc/mysql/my.cnf
[Client] port = 3306
soclu = /var/run/mysqld/mysqld.sock
[Mysqld_safe] soclu = /var/run/mysqld/mysqld.sock
= Frumos 0
[Mysqld] user = mysql
pid-file = /var/run/mysqld/mysqld.pid
soclu = /var/run/mysqld/mysqld.sock
port = 3306
basedir = / usr
datadir = / var / lib / mysql
TMPDIR = / tmp
limba = / usr / share / mysql / engleză
skip-extern-blocare
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
-MyISAM recupera = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
#log = /var/log/mysql/mysql.log
expire_logs_days = 10
max_binlog_size = 100M
skip-BDB
[Mysqldump] rapid
citat-nume
max_allowed_packet = 16M
[Mysql] [isamchk] key_buffer = 16M
!includedir /etc/mysql/conf.d/
mysqldump -opt -p AdminVestnik> AdminVestnik.sql
-opt - La fel ca transferul -add drop-masă -add-ecluze -createoptions
--chei dezactiva -extended insert--Lock tabele -Quick -Setati-charset.
Recomandat.
-p - Solicitare șir parola pentru utilizatorul root, puteți specifica
O altă opțiune -u utilizator
În cuvinte simple, lasa SQL script este generat care face toate lucrurile care au fost adăugate la baza de date după ce datele de lansare vor fi descărcate la baza corectă
Restaureaza baza de date
mysql -p AdminVestnik