
- •29. Типи даних мови sql
- •30. Прості вибірки даних. Основні sql-вирази для вибірки даних.
- •Обчислення в sql.
- •Использование итоговых функций
- •Складні запити. Теоретико-множинні операції: декартовий добток, обєднання наборів записів, перелік, віднімання наборів запитів.
- •Операції об’єднання.
- •Рекурсивні запити.
- •Добавлення, видалення та зміна даних в таблицях.
- •Створення та модифікація таблиць. Створення і модифікація таблиць у режимі Конструктор.
- •Создание таблиц в бд MySql
- •Управління правами доступу. Операторы управления правами доступа.
- •Изменение прав доступа к объектам базы данных
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tField
- •Компонент tdbGrid
- •Компонент Query: загальні відомості, динамічні запити і параметри Query.
- •Параметры Query.
- •Основные свойства Query.
- •Основные методы компонента Query.
- •Основні властивості Query, зв’язування таблиць.
- •Кешування змін, сумісне застосування Query і UpdateSql.
- •Робота з бд в мережі.
- •Режимы работы с базой данных в сети
29. Типи даних мови sql
Типи даних SQL ядра бази даних Microsoft Access налічують 13 основних типів даних, які визначено ядром бази даних Microsoft Access, і кілька допустимих синонімів для цих типів даних.
У цій таблиці наведено основні типи даних.
Тип даних |
Розмір |
Опис |
BINARY |
1 байт на символ |
У полі цього типу можна зберігати будь-який тип даних. Перетворення даних (наприклад, на текст) не виконується. Спосіб введення даних у двійкове поле визначає їх відображення на виводі. |
BIT |
1 байт |
Значення «Так» і «Ні» та поля, які містять лише одне з двох значень. |
TINYINT |
1 байт |
Ціле значення між 0 і 255. |
MONEY |
8 байтів |
Масштабоване ціле число між – 922 337 203 685 477,5808 і 922 337 203 685 477,5807. |
DATETIME (Див. DOUBLE) |
8 байтів |
Значення дати або часу між роками 100 та 9999. |
UNIQUEIDENTIFIER |
128 бітів |
Унікальний ідентифікаційний номер, який використовується з віддаленими викликами процедур. |
REAL |
4 байти |
Одинарне значення з рухомою комою в діапазоні від – 3,402823E38 до – 1,401298E-45 для від’ємних значень, від 1,401298E-45 до 3,402823E38 для додатних значень і 0. |
FLOAT |
8 байтів |
Подвійне значення з рухомою комою в діапазоні від – 1,79769313486232E308 до – 4,94065645841247E-324 для від’ємних значень, від 4,94065645841247E-324 до 1,79769313486232E308 для додатних значень і 0. |
SMALLINT |
2 байти |
Коротке ціле число в діапазоні від – 32 768 до 32 767. |
INTEGER |
4 байти |
Довге ціле число в діапазоні від – 2 147 483 648 до 2 147 483 647. |
DECIMAL |
17 байтів |
Точний числовий тип даних, який містить значення від 1028 - 1 до - 1028 - 1. Можна визначити як точність (1 - 28), так і масштаб (точність визначено як 0). Точність і масштаб за промовчанням складають 18 і 0 відповідно. |
TEXT |
2 байти на символ |
Від нуля до максимум 2,14 Гбайт. |
IMAGE |
За потреби |
Від нуля до максимум 2,14 Гбайт. Використовується для об’єктів OLE. |
CHARACTER |
2 байти на символ |
Від нуля до 255 символів. |
|
|
|
30. Прості вибірки даних. Основні sql-вирази для вибірки даних.
ПРИКЛАДИ
Запитання |
SELECT-запит |
Вибрати всі записи з таблиці rf_course |
SELECT * FROM rf_course; |
Вибрати всі коди предметів, назва яких містить ‘ПЛ’ |
SELECT id FROM rf_course WHERE name LIKE ‘*ПЛ*’; |
Вибрати всі заняття за березень 2003 року |
SELECT * FROM dc_lesson WHERE evdate BETWEEN ’01.03.2003’ AND ’31.03.2003’; |
Вибрати всі заняття з приміткою |
SELECT * FROM dc_lesson WHERE note IS NOT NULL; |
Вибрати усі заняття з першої та третьої пари |
SELECT * FROM dc_lesson WHERE lessonnum IN (1,3); |
Вибрати теми усіх занять, які відбулися в березні 2003 року |
SELECT * FROM rf_theme WHERE id IN ( SELECT theme_id FROM dc_lesson WHERE evdate BETWEEN ’01.03.2003’ AND ’31.03.2003’); |
Для кожної теми занять вибрати назву предмету |
SELECT t.id AS theme_id, lessontype, t.name AS theme_name, c.name AS course_name FROM rf_course AS c INNER JOIN rf_theme AS t ON c.id=t.course_id; |
Для кожного предмету вибрати усі теми занять, якщо такі існують |
SELECT c.id AS course_id, c.name AS course_name, t.id AS theme_id, lessontype, t.name AS theme_name FROM rf_course AS c LEFT JOIN rf_theme AS t ON c.id=t.course_id; |