Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠšΡƒΡ€Ρ "Π―Π·Ρ‹ΠΊ программирования PHP"Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 33

Автор Нина БавСльСва

ΠΈΠ»ΠΈ


INDEX [имя_индСкса] (имя_индСксируСмого_столбца,...)


ΠΈΠ»ΠΈ


UNIQUE [INDEX] [имя_индСкса]


(имя_индСксируСмого_столбца,...)


ΠΈΠ»ΠΈ


FULLTEXT [INDEX] [имя_индСкса]


(имя_индСксируСмого_столбца,...)


ΠΈΠ»ΠΈ


[CONSTRAINT symbol]

FOREIGN KEY [имя_индСкса]

(имя_индСксируСмого_столбца,...)


[reference_definition]


ΠΈΠ»ΠΈ


CHECK (expr)


ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ всСх этих элСмСнтов указываСтся список ΠΏΠΎΠ»Π΅ΠΉ (столбцов), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² индСкс, ΠΊΠ»ΡŽΡ‡ ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, имя_индСксируСмого_столбца записываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


имя_столбца [(Π΄Π»ΠΈΠ½Π°_индСкса)]


FOREIGN KEY, CHECK ΠΈ REFERENCES Π½Π° самом Π΄Π΅Π»Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π² MySQL. Они Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ SQL-сСрвСрами. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° Π½ΠΈΡ… ΠΌΡ‹ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.


ΠšΡ€ΠΎΠΌΠ΅ всСго пСрСчислСнного, ΠΏΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π΅ свойства (ΠΎΠΏΡ†ΠΈΠΈ_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΈΠ΅:


- Ρ‚ΠΈΠΏ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }


- Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°: AUTO_INCREMENT = число


- срСдняя Π΄Π»ΠΈΠ½Π° строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅: AVG_ROW_LENGTH = число


- ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (строка ΠΈΠ· 60 символов): COMMENT = "строка"


- максимальноС ΠΈ минимальноС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ число строк: MAX_ROWS = число ΠΈ MIN_ROWS = число


И послСдний (ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ) элСмСнт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ CREATE – это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ SELECT (select_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅). Бинтаксис Ρ‚Π°ΠΊΠΎΠΉ:


[IGNORE | REPLACE] SELECT ...

(любоС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ SELECT)


Если ΠΏΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ CREATE указываСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ SELECT, Ρ‚ΠΎ всС поля, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 10.1. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Persons, структура ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° рисункС 10.1.


mysql>CREATE TABLE Persons

(id INT PRIMARY KEY AUTO_INCREMENT,

first_name VARCHAR(50), last_name

VARCHAR(100), death_date INT,

description TEXT, photo INT,

citienship CHAR(50) DEFAULT 'Russia');


Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ спСцифичной для MySql ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ SHOW ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.


ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:


mysql>SHOW databases;


Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… book ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π½Π΅ΠΉ:


mysql>use book;

mysql>show tables;


ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС столбцы Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Persons:


mysql> show columns from Persons;


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DROP TABLE


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DROP TABLE удаляСт ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько Ρ‚Π°Π±Π»ΠΈΡ†. ВсС Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ опрСдСлСния ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ слСдуСт ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.


Бинтаксис:


DROP TABLE [IF EXISTS] имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

[, имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹,...]

[RESTRICT | CASCADE]


Π’ вСрсии MySQL 3.22 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова IF EXISTS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚.


ΠžΠΏΡ†ΠΈΠΈ RESTRICT ΠΈ CASCADE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ пСрСнос ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π΄Ρ€ΡƒΠ³ΠΈΡ… Π‘Π£Π‘Π”. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ΠΈ Π½Π΅ задСйствованы.


mysql> DROP TABLE IF EXISTS Persons,

Artifacts, test;


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER TABLE


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER TABLE обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ столбцы, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒ индСксы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ столбцы Π»ΠΈΠ±ΠΎ саму Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π΅Π΅ Ρ‚ΠΈΠΏ.


Бинтаксис:


ALTER [IGNORE] TABLE имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

alter_specification

[, alter_specification ...]


МоТно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (всС ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² alter_specification):


ADD [COLUMN] ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца

[FIRST | AFTER имя_столбца ]


ΠΈΠ»ΠΈ


ADD [COLUMN] (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца,


ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца,...)


Π—Π΄Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΈ Π΄Π°Π»Π΅Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца записываСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.


ADD INDEX [имя_индСкса] (имя_индСксируСмого_столбца,...) ΠΈΠ»ΠΈ ADD PRIMARY KEY (имя_индСксируСмого_столбца,...) ΠΈΠ»ΠΈ ADD UNIQUE [имя_индСкса] (имя_индСксируСмого_столбца,...) ΠΈΠ»ΠΈ ADD FULLTEXT [имя_индСкса] (имя_индСксируСмого_столбца,...)


ALTER [COLUMN] имя_столбца {SET DEFAULT literal | DROP DEFAULT} ΠΈΠ»ΠΈ CHANGE [COLUMN] староС_имя_столбца ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца ΠΈΠ»ΠΈ MODIFY [COLUMN] ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅_столбца


DROP [COLUMN] имя_столбца

DROP PRIMARY KEY

DROP INDEX имя_индСкса


RENAME [TO] Π½ΠΎΠ²ΠΎΠ΅_имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹


ORDER BY ΠΏΠΎΠ»Π΅


ΠΈΠ»ΠΈ


ΠΎΠΏΡ†ΠΈΠΈ_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹


Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER TABLE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния опрСдСлСния Ρ‚ΠΈΠΏΠ° столбца, Π½ΠΎ DESCRIBE имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ столбСц Π½Π΅ измСнился, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, MySQL ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½, описанных Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ столбСц VARCHAR Π½Π° CHAR MySQL Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VARCHAR, Ссли данная Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит Π΄Ρ€ΡƒΠ³ΠΈΠ΅ столбцы с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ.


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ALTER TABLE Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ копию исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ выполняСтся Π½Π° ΠΊΠΎΠΏΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ исходная Ρ‚Π°Π±Π»ΠΈΡ†Π° удаляСтся, Π° новая пСрСимСновываСтся. Π­Ρ‚ΠΎ дСлаСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ автоматичСски ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ всС обновлСния, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π΅ΡƒΠ΄Π°Π²ΡˆΠΈΡ…ΡΡ. Π’ΠΎ врСмя выполнСния ALTER TABLE исходная Ρ‚Π°Π±Π»ΠΈΡ†Π° доступна для чтСния Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обновлСния ΠΈ записи Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π° новая Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ для ALTER TABLE, ΠΊΡ€ΠΎΠΌΠ΅ RENAME, MySQL всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π΄Π°ΠΆΠ΅ Ссли Π΄Π°Π½Π½Ρ‹Π΅, строго говоря, ΠΈ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ столбца).


ΠŸΡ€ΠΈΠΌΠ΅Ρ€10.3. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Persons ΠΏΠΎΠ»Π΅ для записи Π³ΠΎΠ΄Π° роТдСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°:


mysql> ALTER TABLE Persons

ADD bday INTEGER AFTER last_name;


Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ: ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ…. Π’Π΅ΠΏΠ΅Ρ€ΡŒ разбСрСмся, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² этих Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… хранятся.


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT примСняСтся для извлСчСния строк, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†. Π’ΠΎ Π΅ΡΡ‚ΡŒ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ Π·Π°Π΄Π°Π΅ΠΌ столбцы ΠΈΠ»ΠΈ выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ (select_выраТСния), Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (table_references), ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, условиС (where_definition), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² этих столбцах, ΠΈ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эти Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π°Ρ‚ΡŒ.


ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для извлСчСния строк, вычислСнных Π±Π΅Π· ссылки Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, Ρ‡Π΅ΠΌΡƒ Ρ€Π°Π²Π½ΠΎ 2*2, Π½ΡƒΠΆΠ½ΠΎ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ


mysql> SELECT 2*2;


Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ структуру ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° SELECT ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


SELECT select_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1, select_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2,

...

[FROM table_references

[WHERE where_definition]

[ORDER BY {число | имя_столбца |

Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°}

[ASC | DESC], ...]]


ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [ ] ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ использованиС находящСгося Π² Π½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° | ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ пСрСчислСниС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ПослС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ORDER BY ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ имя столбца, число (Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅) ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΈ способ упорядочСния (ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ – ASC, ΠΈΠ»ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ – DESC). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ упорядочСниС ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ.


Когда Π² select_Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ пишСм Β«*Β», это Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всС столбцы. ΠšΡ€ΠΎΠΌΠ΅ Β«*Β» Π² select_выраТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° max, min ΠΈ avg.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 10.4. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Persons всС Π΄Π°Π½Π½Ρ‹Π΅, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ first_name ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'АлСксандр':


mysql> SELECT * FROM Persons

WHERE first_name='АлСксандр';


Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ описаниС (title, description) Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 10:


mysql> SELECT title,description

FROM Artifacts WHERE id=10;


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ INSERT


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ INSERT вставляСт Π½ΠΎΠ²Ρ‹Π΅ строки Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Ρ„ΠΎΡ€ΠΌ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΎ всСх этих Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ внСсСны строки. Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ значСния, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² спискС ΠΈΠΌΠ΅Π½ столбцов (имя_столбца) ΠΈΠ»ΠΈ Π² части SET.


Бинтаксис:


INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ [(имя_столбца,...)]

VALUES (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅,...),(...),...


Π­Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ INSERT вставляСт строки Π² соотвСтствии с Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ значСниями. Π’ скобках послС ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ столбцы, Π° послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова VALUES – ΠΈΡ… значСния.


НапримСр:


mysql> INSERT INTO Persons

(last_name, bday) VALUES

('Иванов', '1934');


вставит Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Persons строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ значСния Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ (last_name) ΠΈ Π΄Π°Ρ‚Ρ‹ роТдСния (bday) Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π½Ρ‹ соотвСтствСнно ΠΊΠ°ΠΊ «Иванов» ΠΈ Β«1934Β».


INSERT [LOW_PRIORITY | DELAYED] [IGNORE]