Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМКД_БД_2.doc
Скачиваний:
20
Добавлен:
23.09.2019
Размер:
6.01 Mб
Скачать

1.3. Субд корпоративного уровня – ms sql Server

1.3.1. Общая теория запросов sql

Инструкции SQL

Запросы – это фундамент SQL. Многие разработчики используют SQL исключительно в качестве инструмента для создания запросов к базе данных.

В SQL существует около сорока инструкций (см. таблицу). Каждая из них "просит" СУБД выполнить определённое действие, например извлечь данные, создать таблицу или добавить в таблицу новые данные. Все инструкции SQL имеют одинаковую структуру, которая изображена на рисунке:

Рисунок 1.3.1.1 – Структура предлоения

Основные инструкции SQL

Инструкция

Описание

Обработка данных

SELECT

Извлекает данные из таблицы (таблиц)

INSERT

Добавляет новые строки в таблицу

DELETE

Удаляет строки из таблицы

UPDATE

Обновляет данные, существующие в таблице

Определение данных

CREATE TABLE

Добавляет новую таблицу в базу данных

DROP TABLE

Удаляет таблицу

ALTER TABLE

Изменяет структуру существующей таблицы

CREATE VIEW

Добавляет новое представление в базу данных

DROP VIEW

Удаляет представление

CREATE INDEX

Создаёт индекс для столбца

DROP INDEX

Удаляет индекс столбца

CREATE SCHEMA

Добавляет новую схему в базу данных

DROP SCHEMA

Удаляет схему

CREATE DOMAIN

Добавляет новый домен в базу данных

ALTER DOMAIN

Изменяет определение домена

DROP DOMAIN

Удаляет домен

Управление доступом

GRANT

Предоставляет пользователю определенную привилегию доступа

REVOKE

Отменяет указанную привилегию доступа

Управление транзакциями

COMMIT

Завершает текущую транзакцию

ROLLBACK

Отменяет текущую транзакцию

SET TRANSACTION

Определяет режим доступа к данным для текущей транзакции

Программный SQL

DECLARE

Определяет набор записей, в который будут возвращены результаты запроса

OPEN

Открывает набор записей

FETCH

Извлекает строку из таблицы результатов запроса

CLOSE

Закрывает набор записей

PREPARE

Подготавливает инструкцию SQL к динамическому выполнению

EXECUTE

Динамически выполняет инструкцию SQL

DESCRIBE

Возвращает описание подготовленного запроса

Каждая инструкция SQL начинается с команды, т.е. ключевого слова, описывающего действие, выполняемое инструкцией.

Типичными командами являются CREATE (создать), INSERT (добавить), DELETE (удалить) и COMMIT (зафиксировать). После команды идёт одно или несколько предложений.

Предложение описывает данные, с которыми работает инструкция, или содержит уточняющую информацию о действии, выполняемом инструкцией.

Каждое предложение также начинается с ключевого слова, такого как WHERE (где), FROM (откуда), INTO (куда) и HAVING (имеющий). Одни предложения в инструкции являются обязательными, а другие – нет. Конкретная структура и содержимое предложения могут изменяться. Многие предложения содержат имена таблиц или столбцов. Некоторые из них могут содержать дополнительные ключевые слова, константы и выражения.

В стандарте ANSI/ISO определены ключевые слова, которые применяются в качестве команд и в предложениях инструкций. В соответствии со стандартом эти ключевые слова нельзя использовать для именования объектов базы данных (таблицы, столбцы, пользователи и т.п.). Во многих СУБД этот запрет ослаблен, однако следует избегать использования ключевых слов в качестве имен таблиц и столбцов. В таблице перечислены ключевые слова SQL (включённые в стандарт SQL2). В стандарте SQL2 определён также список "потенциальных" ключевых слов, которые могут стать таковыми в будущих версиях стандарта (см. соответствующую таблицу).

Ключевые слова стандарта SQL2

absolute

cross

GET

not

SPACE

action

current

global

null

sql

add

current_date

go

nullif

sqlcode

all

current_time

goto

numeric

sqlerror

allocate

current_timestamp

grant

octet_length

sqlstate

alter

current_user

group

of

substring

and

cursor

having

on

sum

any

date

hour

only

systemjjser

are

day

identity

open

table

as

deallocate

immediate

option

temporary

asc

dec

in

or

then

assertion

decimal

indicator

order

time

at

declare

initially

outer

timestamp

AUTHORIZATION

default

inner

output

timezone_hour

avg

deferrable

input

overlaps

timezone_minute

begin

deferred

insensitive

pad

to

between

delete

insert

partial

trailing

bit

desc

int

position

transaction

bit_lengTh

describe

integer

precision

translate

both

descriptor

intersect

prepare

translation

by

diagnostics

interval

preserve

trim

cascade

disconnect

into

primary

true

cascaded

distinct

is

prior

union

case

domain

isolation

privileges

unique

cast

double

join

procedure

unknown

catalog

drop

key

public

update

char

else

language

read

upper

character

end

last

real

usage

char_LEtTH

end_exec

leading

references

user

charactER_length

escape

left

relative

using

check

except

level

restrict

value

close

exception

like

revoke

values

coalesce

exec

local

right

varchar

collate

execute

lower

rollback

varying

collation

exists

match

rows

view

column

external

max

schema

when

commit

extract

min

scroll

whenever

connect

false

minute

second

where

connectjon

fetch

module

section

with

constrain

first

month

select

work

constrains

float

names

session

write

continue

for

national

session_user

year

convert

foreign

natural

set

zone

corrESpONDing

found

nchar

size

count

from

next

smallint

create

full

no

some

Потенциальные ключевые слова (многие из них уже стали ключевыми в той или иной СУБД)

after

equals

old

return

test

alias

general

operation

returns

there

async

if

operators

role

trigger

before

ignore

others

routine

type

boolean

leave

parameters

row

under

breadth

less

pendant

savepoint

variable

completion

limit

preorder

search

virtual

call

loop

private

sensitive

visible

cycle

modify

protected

sequence

wait

data

new

recursive

signal

while

depth

none

ref

similar

without

dictionary

object

referencing

sqlexception

each

off

replace

sqlwarning

elseif

oid

resignal

structure

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