СУБД/лекция 1 семестр 2 — различия между версиями
Материал из Wiki
< СУБД
Vidokq (обсуждение | вклад) (Новая страница: «== Введение в хранимые процедуры MySQL 5 == [http://ruseller.com/lessons.php?rub=28&id=1189 Исходный материал] В MySQL…») |
Vidokq (обсуждение | вклад) (→Удаление столбцов) |
||
| (не показаны 10 промежуточных версий 1 участника) | |||
| Строка 1: | Строка 1: | ||
| − | == | + | == Слайды == |
| − | [http:// | + | * [[Файл:Лекция_13.rar]] |
| − | + | == Ссылки на литературу == | |
| − | + | * [http://www.sql.ru/docs/sql/u_sql/ch17.shtml СОЗДАНИЕ ТАБЛИЦ] | |
| + | * [http://www.site-do.ru/db/sql3.php SQL - Урок 3. Создание таблиц и наполнение их информацией] | ||
| + | * [http://www.site-do.ru/db/sql9.php SQL - Урок 9. Редактирование, обновление и удаление данных] | ||
| − | + | == Создание таблиц == | |
| − | + | * [http://www.mysql.ru/docs/man/Retrieving_data.html Справочное руководство по MySQL] | |
| − | + | * [http://www.mysql.ru/docs/gruber/mg18.html Ограничения] | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | Создание и удаление таблиц в ms sql server. Все данные в БД sql server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов. | |
| − | |||
| − | |||
| − | + | sql server поддерживает следующие типы данных: | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| + | Тип данных Обозначение Размер, байт | ||
| + | Бинарные данные binary | ||
| + | varbinary[(n)] 1-8000 | ||
| + | Символы char[(n)] | ||
| + | varchar[(n)] 1-8000 ( до 8000 символов) | ||
| + | Символы unicode nchar[(n)] | ||
| + | nvarchar[(n)] 1-8000 (до 4000 символов) | ||
| + | Дата и время datetime 8 | ||
| + | smalldatetime 4 | ||
| + | Точные числа decimal[(p[,s])] 5-17 | ||
| + | numeric[(p[,s])] 5-17 | ||
| + | Приблизительные числа float[(n)] 4-8 | ||
| + | real 4 | ||
| + | Глобальный идентификатор uniqueidentifier 16 | ||
| + | Целые числа int 4 | ||
| + | smallint 2 | ||
| + | tinyint 1 | ||
| + | Денежки money, smallmoney 8, 4 | ||
| + | Специальные bit, | ||
| + | cursor, | ||
| + | sysname, | ||
| + | timestamp 1, 0-8 | ||
| + | Текст и изображение text, image 0-2 Гб | ||
| + | Текст unicode ntext 0-2 Гб | ||
| − | + | * Таблицы можно создавать с помощью оператора create table языка transact-sql, а также с помощью enterprise manager. | |
| − | + | === Содание таблиц с помощью create table=== | |
| + | Для создания таблиц применяется оператор create table. | ||
| + | Вот как выглядит упрощенный синтаксис этого оператора: | ||
| − | + | create table table_name | |
| − | + | (column_name data_type [null | not null] | |
| − | + | [,...n]) | |
| − | + | Например: | |
| − | + | ||
| − | + | ||
| − | + | <source lang="sql">create table member | |
| − | <source lang="sql"> | + | ( member_no int not null, |
| − | + | lastname char(50) not null, | |
| − | + | firstname char(50) not null, | |
| + | photo image null | ||
| + | )</source> | ||
| − | + | Этим оператором создается таблица member, состоящая из четырех колонок: | |
| − | В | + | * member_no - имеет тип int, значения null не допускаются |
| − | + | * lastname - имеет тип char(50) - 50 символов, значения null не допускаются | |
| + | * firstname - аналогично lastname | ||
| + | * photo - имеет тип image (изображение), допускается значение null | ||
| + | {{ЖЛампа|24px}} Примечание | ||
| + | null - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании not null - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и sql server сгенерирует ошибку. | ||
| − | + | * Попробуйте выполнить эту команду. Запустите query analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlstep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать f5 или ctrl-e). | |
| − | + | * Чтобы точно удостовериться, в том, что таблица была создана, наберите команду: | |
| + | sp_help member | ||
| + | * Выделите ее (как в обычном редакторе) и снова нажмите f5. В окно результатов будет выведена информация о таблице member. | ||
| + | {{ЖЛампа|24px}} На заметку! | ||
| − | + | * sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.). | |
| + | Формат вызова таков: | ||
| + | sp_help <имя таблицы> | ||
| + | или для MySql | ||
| + | show tables; | ||
| − | + | * Удалить таблицу проще простого. Там же, в запросчике (так у нас называют query analyzer), наберите: | |
| − | + | drop table member | |
| − | + | ==Удаление столбцов== | |
| − | + | Удаление столбца можно сделать при помощи следующей конструкции: | |
| + | <source lang="sql">ALTER TABLE table_name DROP field_name</source> | ||
| + | * table_name - имя таблицы, в которой будет удален столбец; | ||
| + | * field_name - имя удаляемого столбца. | ||
| + | $sql="ALTER TABLE search DROP id_num"; | ||
| + | mysql_query($sql); | ||
| − | + | Если мы хотим удалить сразу несколько полей, то надо через запятую повторить DROP field_name для каждого столбца: | |
| − | + | <source lang="sql">ALTER TABLE search DROP id_1, DROP id_2, DROP id_3</source> | |
| − | + | $sql="ALTER TABLE search DROP id_1, DROP id_2, DROP id_3"; | |
| − | + | mysql_query($sql); | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | <source lang="sql"> | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Текущая версия на 13:17, 20 апреля 2014
Содержание |
Слайды
Ссылки на литературу
- СОЗДАНИЕ ТАБЛИЦ
- SQL - Урок 3. Создание таблиц и наполнение их информацией
- SQL - Урок 9. Редактирование, обновление и удаление данных
Создание таблиц
Создание и удаление таблиц в ms sql server. Все данные в БД sql server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов.
sql server поддерживает следующие типы данных:
Тип данных Обозначение Размер, байт
Бинарные данные binary
varbinary[(n)] 1-8000
Символы char[(n)]
varchar[(n)] 1-8000 ( до 8000 символов)
Символы unicode nchar[(n)]
nvarchar[(n)] 1-8000 (до 4000 символов)
Дата и время datetime 8
smalldatetime 4
Точные числа decimal[(p[,s])] 5-17
numeric[(p[,s])] 5-17
Приблизительные числа float[(n)] 4-8
real 4
Глобальный идентификатор uniqueidentifier 16
Целые числа int 4
smallint 2
tinyint 1
Денежки money, smallmoney 8, 4
Специальные bit,
cursor,
sysname,
timestamp 1, 0-8
Текст и изображение text, image 0-2 Гб
Текст unicode ntext 0-2 Гб
- Таблицы можно создавать с помощью оператора create table языка transact-sql, а также с помощью enterprise manager.
Содание таблиц с помощью create table
Для создания таблиц применяется оператор create table. Вот как выглядит упрощенный синтаксис этого оператора:
create table table_name (column_name data_type [null | not null] [,...n])
Например:
CREATE TABLE member ( member_no INT NOT NULL, lastname CHAR(50) NOT NULL, firstname CHAR(50) NOT NULL, photo image NULL )
Этим оператором создается таблица member, состоящая из четырех колонок:
- member_no - имеет тип int, значения null не допускаются
- lastname - имеет тип char(50) - 50 символов, значения null не допускаются
- firstname - аналогично lastname
- photo - имеет тип image (изображение), допускается значение null
null - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании not null - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и sql server сгенерирует ошибку.
- Попробуйте выполнить эту команду. Запустите query analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlstep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать f5 или ctrl-e).
- Чтобы точно удостовериться, в том, что таблица была создана, наберите команду:
sp_help member
- Выделите ее (как в обычном редакторе) и снова нажмите f5. В окно результатов будет выведена информация о таблице member.
- sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.).
Формат вызова таков: sp_help <имя таблицы> или для MySql show tables;
- Удалить таблицу проще простого. Там же, в запросчике (так у нас называют query analyzer), наберите:
drop table member
Удаление столбцов
Удаление столбца можно сделать при помощи следующей конструкции:
ALTER TABLE TABLE_NAME DROP field_name
- table_name - имя таблицы, в которой будет удален столбец;
- field_name - имя удаляемого столбца.
$sql="ALTER TABLE search DROP id_num"; mysql_query($sql);
Если мы хотим удалить сразу несколько полей, то надо через запятую повторить DROP field_name для каждого столбца:
ALTER TABLE SEARCH DROP id_1, DROP id_2, DROP id_3
$sql="ALTER TABLE search DROP id_1, DROP id_2, DROP id_3"; mysql_query($sql);