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 - вказує умови вибору записів.
- Вступ
- 1. Теоретична частина
- 1.1 Основні відомості про реляційні бази даних
- 1.2 Стандарт і реалізація мови SQL
- 1.3 Система управління базами даних MySQL
- 1.4 Основні директиви для роботи в середовищі MySQL
- 2. Практична частина
- 2.1 Визначення та опис предметної області
- 2.2 Проектування реляційної моделі даних
- 2.3 Проект бази даних
- 3. Створення бази даних засобами MySQL
- 3.1 Створення таблиць бази даних
- 3.2 Створення запитів до бази даних
- Висновки
- Етапи проектування бази даних
- 33.Case-засоби проектування баз даних. Можливості проектування баз
- Проектування бази даних
- 3.1. Проектування бази даних та/або сховища даних для іус
- 131. Технологія проектування та створення бази даних в Access
- Проектування бази даних
- 2. Етапи проектування бази даних
- Проектування бази даних