Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






???????
 
 Sysadmin
 ??????????????
 ????? ? ?????
 ??????????
 ???????????? ???????
 ?????????????
 ? ???????
 ? ???????????
 ???????? ? ??????
 ???????????
 ??????????? ???????
 ???????? ????? ?????? ?????? ???????? ??????????
 ??????
 ??????
 ?????? ?????? 1924-1994
 ??????? ?? ??????
 ???? ? ???????
 ????? ??????????
 ?????????


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

MySQL ??? ????????????



??? ????????? ? MySQL4. ???????? ???????? ????????? ?????????? ??????? ????????, ???????. dkws.narod.ru
????? ????????????

?? ????????? ???? ????? ????? ????? ?????????? ? ???, ??? ????????? MySQL-??????, ?? ??????????? ??? ?????????? ? ???, ??? ??? ???????????? ????????????? ????????????. ????????, ??? ??-?? ????, ??? ??????????, ??????? ?????????? ?? MySQL, ??????? ?????????????????? ??????????????, ? ?????? ???????????? ? ?? ????? ?????, ??? ? ??? ????????. ?? ????? ??? ??? ?? ?? ????????, ????????, ?? ?????? ?????, ??? ??????????? ??? ??? ???? SQL-??????.

??????? ?????????? ??? ????????? ????????? ???? ?????? ???????? mysqlshow. ??????? ????????? ???????:

mysqlshow -p mysql

?? ??????? ?????? ??????, ??????? ????????? ? ???? ?????? mysql.

Database: mysql
+--------+
| Tables |
+--------+
| db |
| host |
| user |
+--------+

????????? mysqlshow ????? ?????????? ? ??????????????? ???????????, ?????????? ? ??????? 1.

??????? 1. ????????? ????????? mysqlshow
???????? ????????
--host=hostname ?????? ??? ?????, ? ???????? ?? ?????? ????????????
--port=port_number ?????????? ????? ????? ??? ??????? MySQL
--socket=socket ????????? ?????
--user=username ? ??????? ????? ????????? ????? ??????? ?????? ??? ????????????
-p ??????????? ????? ??????

??? ????? ?? ???????? ? ??????? ???????????? ????????? mysql. ??? ? ???????? ???????? ???????. ? ???? ????????? ????? ???????????? ?? ?? ?????, ??? ? mysqlshow. ????? ?????????????? ?????????? ????????? mysql ????? ???? ????? ?????? ???????? "-s". ? ?????????? ??? ?????? ??? ????????????. ???? ???????? ????????? ??????????? ???????? ?????????, ????????? ????????. ?? ????????? ?????? ????? ??? ?????? ???????? ??????????????????. ?? ? ????????? ?? ????? ????????? ? ????????? ??????????? ????? ?? ???????.

??????? ???? ?????? ????? ? ??????? ????????? mysqladmin. ???????????, ??? ???????????? ??? ???????? ????? ?????? ?????????????, ????????,

mysqladmin -u admin -p create my_db

??? ???????? ?????? SQL? ?????? ???????? ??????, ? ??????? ?? ?????????, ????? ?????????? ?? ????? ???????? ?? ???????, ??? ????? ???????? ? ??????? ?? ??????? ?????????, ?????? ???????? ??????? ?????, ? ??????? ???????????, ???????? ?? ?????? ?????? ???????, ?, ???? ?????? ???????? ??????, ????????? ???????.

??? ???????? ???????? ??????? ??? ?????????? ????? ???? - SQL (Structured Query Language, ????????????????? ???? ????????). ? ??????? ???????? SQL ?? ??????:

1. C???????? ???? ?????? ? ???????
2. ????????? ?????????? ? ???????
3. ??????? ??????????
4. ?????????????? ??????????
5. ???????? ?????? ??? ??????

???????????, ???????????? admin, ????? ????, ??? ?????? ????????????, ?????? ???????? ???????????????? ???????. ?????? ?????? MySQL ?????? ????????????? ?????? ? ???????. ???? ?? ??????? SELECT * FROM test ?????? mysql ????? ????? ????? ????? ? ???????:

->

??????? ???????????, ??? ????? ?????? ??????? ???????? ????????? SQL, ?? ???? ??? ????????? ?????????? ????? ????????? ?? ?? ?????. ????????? mysql ????????? ???? ??????? ?? ??? ???????. ????????, ??????, ?????????? ? ????????? SQL,

SELECT *
FROM S
WHERE Q > 10

? ????????? mysql ????? ???????? ???:

SELECT * FROM S WHERE Q > 10

?????? ???????? ??? ??????? - ?????, ??????? ? ??????.

CREATE TABLE CLIENTS
(
C_NO int NOT NULL,
FIO char(40) NOT NULL,
ADDRESS char(30) NOT NULL,
CITY char(15) NOT NULL,
PHONE char(11) NOT NULL
);

??????? CLIENTS ???????? ???? C_NO (????? ???????), FIO (???????, ???, ????????), ?????, ????? ? ???????. ??? ??? ???? ?? ????? ????????? ??????? ???????? (NOT NULL).

CREATE TABLE TOVAR
(
T_NO int NOT NULL,
DSEC char(40) NOT NULL,
PRICE numeric(9,2) NOT NULL,
QTY numeric(9,2) NOT NULL
);

??? ??????? ????? ????????? ?????? ? ???????. ??? numeric(9,2) ????????, ??? 9 ?????? ??????? ??? ????? ?????, ? ??? - ??? ???????. QTY - ??? ?????????? ?????? ?? ??????.

CREATE TABLE ORDERS
(
O_NO int NOT NULL,
DATE date NOT NULL,
C_NO int NOT NULL,
T_NO int NOT NULL,
QUANTITY numeric(9,2) NOT NULL,
AMOUNT numeric(9,2) NOT NULL
);

?????? ??????? ???????? ???????? ? ??????? - ????? ?????? (O_No), ???? ?????? (DATE), ????? ??????? (C_NO), ????? ?????? (T_NO), ?????????? (QUANTITY) ? ????? ????? ?????? AMOUNT (?? ???? AMOUNT = T_NO * TOVAR.PRICE)

?????? ??????? ?????? ? ???? ???????. ???????? ?????? ????? ? ??????? ????????? INSERT. ?????????? ????????????? ????????? INSERT:

INSERT INTO CLIENTS
VALUES (1,'?????? ?.?.', '?????? 6', '??????????','80522111111');

??????????? ???????? ?????? ??????????????? ???? ???????, ? ??????? ???? ??????????? ? ????????? CREATE. ???? ?? ?????? ????????? ?????????? ? ?????? ???????, ?? ?? ?????? ??????? ???? ??????? ? ????????? INSERT:

INSERT INTO CLIENTS (FIO,ADDRESS,C_NO,PHONE,CITY)
VALUES ('??????', '??????? 9',2,'-','??????????');

? ??????? INSERT ?? ????? ????????? ?????? ? ???????????? ????, ????????, C_NO ? FIO:

INSERT INTO CLIENTS (C_NO, FIO)
VALUES (1,'??????');

?? ?????? ?? ???????? ??? ??????, ????????? ??? ????????? ???? ????? NULL (?????? ????????), ? ???? ??????? ?? ????????? ?????? ????????. ?????????? ????? ???????? ?????? ? ?????? ???????. ??????? ?????? ? ??????? TOVAR:

INSERT INTO TOVAR
VALUES (1,'??????? LG',550.74);

???????? ????????, ??? ?? ???? ??? ?? ??????? ????????? ????? ???????, ??????? ??? ????? ?? ?????? ???????? ? ??????? ?????????? ??????. ???????? ???? ? ???? DATE ????? ? ??????? ??????? TO_DATE:

INSERT INTO ORDERS
VALUES (1,TO_DATE('01/01/02,'DD/MM/YY'),1,1,1,550.74);

?????? ?????? ????????, ??? ??????? ?????? 2002 ???? ?????? ?.?. (C_NO=1) ??????? ???? (QUANTITY=1) ??????? LG (T_NO=1).

???????????, ??? ??? ????? ???????? ??????, ????????, ?????? ?????? ???????? ? ?????? ?????. ??? ???????? ???:

UPDATE CLIENTS
SET CITY = '????'
WHERE C_NO = 1;

?????? ?????? ???? ????????, ?????? ??????? ????????? 10:

DELETE FROM CLIENTS
WHERE C_NO > 10;

? ??????? ??????? DELETE ????? ??????? ??? ?????? ???????, ?????? ???????, ??????? ???????? ??? ???? ???????, ????????

DELETE FROM CLIETNS;

???? ?????? ????? ????????? DELETE - WHERE - ?? ???????, ??????, ???????? ????????? ???????????????? ?? ??? ?????? ?????.

??????????, ????????? ? ???????? ??????? - ???, ??????????, ????? ?????? ???????, ?? ???? ????? ?? ?????? ???????????? ???????? SELECT, ??????? ???????? ?????? ?? ???????. ????????, ??? ?????? ???? ??????? ?? ??????? CLIENS, ???????:

SELECT * FROM CLIENTS;

? ?????????? ?? ???????? ????? ????? ?? ???????:

C_NO FIO ADDRESS CITY PHONE
1 ?????? ?.?. ?????? 6 ?????????? 80522111111
1 ?????? ?.?. ?????? 6 ?????????? 80522111111
2 ?????? ?.?. ??????? 9 ?????????? 80522112111

???????? ???????? ?? ?????? ??? ?????? - ??? ??????????. ????????????, ?????????? ?????????? ??????? ???????? - ?? ???? ?? ??????? ????????? ???? ???????. ???? ?? ?????? ????????? ?????????? ?????? ?? ?????? ??????? (?? ?? ?? ???????!), ??????? ??????:

SELECT DISTINCT *
FROM CLIENTS;

???????????, ??? ?? ?????? ??????? ?????? ??????? ? ????? ???????? ???????, ????? ??????? ????? ??????:

SELECT DISTINCT FIO, PHONE
FROM CLIENTS;

?????? ???????? ??????????? ????? ????????. ??????? ??? ??????, ???? ??????? ????????? 500 ??????.

SELECT *
FROM TOVAR
WHERE PRICE > 500;

?? ?????? ???????????? ?????? ????? ?????????: <,>,=,<>,<=,>=.

???? ???? ???????? ??????????? ????????? ?????????????, ? ?? ?????? ??????? ?????????? ??? ???? ????????, ??????????? ?????? LIKE:

SELECT *
FROM CLIENTS
WHERE FIO LIKE '%??????%';

?????? ???????? ???: ??????? ??? ?????????? ? ????????, ??????? ??????? ?????? ?? '??????'. ???? ?? ?????? ??????? ?????? ?? ?????? ??????, ????? ?????? ???? ????? ????????? ??? ???????. ????????? ?????? ??????? ????? ???? ????????, ??????? ???? ?? ??? ???????? ? ??? ?????:

SELECT DISTINCT CLIENTS.FIO
FROM CLIENTS, ORDERS
WHERE CLIENTS.C_NO = ODREDS.C_NO;

???????? SELECT ????????? ???????????? ????????? ???????. ????????? ???????? ?????????? ???????????:

SELECT DISTINCT CLIENTS.FIO
FROM CLIENTS
WHERE CLIENTS.C_NO IN (SELECT C_NO
FROM ORDERS);

??? ?????? ? ?????????? SELECT ??? ???????? ????????? ???????? ???????, ??????????? ?????????? ????????? (COUNT), ????? ????????? (SUM), ???????????? ? ??????????? ???????? (MAX ? MIN), ? ????? ??????? ???????? (AVG).

????????? ????????? ???????, ??????????????, ?????????? ??????? ? ??????? CLIENTS, ????? ??????? ????? ? ????? ???? ??????? ?? ??????.

SELECT COUNT(*)
FROM CLIENTS;

SELECT MAX(PRICE)
FROM TOVAR;

SELECT SUM(PRICE)
FROM TOVAR;

???????? SELECT ????????? ???????????? ???????????? ????????. ????????, ?????? ?????? (C_NO=1) ????????? ??? ????????? ? ??? ?????-?? ?????. ??????, ??? ????? ??????????? ? ??????? ORDERS ????????? ???.

??????? ????? ???? ????????, ? ????? ????? ?????? ??????? ???????.

SELECT CLIENTS.FIO, SUM(ORDERS.AMOUNT) AS TOTALSUM
FROM CLIENTS, ORDERS
WHERE CLIENTS.C_NO = ORDERS.C_NO
GROUP BY ORDERS.C_NO;

??????????? ????????? ???????? GROUP BY, ??????? ???????? ?????? ????????? SELECT. ???????? GROUP BY ????? ?????????? ? ??????? HAVING. ???? ???????? ???????????? ??? ?????? ?????, ???????????? GROUP BY. HAVING ????? ??????? ???????? WHERE, ?? ?????? ??? GROUP BY:

HAVING <???????>

????????, ??? ?????????? ?????? ???????, ??????? ???????? ??????? ?? ????? ?????, ??????????? 1000.

SELECT CLIENTS.FIO, SUM(ORDERS.AMOUNT) AS TOTALSUM
FROM CLIENTS, ORDERS
WHERE CLIENTS.C_NO = ORDERS.C_NO
GROUP BY ORDERS.C_NO
HAVING TOTALSUM > 1000;

? ???? ??????? ?? ???????????? ????????? ??????? TOTALSUM. ? ????????? ??????? SQL ??? ??????????? ?????????? ?? ????? ?????? ????????? ????? AS, ? ????????? ??????? ?????????? ????? ?????????: SUM(ORDERS.AMOUNT) TOTALSUM ??? TOTALSUM = SUM(ORDERS.AMOUNT).

???? ?? ?? ?????????? ????????? ????, ?????????? ????? ??????? ?? ???????????. ?????? ????? ?????????? ??????? ????????? ?? ? ???????. ??? ?????????? ?? ???? C_NO ?????????? ?????? ??????? CLIENTS ???????????? ????????? ???????? (???? ??????? ??? ???? ?? ???????????):

SELECT *
FROM CLIENTS
ORDER BY C_NO;

???????????, ??? ???-?? ??????? ? ??????? CLIENTS ??????

1 ??????? ??????? 11 ?????????? 80522345111


? ?? ??????????, ??? ???? ? ??? ?? ????? ??????????? ?????? ????????. ????? ??? ?? ??? ??????? ??????? LG? ????? ???????? ???????? ????????, ????? ???????????? ????????? ?????:

ALTER TABLE CUSTOMER
ADD PRIMARY KEY (C_NO);

????? ????? ??????? ???? C_NO ????? ????????? ?????? ?????????? ????????. ? ???????? ?????????? ????? ?????? ???????????? ????, ??????????? ???????? NULL. ??????? ????????? ???? ????? ????? - ??? ???????? ???????. ??? ???????? ???:

CREATE TABLE CLIENTS
(
C_NO int NOT NULL,
FIO char(40) NOT NULL,
ADDRESS char(30) NOT NULL,
CITY char(15) NOT NULL,
PHONE char(11) NOT NULL,
PRIMARY KEY (C_NO);
);

??????? ORDERS ???????? ???????? ? ???????. ?? ???? C_NO ???? ??????? ???????????????? ????????. ???????????, ??? ? ??????? ORDERS ???-?? ???? ????????, ???????? ??? ? ??????? CLIENTS. ??? ?? ??????? ?????? ??? ????? ?? ????????? ???????? ????????, ??????? ??????? ????????? ??????:

ALTER TABLE ORDERS
ADD FOREIGN KEY(C_NO) REFERENCES CLIENTS;

????????? ? ??????? ORDERS ?????? ???????? C_NO ?????? ???????????? ? ??????? CLIENTS. ?????????? ????? ???????? ??????? ???? ?? ???? T_NO. ??? ??????????? ?????????? ????????????? ????????????.

??????? ALTER ???????????? ?? ?????? ??? ?????????? ??????. ??? ????????????? ??? ????????????? ??????? ? ?????. ?? ?????? ???????? ??? ???? ????? ??? ?????????? ?????? ?????????? ???????? ??? ??????? ?? ?????. ??? ??? ????? ??????? ? ??????? ??????? ALTER:

ALTER TABLE CLIENTS
ADD ZIP char(6) NULL;

???? ???????? ????????? ? ??????? CLIENTS ????? ???? ZIP ???? char. ???????? ????????, ??? ?? ?? ?????? ???????? ????? ???? ?? ????????? NOT NULL ? ???????, ? ??????? ??? ???? ??????. ???? ???????? ???????? ? ????????? ?????? ?? ????? ? ???????????, ??????? ????????????? ?????? ?????? ?????????? ???????? ??? ??????? CLIENTS:

ALTER TABLE CLIENTS
ADD CONSTRAINT INVALID_STATE SHECK (CITY IN ('??????????','????'));

??? ??? ??????? ???????? ? ???? ????? ??????? ????? ? ??????? ??????? DISCONNECT ??????????? ?? ???, ?, ????????? ?????? CONNECT, ???????????? ? ?????? ???? ??????. ? ????????? ???????? SQL ?????? DISCONNECT ?? ????????, ? ?????? CONNECT ????? ???????????? ???????? USE.

??????, ????? ?? ??? ??????? ? ???????? SQL, ??????? ?????????. ?? ??? ?????, ??? ????????? ????????? ????, ?????? ??????? ??????? ???? ??? ???????? ???????:

CREATE TABLE T
(
/* ???????? ????? ??????? */
FOREIGN KEY KEY_NAME (LIST)
REFERENCES ANOTHER_TABLE [(LIST2)]
[ON DELETE OPTION]
[ON UPDATE OPTION]
);

????? KEY_NAME - ??? ??? ?????. ??? ?? ???????? ????????????, ?? ? ????? ?????????? ?????? ????????? ??? ????? - ???? ?? ?? ??????? ??? ?????, ?? ????? ?? ??????? ??? ???????. ? ???? ?? ??? ????? ?????????, ????????, ?? ??? ?????? ????? ?? ?????? LIST - ??? ?????? ?????, ???????? ?? ??????? ????. ?????? ??????????? ????????. ANOTHER_TABLE - ??? ?????? ???????, ?? ??????? ??????????????? ??????? ????, ? ?????????????? ??????? LIST2 - ??? ?????? ????? ???? ???????. ???? ????? ? ?????? LIST ?????? ????????? ? ?????? ????? ? ?????? LIST2. ???????????, ??? ? ?????? ??????? ? ??? ???? ??? ???? - NO ? NAME - ?????? ? ??????????? ????? ??????????????. ?? ?????? ??????? ? ??? ???? ???? ? ??????????? ??????? ? ??????. ??????????? ???????? ?????

FOREIGN KEY KEY_NAME (NO, NAME)
REFERENCES ANOTHER_TABLE (NAME, NO)

???????????, ?????? ??? ???? ????? NO ? NAME ?? ?????????. ????? ???????????? ????? ???????????:

FOREIGN KEY KEY_NAME (NO, NAME)
REFERENCES ANOTHER_TABLE (NO, NAME)

???? ?? ???? ????? ?????????? ?????, ??? ? ????? ??????, ?????? LIST2 ????? ?????? ?? ?????????, ????? ?? ????????? ???? ?????? ???????.

?????????????? ????????? ON DELETE ? ON UPDATE ?????????? ???????? ?? ?????????? ?????????? ? ???? ??????, ??? ???????? ?????????? ?? ??????? ? ??? ?? ??????????. ??????? ??? ?????? ? ?????????? ? ? ???, ??? ? ??????? ??????? ???? ???? C_NO (Client NO), ???????? ???????? ?????? ???? ? ??????? ????????. ? ? ????? ????, ??? ?? ?????? ??? ? ?????? ?????? ??????? ? ??????? 99999, ???????? ??? ? ??????? ????????? ????????? ??????? ????, ?? ????????? ??? ??????? ?? ???? C_NO. ????? ???????? ????? (? ????? ??????? ???????????????? ???? ??????), ?? ?????? ??????????? ???????, ????? ???????-???????? ?????? ??????-?????? ??????? ?? ??????? ????????. ??? ?????? ? ???????? ? ??????? ???????? ? ??????? ????????? ON DELETE ?? ????? ??????? ??????? ??????? ?? ???????? ????? ??????:

ON DELETE OPTION

???????? OPTION ????? ????????? ???? ?? ??????? ????????: CASCADE, NO ACTION, SET DEFAULT, SET NULL.

???????? CASCADE ????????, ??? ????? ?????????? ??????? ????? ?????? ?? ???? ????????? ??????. ????????, ???? ?? ??????? ??????? ? ??????? 10 ?? ??????? ????????, ?? ?? ??????? ??????? ????? ??????? ??? ?????? ????? ???????.

???????? NO ACTION ?? ????????? ???????? ??????? ?? ??? ???, ???? ?? ???? ? ????????? ???????. ??? ????????, ??? ???????-???????? ?????? ?????? ??????? ??? ?????????? ? ??????? ?? ??????? ???????

? ??????? ????????? SET_DEFAULT ?? ?????? ??????? ???????? ?? ?????????. ????????, ???? ?? ??????? SET DEFAULT 1, ?? ??? ???????? ??????? ? ????? ??????? ??? ?????? ????? ????????????? ??????? ? ??????? 1, ???????, ??????????, ?????? ???? ? ??????? CLIENTS.

???????? SET NULL ????????????? ???????? NULL ? ???????? ?????? ???????, ???? ??? ?????? ?? ??????? CLIENTS. ???????, ??? ? ????? ?????? ???? C_NO ?? ????????? ???????? NULL! ? ??? ??????? ????? ?????????? SQL ?? ????????????? ???????? ????????, ?? ? MySQL ?? ??? ?? ????? ??? ???????:

ALTER TABLE CLIENTS
DROP ZIP;

??????? ??????? ??? ?????:

DROP ORDERS;

?? ?????? ????? ???? ?????? ?? ?????????? ??????? ????? PHP ??? ?????? ? ???????? MySQL. ???? ??????? ? ??????????? ???? ??? ????????? ?? ?????? dhsilabs@mail.ru.





Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"