Upload
sai17
View
156
Download
3
Embed Size (px)
Citation preview
Работа с базами данных с использованием СУБД MySQL
Среда MySQL MySQL - компактный многопоточный сервер
баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании.
Краткий перечень возможностей MySQL:1. Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных.2. Количество строк в таблицах может достигать 50 млн.3. Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.4. Простая и эффективная система безопасности.
Среда MySQL
В MySQL отсутствуют:1. Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2). Утверждается, что такая возможность будет в версии 3.23.2. Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.3. Нет поддержки внешних (foreign) ключей.4 . Нет поддержки триггеров и хранимых процедур.5. Нет поддержки представлений (VIEW). В версии 3.23 планируется возможность создавать представления.
Подсоединение к серверу
shell> mysql -h host -u user -pEnter password: ********
Создание базы данных
CREATE DATABASE [имя базы данных]
Просмотр списка всех баз данных
SHOW DATABASES;
Удаление базы даннх
DROP DATABASE [имя базы данных]
Создание таблицы CREATE TABLE [имя_таблицы] ( [имя_столбца_1] [тип_столбца_1]
[свойства_столбца_1], [имя_столбца_2] [тип_столбца_2]
[свойства_столбца_2], . . . . . . [имя_столбца_N] [тип_столбца_N]
[свойства_столбца_N], [информация_о_ключах_и_индексах]) [свойства_таблицы];
Удаление таблицы
DROP TABLE [имя_таблицы];
Просмотр списка таблиц
SHOW TABLES
Копирование таблиц
CREATE TABLE [новая_таблица] LIKE [старая_таблица];
INSERT [новая_таблица] SELECT * FROM [старая_таблица]
Типы данных TINYINT SMALLINT MEDIUMINT INT или INTEGER BIGINT FLOAT DOUBLE,
DOUBLE PRECISION,REAL
DECIMAL,NUMERIC
DATE DATETIME TIMESTAMP TIME
Запись данных в таблицу
INSERT into table_name (column1, column2, ...) values (value1, value2...)
Запрос данных из таблицы
SELECT имена_столбцов from имя_таблицы [WHERE ...условия]
Логические операторы NOT
! Логическое НЕ. Возвращает 1, если операнд равен 0, в противном случае - 0. Исключение: NOT NULL определяется как NULL: mysql> SELECT NOT 1; -> 0 mysql>
Логические операторы Логическое ИЛИ. Возвращает 1, если
любой из операндов не равен ни 0, ни NULL: mysql> SELECT 1 || 0; -> 1 mysql> SELECT 0 || 0; -> 0 mysql> SELECT 1 || NULL; -> 1 AND
Логические операторы Логическое И. Для операндов,
значение которых не равно NULL, дает 1, если оба операнда ненулевые, и 0 - в противном случае. Возвращает NULL, если один из операндов равен NULL: mysql> SELECT 1 && 1; -> 1 mysql> SELECT 1 && 0; -> 0 mysql> SELECT 1 && NULL; -> NULL
Команды обработки данных
SQL имеет 5 агрегатных функций. MIN(): минимальное значение MAX(): максимальное значение SUM(): сумма значений AVG(): среднее значений COUNT(): подсчитывает число
записей
Математические функции Унарный минус. Изменяет знак аргумента:
mysql> SELECT - 2; -> -2 ABS(X) Возвращает абсолютное значение
величины X: mysql> SELECT ABS(2); -> 2 mysql> SELECT ABS(-32); -> 32
% Значение по модулю (подобно оператору % в C). Возвращает остаток от деления N на M:
ATAN2(Y,X) Возвращает арктангенс двух переменных X и Y
COT(X) Возвращает котангенс числа X: mysql> SELECT COT(12); -> -1.57267341 mysql> SELECT COT(0); -> NULL RAND()
SELECT COT(0); -> NULL RAND()RAND(N) Возвращает случайную величину с плавающей точкой в диапазоне от 0 до 1,0.
Работа с датой и временем
mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
mysql> SELECT HOUR('10:05:03');-> 10