Упатство:Вовед во MySQL администрирање: Разлика помеѓу преработките

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето
с (4 ревизии: initial)
 
(нема разлика)

Последна преработка од 17:39, 29 јануари 2011

Одкако се најавивме на MySQL серверот, редно е да направиме по нешто корисно нели?. Прегледување на достапните бази, создавање на нови и нивно користење Наредбите кои ги користи MySQL се прилично едноставни и интуитивни. Така што со едноставно пишување на:

 mysql> SHOW DATABASES;

во mysql конзолниот клиент, ќе добиете листа на базите кои постојат на соодветниот сервер. На свежо инсталиран сервер би требало да го добиете следново:

 mysql> SHOW DATABASES;
 +-----------+ | Database | +-----------+ 
 | mysql |
 | test | 
 +-----------+
 2 rows in set (0.00 sec)

За почеток, ќе си поиграме со test базата која доаѓа со секоја инсталација. Први ќе треба да му кажеме на mysql серверот дека сакаме да ја користиме test базата:

 mysql> use test;
 Database changed

Откако сме најавени да ја користиме тест базата, сите следни дејствија се вршат врз тековната база.

Да провериме кои табели ни се на располагање во тест базата користејќи ја "SHOW TABLES;" mysql наредбата:

 mysql> SHOW TABLES;
 +----------------+ | Tables_in_test | +----------------+ 
 | test_tbl |
 +----------------+
 1 row in set (0.00 sec)

Во тест базата имаме само една табела која се вика test_tbl. За да дознаеме нешто повеќе за структурата на оваа табела, т.е. да дознаеме колку колони содржи и од каков тип на податоци, ќе се послужиме со mysql наредбата за опишување на структура на табели, "DESCRIBE [TABLE_NAME];". Каде што [TABLE_NAME] e табелата за која сакаме да добиеме информации. На пример за нашата test_tbl ќе постапиме овака:

 mysql> DESCRIBE test_tbl;
 ... [излезот е непрегледен, проверете го со командата]
 2 rows in set (0.06 sec)

Од резултатот на оваа наредба можеме да приметиме дека табелата test_tbl во test базата има вкупно две колони, од кои првата е од тип varchar(30), што претставува текстуален тип со максимална должина од 30 знаци, може да прими NULL (празно) вредност, и доколку не обезбедиме вредност за оваа колона, mysql автоматски ќе и додели вредност нула. Втората колона е од тип tinyint(3), што претставува целобројна вредност со максимална должина од 3 цифри, и исто како и првата колона, може да прими NULL вредност а предефинираната вредност е 0. Доколку сакате да си создадете сопствена база, со табели по ваш терк, прво ќе треба да создадеме нова база со "CREATE DATABASE [IME_NA_BAZA]" mysql наредбата. mysql> CREATE DATABASE moja_baza; Query OK, 1 row affected (0.00 sec) mysql> Со ова создадовме нова база која се вика moja_baza. Да започнеме да работиме со нашата нова база:

 mysql> use moja_baza; 
 Database changed

Да провериме што имаме во новата база:

 mysql> SHOW TABLES;
 Empty set (0.00 sec)

Базата е празна, без ниедна табела. Да се потрудиме да ја загадиме нашата нова база, ќе составиме нова табела:

 mysql> CREATE TABLE moja_tabela( -> kolona1 int, -> kolona2 text, -> kolona3 double) -> ;
 Query OK, 0 rows affected (0.11 sec)

Ако повторно провериме што има во нашата нова база, ќе го добиеме следното:

 mysql> show tables
 ...[излезот е непрегледен, проверете го со командата]
 1 row in set (0.00 sec)

Структурата на новата табела може да ја провериме со користење на гореспомената наредба "DESCRIBE". Накратко, податоци во колоната се внесуваат со помош на "INSERT" SQL израз, кој за нашата табела ќе изгледа овака: mysql> INSERT INTO moja_tabela VALUES(12,"Proben tekst",6.78); Query OK, 1 row affected (0.00 sec) Повеќе за начините на внесување податоци во вашите табели ќе може да најдете на страната за документација на командата INSERT Вредностите од табелата ќе може да ги извлечеме на следниов начин:

 mysql> SELECT * FROM moja_tabela; 
 ... [излезот е непрегледен, проверете го со командата] 
 1 row in set (0.00 sec)

Повеќе за начините на читање податоци од табелите ќе може да најдете на страната за документација на командата SELECT. Вредноста на некоја колона во еден или повеќе слогови се менува на следниот начин:

 mysql> UPDATE moja_tabela SET kolona2="Nov tekst!!" WHERE kolona1=12;
 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
 mysql> SELECT * FROM moja_tabela;
 ...[излезот е непрегледен, проверете го со командата]
 row in set (0.02 sec)

Веднаш потоа со SELECT проверуваме дека вредноста е сменета. Нешто повеќе околу UPDATE изразите за менување на вредности во табелите ќе најдете на страната за документација на командата UPDATE. За да избришеме еден или повеќе слогови од некоја табела ќе се послужиме со "DELETE" SQL клучниот збор:

 mysql> DELETE FROM moja_tabela WHERE kolona1=12;
 Query OK, 1 row affected (0.05 sec)
 mysql> SELECT * FROM moja_tabela;
 Empty set (0.00 sec)

Овој клучен збор користете со претпазливост. Доколку немате критериум за селекција (пр: WHERE kolona1=12;) со овој клучен збор може да ги избришете неповратно сите слогови од табелата. Повеќе за него ќе најдете на страната за документација на командата DELETE.

За крај, ќе ја избришеме денешната табела, само за да ви демонстрирам како да се ослободите од несаканите табели:

 mysql> DROP TABLE moja_tabela; 
 Query OK, 0 rows affected (0.05 sec)
 mysql> SHOW TABLES;
 Empty set (0.00 sec)

Со помош на SHOW TABLES се уверуваме дека табелата не постои. Сепак, тоа и не беше крај, бидејќи сакаме да се ослободиме и од базата:

 mysql> DROP DATABASE moja_baza;
 Query OK, 0 rows affected (0.00 sec)
 mysql> SHOW DATABASES;
 +-----------+ | Database | +-----------+ 
 | mysql | 
 | test |
 +-----------+
 2 rows in set (0.00 sec) 

Со помош на SHOW DATABASES се уверуваме дека базата не постои. За денес толку, повеќе во следната прилика, а во меѓувреме нападнете го сајтот со документација за MySQL.