Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Язык SQL

Существует множество разнообразных систем управления базами данных: Microsoft Access, Oracle, DB2, Microsoft SQL Server, Informix, mySQL, и это далеко не полный список. А нам необходимо обратиться к базе данных из программы на языке C# и "объяснить" ей, что мы ищем.

Проще всего включить в код C# фрагмент на "языке базы данных", с помощью которого выполняется запрос к базе данных на получение нужных столбцов и строк.

(По правде говоря, существует еще и промежуточный уровень – ADO.NET, но сейчас мы не станем заострять на нем внимание.)

Много лет назад специалисты по базам данных договорились об использовании "единого языка баз данных", который понимали бы большинство существующих баз данных. Они назвали его SQL (от англ. Structured Query Language — язык структурированных запросов). Не следует путать язык SQL с системой управления базами данных SQL Server, разработанной корпорацией Microsoft. Язык SQL поддерживают системы управления базами данных (СУБД), выпускаемые самыми разными производителями.

 

Приступая к разговору о том, как использовать C# при работе с базами данных, сначала познакомимся с основами языка SQL. Ниже приведены примеры операторов на языке SQL и описывается результат их выполнения.

Основными командами SQL являются:

  • SELECT (для выбора некоторых данных);
  • INSERT (для добавления новых данных);
  • UPDATE (для изменения информации, уже существующей в базе данных).

Приведем примеры каждой команды.

Как правило, оператор SELECT записывается следующим образом:

SELECT <имена извлекаемых столбцов>

FROM <имена одной или нескольких таблиц базы данных>

WHERE <условие выбора>

Рассмотрим пример выбора данных оператором SELECT:

SELECT * FROM PLANET

Символ звездочка * означает выбор всех столбцов таблицы. Поэтому данный оператор вернет из базы данных всю таблицу Planet со всеми строками и столбцами.

Рассмотрим оператор

SELECT PlanetName, Inhabitants FROM PLANET

Этот запрос возвращает столбцы PlanetName и Inhabitants со всеми строками из таблицы PLANET.

PlanetName Inhabitants
Меркурий Меркуриане
Венера Венериане
Земля Земляне
Марс Марсиане
Юпитер Юпитериане
Знок Знокиане
Сатурн Сатурниане
Уран Ураниане
Нептун Нептуниане
Плутон Плутониане

Запрос

SELECT PlanetName, Inhabitants FROM PLANET

WHERE PlanetName='Венера'

возвращает столбцы PlanetName и Inhabitants из таблицы PLANET. В результат его выполнения будут включены только те строки, которые содержат значение Венера в столбце PlanetName.

PlanetName Inhabitants
Венера Венериане

Запрос:

SELECT PlanetName, Population FROM POPULATION

WHERE Population<100000

возвращает из таблицы POPULATION строки столбцов PlanetName и Population, для которых значение столбца Population меньше 100000.

PlanetName Population
Меркурий  
Венера  
Нептун <NULL>
Плутон <NULL>
Меркурий  
Венера  
Знок  
Нептун <NULL>
Плутон <NULL>

Как правило, оператор INSERT записывается следующим образом:

INSERT INTO <таблица базы данных, к которой добавляются строки>

(<названия столбцов, в которые будут добавляться значения>)

VALUES (<значения, которые будут вставлены в указанные столбцы>)

Пример:

INSERT INTO PLANET (PlanetName, DistanceFromSun, Inhabitants)

VALUES (Флафф, 23500000, 'Флаффиане')

Оператор INSERT добавляет в таблицу PLANET новую строку. Он не возвращает какого-либо результата в программу, но после его выполнения таблица примет вот такой вид:

PlanetName DistanceFromSun Inhabitants
Меркурий   Меркуриане
Венера   Венериане
Земля   Земляне
Марс   Марсиане
Юпитер   Юпитериане
Знок   Знокиане
Сатурн   Сатурниане
Уран   Ураниане
Нептун   Нептуниане
Плутон   Плутониане
Флафф   Флаффиане

Оператор UPDATE записывается следующим образом:

UPDATE <таблица базы данных, в которую вносятся изменения>

SET <названия столбцов, в которые необходимо внести изменения> = <новые значения>

WHERE <условия>

Пример:

UPDATE PLANET SET PlanetName= 'Стафф', Inhabitants='Стаффиане' WHERE PlanetName='Флафф'

Оператор изменяет некоторые значения в той строке, где столбец PlanetName имеет значение "Флафф". Результат выполнения операции программе не возвращается, но таблица примет вот такой вид:

PlanetName DistanceFromSun Inhabitants
Меркурий   Меркуриане
Венера   Венериане
Земля   Земляне
Марс   Марсиане
Юпитер   Юпитериане
Знок   Знокиане
Сатурн   Сатурниане
Уран   Ураниане
Нептун   Нептуниане
Плутон   Плутониане
Стафф   Стаффиане

Связи и объединение таблиц базы данных

Если рассмотреть таблицы внимательно, то можно заметить, что между таблицами PLANET и POPULATION существует связь: и в той и в другой есть столбец с именемPlanetName, который связывает обе таблицы. Благодаря этой связи можно собрать всю информацию об определенной планете.

Например, можно выбрать из обеих таблиц все строки, касающиеся Венеры:

PLANET
PlanetName DistanceFromSun Inhabitants
Венера   Венериане
POPULATION
PlanetName Year Population
Венера    
Венера    

А затем объединить полученные данные в одну большую таблицу:

SELECT *

FROM PLANET INNER JOIN POPULATION ON PLANET.PlanetName=POPULATION.planetName

WHERE PlanetName='Венера'

PLANETS_AND_POPULATION
PlanetName DistanceFromSun Inhabitants Year Population
Венера   Венериане    
Венера   Венериане    
<== предыдущая лекция | следующая лекция ==>
Когда следует использовать наследование | Особенности разных СУБД
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 466; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.