Хелпикс

Главная

Контакты

Случайная статья





1. Создание таблиц



 

- в консоли (имя таблицы – T1, схема – Sales, файловая группа DYNAMIC):

CREATE TABLE Sales. T1(X INT)

ON [DYNAMIC]

 

- Выборка данных с обращением по полностью квалифицированному имени таблицы:

SELECT *

FROM [ASUSPC\SQLEXPRESSADV]. TestDB. Sales. T1

(т. о. можно динамически подключаться к серверу, связанному с текущим);

 

- таблица с первичным ключом-счетчиком (начиная с 1, с шагом 1):

СМОТРИ НИЖЕ В РАЗДЕЛЕ «Изменение таблиц»;

 

- таблица с полем версий записей (номера версий нарастают):

CREATE TABLE Subjects

(

subject_id INT,

name NVARCHAR(100),

rv ROWVERSION

)

ON [PRIMARY]

 

И работа с этой таблицей:

INSERT Subjects (name) VALUES (N'Теория БД')

 

SELECT *

FROM Subjects

 

UPDATE Subjects SET name = N'Теория баз данных'

 

INSERT Subjects (name) VALUES (N'MS SQL Server');

2. Очистка таблицы:

TRUNCATE TABLE Subjects.

 

3. Изменение таблицы:

- общий синтаксис:

 

ALTER TABLE Имя_таблицы

       [ ADD имя_поля спецификаторы --Добавление столбца]

       [ ALTER COLUMN имя_поля новые_спецификаторы --модифицирование столбца]

       [ DROP имя_поля --удаление столбца]

       [ DROP CONSTRAINT имя_ограничения --удаление ограничения]

       [ ADD CONSTRAINT имя_ограничения имя_ограничения тип_ограничения]

 

       - пример:

ALTER TABLE Subjects

DROP COLUMN subject_id

 

ALTER TABLE Subjects

ADD subject_id INT PRIMARY KEY IDENTITY(1, 1)

 

SELECT *

FROM Subjects

4. Удаление таблицы:

DROP TABLE Subjects;

 

 

5. Работа с представлениями:

 

- создание представления и выборка данных таблицы через него (вывести через представление названия издательств и суммарное количество страниц для каждого издательства, затем запросить из представления название издательства с наибольшим числом страниц и это число):

 

CREATE VIEW [The_biggest_press_view] AS

(

  SELECT SUM(Books. pages) AS pages_sum, Press. name

  FROM Books INNER JOIN Press ON Books. id_press = Press. id

  GROUP BY Press. name

)

 

GO

 

SELECT *

FROM The_biggest_press_view

 

GO

 

SELECT name, pages_sum AS max_sum

FROM The_biggest_press_view

WHERE pages_sum =

(

  SELECT MAX(pages_sum)

  FROM The_biggest_press_view

)

 

- если в конце запроса создания представления добавить строку «With Check Option», то через это представление можно будет менять/добавлять данные, только соответствующие условию, заданному в разделе WHERE данного запроса.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.