Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб-1-2-теория.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Требования к памяти для символьных типов приведены в таблице.

Требования к памяти для символьных типов

Тип столбца

Требуемая память

CHAR(M)

M байт, 1 <= M <= 255

VARCHAR(M)

L+1 байт, где L <= M и 1 <= M <= 255

TINYBLOB, TINYTEXT

L+1 байт, где L < 2^8

BLOB, TEXT

L+2 байт, где L < 2^16

MEDIUMBLOB, MEDIUMTEXT

L+3 байт, где L < 2^24

LONGBLOB, LONGTEXT

L+4 байт, где L < 2^32

ENUM('value1','value2',...)

1 или 2 байт, в зависимости от количества перечисляемых величин (максимум 65535)

SET('value1','value2',...)

1, 2, 3, 4 или 8 байт, в зависимости от количества элементов множества (максимум 64)

2.1. Запись данных в таблицы

Оператор INSERT заполняет таблицу данными.

Синтаксис INSERT.

INSERT into table_name (column1, column2, ...)

values (value1, value2...);

где table_name является именем таблицы, в которую надо внести данные; column1, column2 и т.д. являются именами столбцов, а value1, value2 и т.д. являются значениями для соответствующих столбцов.

Пример 1:

Внести первую запись в таблицу rabotniki_data.

INSERT INTO rabotniki_data

(1_name, 2_name, dolgnost, vozrast, stag, zarplata, nadbavki, email)

values

("Иван", "Иванов", "директор", 30, 5, 100000,

30000, "ivan@mail.ru");

Как и другие операторы MySQL, эту команду можно вводить на одной строке или в нескольких строках.

Несколько важных моментов:

  • Значениями для столбцов 1_name, 2_name, dolgnost и email являются текстовые строки, и они записываются в кавычках.

  • Значениями для vozrast, stag, zarplata, nadbavki являются числа (целые), и они не имеют кавычек.

  • Можно видеть, что данные заданы для всех столбцов кроме emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.

Если приведенная выше команда правильно введена в приглашении клиента mysql, то программа выведет сообщение об успешном выполнении.

Создание дополнительных записей требует использования отдельных операторов INSERT.

Чтобы облегчить эту работу можно поместить все операторы INSERT в файл. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.

В системе Windows

1) Поместите файл в каталог c:\mysql\bin.

2) Проверьте, что MySQL работает.

3) Выполните команду

mysql employees <employee.dat

Если файл находится в другом каталоге – укажите полный путь к файлу.

Ввод данных из файла

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'

[REPLACE | IGNORE]

INTO TABLE tbl_name

[FIELDS

[TERMINATED BY '\t']

[[OPTIONALLY] ENCLOSED BY '']

[ESCAPED BY '\\' ]

]

[LINES TERMINATED BY '\n']

[IGNORE number LINES]

[(col_name,...)]

Команда LOAD DATA INFILE читает строки из текстового файла и вставляет их в таблицу с очень высокой скоростью. Если задано ключевое слово LOCAL, то файл читается с клиентского хоста. Если же LOCAL не указывается, то файл должен находиться на сервере.

Если текстовые файлы, которые нужно прочитать, находятся на сервере, то из соображений безопасности эти файлы должны либо размещаться в директории базы данных, либо быть доступными для чтения всем пользователям. Кроме того, для применения команды LOAD DATA INFILE к серверным файлам необходимо обладать привилегиями FILE для серверного хоста.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]