logo search
Проектування та створення бази даних реєстратури в поліклініці засобами MySQL

1.4 Основні директиви для роботи в середовищі MySQL

1. Для створення таблиць БД використовується наступна директива:

Синтаксис:

CREATE TABLE

[ database name. [ owner ] . | owner. ] table name ( {<column definition >

| column name AS computed column expression

| < table constraint > ::= [ CONSTRAINT constraint name ] } | [ {"PRIMARY KEY I UNIQUE } [,...n ] )

<column definition > ::= { column name data type }

[ [ DEFAULT constant expression ]

| [ IDENTITY [ ( seed , increment ) ] ]] [ ROWGUIDCOL]

[ < column constraint > ] [ ...n ]

<column constraint > ::= [ CONSTRAINT constraint name ]

{ [ NULL | NOT NULL ]~| [ { PRIMARY KEY | UNIQUE }

[ CLUSTERED | NONCLUSTERED ] [ON {filegroup | DEFAULT} ] ]

| [ [ FOREIGN KEY ] REFERENCES ref table [ ( ref column ) ]

[ ON DELETE { CASCADE | NO ACTION } ]

[ ON UPDATE { CASCADE | NO ACTION } ] ]

| CHECK [ NOT FOR REPLICATION ]

( logical expression )

} < table constraint > ::= [ CONSTRAINT constraint name ] { [ { PRIMARY KEY | UNIQUE }

[ CLUSTERED | NONCLUSTERED ]{ ( column [ ,...n ] ) }

[ ON { filegroup | DEFAULT } ]]| FOREIGN KEY

[ ( column [ ,...n ] ) ] REFERENCES ref table [ ( ref column [ ,...n ] ) ]

[ ON DELETE { CASCADE | NO ACTION } ]

[ ON UPDATE { CASCADE | NO ACTION } ] | CHECK ( search conditions ) }

реляційний таблиця запит автоматизований

Аргументи:

table name-імя таблиці.

column name - Імя поля в таблиці.

column expression -вираз, що використовується для обрахунку значення колонки. Така колонка є віртуальною, тобто фізично не існує в таблиці, а її значення обраховується з використанням значень інших колонок.

data type - тип поля.

DEFAULT - вказує значення по замовчуванню для поля. Значення по замовчуванню можуть бути визначені для довільних полів крім тих, у яких визначена властивість IDENTITY.

constant expression - константа, NULL або системна функція.

IDENTITY - вказує на те, що дана колонка буде лічильником, тобто при вставці нового рядка в таблицю, СУБД буде автоматично генерувати значення даного поля. Часто використовується з обмеженням PRIMARY KEY.

Seed-значення, що використовується для першого вставленого в таблицю рядка.

Increment - значення приросту лічильника.

ROWGUIDCOL- вказує на те, що дане поле є глобальним унікальним ідентифікатором. Тільки одне поле на таблицю може бути визначене як ROWGUIDCOL поле.

CONSTRAINT- вказує на початок оголошення PRIMARY KEY, UNIQUE, або FOREIGN KEY обмеження.

constraint name-визначає імя обмеження.

NULL | NOT NULL- директива, що дозволяє/забороняє null значення для даного поля.

PRIMARY KEY-вказує, що дане поле буде первинним ключем в таблиці.

UNIQUE- вказує на те, що в даній колонці будуть зберігатися унікальні значення.

CLUSTERED | NONCLUSTERED - створює кластеризований або неклаттеризований індекс для PRIMARY KEY або UNIQUE обмежень.

FOREIGN KEY...REFERENCES- створює зовнішній ключ на дане поле (поля).

ref table - імя таблиці на яку посилається зовнішній ключ.

( ref column [ ,...п ] )- поле (поля), на яке посилається зовнішній ключ.

ON DELETE {CASCADE | NO ACTION}- вказує на те чи при видаленні рядка з таблиці будуть видалятися відповідні рядки з підлеглих таблиць.

ON UPDATE {CASCADE | NO ACTION}- вказує на те чи при модифікації рядка в таблиці будуть модифікуватися відповідні рядки в підлеглих таблицях.

logical expression - логічний вираз, що повертає TRUE або FALSE.

Column - поле або список полів.

n - допоміжний символ, який означає, що попередній елемент може повторюватись

2. Для зміни структури таблиць використовується наступна директива мови SQL:

Синтаксис:

ALTER TABLE table_name

{ [ ALTER COLUMN column_name

{DROP DEFAULT| SET DEFAULT constant_expression

| IDENTITY [ ( seed , increment ) ]} | ADD

{ < column definition > | < table constraint > } [ ,...n ] | DROP

{ [ CONSTRAINT ] constraint name | COLUMN column }] }

< column definition > ::={ column name data type }

[ [ DEFAULT constant expression ] | IDENTITY [ ( seed , increment ) ]]

[ROWGUIDCOL] [ < column constraint > ] [ ...n ] ]

< column constraint > ::=[ CONSTRAINT constraint name ] { [ NULL | NOT NULL ]|{ PRIMARY KEY | UNIQUE }| REFERENCES ref tabl [( ref column)]

[ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ]}

< table constraint > ::=[ CONSTRAINT constraint name ] { [ { PRIMARY KEY | UNIQUE } { ( column [ ,...n ] ) }| FOREIGN KEY [ ( column [ ,...n ] ) ]

REFERENCES ref_table [ ( ref_column [ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] }

Аргументи:

table name- імя таблиці.

ALTER COLUMN - вказує на те, що дане поле підлягає зміні.

column name - імя поля в таблиці.

data type - тип поля.

DEFAULT - вказує значення по замовчуванню для поля. Значення по замовчуванню можуть бути визначені для довільних полів крім тих, у яких визначена властивість IDENTITY.

IDENTITY - вказує на те, що дана колонка буде лічильником, тобто при вставці нового рядка в таблицю, СУБД буде автоматично генерувати значення даного поля. Часто використовується з обмеженням PRIMARY KEY.

Seed - значення, що використовується для першого вставленого в таблицю рядка.

Increment - значення приросту лічильника.

ADD - вказує на те що до таблиці додається колонка або обмеження.

DROP { [CONSTRAINT] constraint name | COLUMN column name } -

вказує на те, що constraint name або column name буде видалятися з таблиці. ROWGUIDCOL ~~ ~~ - вказує на те, що дане поле є глобальним унікальним ідентифікатором. Тільки одне поле на таблицю може бути визначене як ROWGUIDCOL поле.

CONSTRAINT - вказує на початок оголошення PRIMARY KEY, UNIQUE, або FOREIGN KEY обмеження.

constraint name - визначає імя обмеження.

NULL NOT NULL - директива, що дозволяє/забороняє null значення для даного поля.

PRIMARY KEY - вказує, що дане поле буде первинним ключем в таблиці.

UNIQUE - вказує на те, що в даній колонці будуть зберігатися унікальні значення.

FOREIGN KEY...REFERENCES - створює зовнішній ключ на дане поле (поля).

ref table - імя таблиці на яку посилається зовнішній ключ.

( ref column [ ,...п ] ) - поле (поля), на яке посилається зовнішній ключ.

ON DELETE {CASCADE | NO ACTION} - вказує на те чи при видаленні рядка з таблиці будуть видалятися відповідні рядки з підлеглих таблиць.

ON UPDATE {CASCADE | NO ACTION} - вказує на те чи при модифікації рядка в таблиці будуть модифікуватися відповідні рядки в підлеглих таблицях.

Column- поле або список полів.

n - допоміжний символ, який означає, що попередній елемент може повторюватись.

3.Для внесення значень в таблиці використовується директива INSERT.

Синтаксис:

INSERT [INTO] table name [ ( column list ) ] { VALUES

( { DEFAULT | NULL | expression } [ ,...n] ) | derived table }

Аргументи:

[INTO] - необовязкове ключове слово, що ставиться між директивою INSERT та цільовою таблицею.

table name -імя таблиці, в яку вставляються дані.

( column list ) - список з одного або більше полів, в які вставляються дані.

VALUES - представляє набір значень, які будуть вставлятися в таблицю.

DEFAULT-вставка значення по замовчуванню у вказане поле.

NULL-вставка значення NULL у вказане поле.

Expression-константа, змінна або інший вираз.

derived table-довільна SELECT директива, яка повертає набір рядків, що будуть вставлятися в дану таблицю.

4.Для внесення змін в записи таблиці використовується директива UPDATE.

Синтаксис:

UPDATE table name SET{ column name = { expression | DEFAUL |NULL }} [ ,...n ] [ WHERE < search_condition > ]

Аргументи:

table name-імя таблиці, в якій будуть проводитися зміни.

SET-Список полів або змінних, значення яких будуть змінюватись.

column name- поле, що містить дані, які підлягають зміні.

Expression-змінна, константа або і нший вираз.

DEFAULT-вставка значення по замовчуванню у вказане поле.

WHERE-вказує умову, яка обмежує набір рядків, що підлягають зміні.

< search condition >-тіло умови, яка обмежує набір рядків, що підлягають зміні.

5.Для видалення записів з таблиці використовується директива DELETE.

Синтаксис:

DELETE[ FROM ] table name [ WHERE < search condition > ]

Аргументи:

FROM-необовязкове ключове слово, що ставиться між директивою DELETE та імям цільової таблиці.

table name-імя таблиці, з якої видаляються записи.

WHERE-вказує умову, яка обмежує набір рядків, що підлягають видаленню.

<search condition>-тіло умови, яка обмежує набір рядків, що підлягають видаленню.

6.Для вибору записів з таблиць використовується директива SELECT.

Синтаксис:

SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item

[[AS] Column_Name] [, [Alias.] Select_Item [[AS] Column_Name] ...] FROM [FORCE] [DatabaseNameI] Table [[AS] Local_Alias] [[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN

DatabaseNamel] Table [[AS] Local_Alias] [ON JoinCondition ...]

[[INTO Destination] | [TO FILE FileName [ADDITIVE] | TO PRINTER

[PROMPT] | TO SCREEN]] [WHERE JoinCondition [AND JoinCondition ...]

[AND | OR FilterCondition [AND | OR FilterCondition ...]]] [GROUP BY GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [UNION [ALL] SELECTCommand] [ORDER BY Order Item [ASC | DESC] [, Order Item [ASC | DESC] ...]]

Параметри:

SELECT - вказує поля, константи та вирази, що будуть відображатися у результатах запиту.

ALL - по замовчуванню повертає всі рядочки в результати запиту. DISTINCT Виключає з результатів запиту рядочки, що повторюються.

TOP nExpr [PERCENT] - вказує кількість рядочків (або кількість у відсотках) у результатах запиту.

Alias. - уточнює імена елементів. Кожен елемент, який ви вказуєте в Select_Item генерує одну колонку результатів запиту. Якщо два або більше елементів мають однакові імена, використовуйте alias та крапку перед іменами елементів, щоб забезпечити коректність результатів.

Select Item - вказує елемент, який буде включатися в результати вибору. Такими елементами можуть бути: імя поля, константа або вираз.

AS Column Name - вказує імя, під яким буде відображатися даний елемент у результатах запиту.

FROM - вказує список таблиць, з яких буде відбуватися вибірка. DatabaseName! Вказує імя не поточної бази даних, з таблиць якої буде проводитись вибірка.

[AS] Local Alias - вказує тимчасове імя для таблиці Table.

INNER JOIN - вказує на те, що результати вибору будуть містити тільки ті рядочки, які задовольняють умову вибору для одного або більше рядочків з іншої таблиці.

LEFT [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з таблиці, яка стоїть зліва від слова JOIN і тільки підходящі рядочки з таблиці справа (такі, що задовільняють вказану умову).

RIGHT [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з таблиці, яка стоїть справа від слова JOIN і тільки підходящі рядочки з таблиці зліва (такі, що задовільняють вказану умову).

FULL [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з обох таблиць.

ON JoinCondition - вказує умову обєднання таблиць.

INTO Destination Вказує місце (обєкт) де будуть зберігатися результати запиту.

TO FILE FileName - вивід результатів у файл.

ADDITIVE - доповнює вже існуючий файл результатами запиту.

TO PRINTER [PROMPT] - вивід результатів на принтер. Ключове слово PROMPT використовується для виводу підтвердження перед друком.

TO SCREEN - вивід результатів у головне вікно редактора запитів.

WHERE - вказує умови вибору записів.

7.Для вибору записів зі зєднаних таблиць використовується директива SELECT разом із директивами JOIN.

Синтаксис:

SELECT Select_Item ...FROM Table [[AS] Local_Alias]

[[[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN Table [[AS] Local_Alias] [ON JoinCondition ...] [WHERE JoinCondition [AND JoinCondition ...]] | [CROSS JOIN Table [[AS] Local_Alias]]

Параметри:

SELECT - вказує поля, константи та вирази, що будуть відображатися у результатах запиту.

Select Item - вказує елемент, який буде включатися в результати вибору. Такими елементами можуть бути: імя поля, константа або вираз.

[AS] Local Alias - вказує тимчасове імя для таблиці Tabl е.

INNER JOIN - вказує на те, що результати вибору будуть містити тільки ті рядочки, які задовольняють умову вибору для одного або більше рядочків з іншої таблиці.

LEFT [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з таблиці, яка стоїть зліва від слова JOIN і тільки підходящі рядочки з таблиці справа (такі, що задовільняють вказану умову).

RIGHT [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з таблиці, яка стоїть справа від слова JOIN і тільки підходящі рядочки з таблиці зліва (такі, що задовільняють вказану умову).

FULL [OUTER] JOIN - вказує на те, що результати вибору будуть містити всі рядки з обох таблиць.

CROSS JOIN - проводить Декартовий добуток таблиць. Кількість рядочків в результаті дорівнює кількості рядочків першої таблиці помноженої на кількість рядочків другої таблиці.

ON JoinCondition - вказує умову обєднання таблиць (або умову вибору записів).

WHERE - вказує умови вибору записів.