1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
2 Создание таблиц CREATE TABLE DEPARTAMENT (–имя таблицы DEPNO integer NOT NULL – имя колонки DNAME char (20) LOC char (20) MANAGER char (20) PHONE char (15) PRIMARY KEY (DEPNO) – определение ) первичного ключа
3 Синтаксис CREATE TABLE CREATE TABLE имя_таблицы (Имя_колонки тип данных [Not NULL| Not NULL WITH DEFAULT) [, Имя_колонки…] [PRIMARY KEY (Имя_колонки [, Имя_колонки…]] [FOREING KEY [имя_ключа] (Имя_колонки [, Имя_колонки…]) REFERENCES имя_таблицы_родителя [ON DELETE [RESTRICT| CASCADE|SET NULL]]] ) [IN [имя_базы_данных] имя_области_табличного_пространства | IN DATABASE имя_базы_данных] [PCTFREE целочисленная_константа]
4 Добавление строки в таблицу INSERT INTO [SHTAT].dbo.[dolgn] VALUES (2,'Ведущий инженер')
5 Выборка данных из таблицы. SELECT DEPNO, DNAME, LOC, MANAGER, PHONE FROM DEPARTAMENT SELECT * FROM DEPARTAMENT SELECT * FROM DEPARTAMENT, ADRESS
6 Выборка данных из таблицы. SELECT DNAME, DEPNO FROM DEPARTAMENT SELECT MANAGER FROM DEPARTAMENT
7 Выборка заданных строк. SELECT * FROM DEPARTAMENT WHERE DEPNO = 20 SELECT * FROM AUTHORS WHERE region = Калининский
8 Арифметические операторы сравнения. SELECT * FROM AUTHORS WHERE region <> Калининский SELECT * FROM TITLES WHERE PRICE < 15 SELECT au_lname, au_fname FROM AUTHORS WHERE au_lname > Каменский SELECT title, price FROM Titles WHERE price <= 32
9 Поиск по подстрокам: оператор LIKE SELECT * FROM AUTHORS WHERE au_fname LIKE Б% -(подчеркивание) Означает один любой символ. [ ] – Задает диапазон значений ^ - Задает диапазон значений, которые не должны содержаться в считываемых строках.
10 Оператор OR SELECT * FROM Authors WHERE region = Центральный OR region = Фрунзенский SELECT * FROM Titles WHERE title = Базы данных OR price > 21
11 Оператор AND SELECT * FROM Authors WHERE au_lname LIKE B% AND region = Фрунзенский
12 Оператор NOT SELECT * FROM Authors WHERE NOT region = Фрунзенский SELECT * FROM Authors WHERE region = Фрунзенский AND NOT au_lname LIKE B%
13 Оператор BETWEEN SELECT * FROM Titles WHERE price BETWEEN 15.0 AND 21
14 Выборка значений NULL SELECT title, advance FROM Titles WHERE advance =NULL
15 Упорядочивание строк. SELECT * FROM DEPARTAMENT WHERE DEPNO = 20 ORDER BY DNAME SELECT * FROM DEPARTAMENT WHERE DEPNO = 20 ORDER BY DNAME DESC
16 Подавление строк дубликатов SELECT DISTINCT DEPNO FROM DEPARTAMENT
17 Использование псевдонимов SELECT au_id AS Идентификатор, au_lname Фамилия, au_fname имя, au_id FROM Athors OREDER BY au_lname
18 Арифметические операторы SELECT title_id, ytd_sales*price FROM Titles
19 Группировка данных SELECT pub_id, Число книг = COUNT (*) FROM Titles GROUP BY pub_id
20 FOR BROWSE Используется для чтения таблицы, внутри которой в данный момент другой пользователь проводит модификацию информации значения таблиц.
21 Системная глобальная переменная SELECT Успех – 0 иначе 1
22 Синтаксис SELECT SELECT [ALL|DISTINCT] выражение [AS имя] [, выражение [AS имя]] …] FROM имя_таблицы|имя _представления [корреляционное_имя] [, имя_таблицы|имя _представления [корреляционное_имя]] WHERE условие_поиска GROUP BY имя_колонки|целочисленная_константа [ASC|DESC] [, имя_колонки|целочисленная_константа [ASC|DESC] …] HAVING условие_поиска ORDER BY имя_колонки|целочисленная_константа [ASC|DESC] [, имя_колонки|целочисленная_константа [ASC|DESC] …] FOR UPDATE OF имя_колонки [, имя_колонки…]
23 Синтаксис UNION Команда SELECT UNION [ALL] Команда SELECT ORDER BY целочисленная_константа [ASC|DESC] [, целочисленная_константа [ASC|DESC]… ]
24 Добавление данных в таблицу из другой таблицы. INSERT INTO DEPARTAMENT (DEPTNO, DNAME, LOC, MANAGER,PHONE) VALUES (SELECT DEPTNO, DNAME, LOC, MANAGER,PHONE FROM DEP)
25 Модификация значения колонок. UPDATE ZARP SET SAL = 1,5*SAL WHERE JOB =Разработчик
26 Удаление строк из таблицы. DELETE FROM DEPARTAMENT WHERE ENAME = Иванов
27 Изменение схемы БД ALTER TABLE DEPARTAMENT ADD INDEKS CHAR (8) ALTER TABLE DEPARTAMENT MODIFY INDEKS CHAR (10) ALTER TABLE DEPARTAMENT RENAME INDEKS KINDEKS ALTER TABLE DEPARTAMENT RENAME TABLE DEP ALTER TABLE DEPARTAMENT DROP KINDEKS
28 Команда DROP DROP DATABASE имя БД DROP TABLE имя таблицы
29 Создание виртуальных таблиц. CREATE VIEW browseall AS SELECT DEPNO, EMPNO, ENAME, JOB FROM TABL1 GROOP BY DEPNO, EMPNO, ENAME, JOB
30