CentrumXP.pl » Witamy
CentrumXP.pl
 
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy zamierzasz pobrać Internet Explorer 9?


CentrumXP.pl » Microsoft .NET » Kurs SQL » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

10. Operacje na danych "Data Manipulation Language".

Autor: Grzegorz Chuchra    Opublikowano: 1 lutego 2006    Odsłon: 60598    »Skomentuj...
Strona:
Zobacz również:

01. SQL Server 2005 Express - Wstęp do kursu

02. Instalacja. Opis elementów wchodzących w skład SQL Server 2005.

03. SQL Server - instalacja krok po kroku

04. Pierwszy kontakt. Czyli czym jest baza danych i jak z niej korzystać.

05. Wstęp do relacyjnych baz danych. Sposób organizacji danych danych.

06. Klucze główne i obce

07. Normalizacja baz danych

08. Co to jest typ danych? Jakie typy danych dostarcza nam SQL Server 2005.

09. Z teorii do praktyki czyli "Data Definition Language"

11. Filtracja danych

12. Funkcje agregujące

13. Łączenie tabel

14. Praca z podzapytańami, tabelami tymczasowymi i zmiennymi tabelarycznymi

15. Nowości w "Data Control Language", czyli parę słów o schematach

16. Transakcje

17. Nowości w SQL Server 2005

18. Procedury składowalne i funkcje bazodanowe

19. XML i XQuery

20. Użycie .NET CLR w SQL Server 2005

»Uzyskaj pomoc na forum

W artykule tym zajmiemy się językiem operacji na danych. Przedstawimy instrukcje wchodzące w skład Data Manipulation Language(DML), bo o nim tutaj mowa, zrobimy kilka przykładowych operacji na danych zawartych w bazie AdventureWorks oraz pokażemy, w jaki sposób wykorzystać narzędzia ułatwiające tworzenie skryptów.

Data Manipulation Language służy do pracy z danymi zgromadzonym w systemie bazodanowym. Dzięki wykorzystaniu wyrażeń DML możemy operować na danych - skutecznie je zmieniać i przeglądać. DML składa się z czterech podstawowych komend:

SELECT wylistowuje wiersze
INSERT wstawia nowy wiersz
UPDATE zmienia istniejący wiersz
DELETE usuwa wiersz z repozytorium

Najprostszy z możliwych skryptów z wykorzystaniem języka zapytań jaki można wykonać to:

SELECT *
FROM [Person].[Contact]

Zwraca listę wszystkich rekordów jakie zawarte są w tabeli Contact. Słowo kluczowe SELECT określa rodzaj operacji jaką będziemy wykonywać, * daje informacje o tym, iż pobieramy wszystkie kolumny należące do danej tabeli, kolejne słowo kluczowe FROM określa, z jakiej tabeli będziemy pobierać dane, a następnie podajemy nazwę tej tabeli. W SQL Server 2005 musimy przed nazwą tabeli podać dodatkowo nazwę schematu. Schemat jest związany z bezpieczeństwem bazy danych. Każdy obiekt bazodanowy należy do któregoś ze schematów. Jeśli nie przypiszemy jawnie schematu podczas tworzenia tabeli, procedury składowanej itp. to domyślnie umieszczona zostanie w schemacie [dbo]. Szerzej o schematach powiemy sobie w kolejnych publikacjach dotyczącej polityki bezpieczeństwa i języka Data Control Language(DCL).

Ponieważ wychodzę z założenia, że jeśli coś można wyklikać, nie ma potrzeby tego pisać, większość przykładów będziemy tworzyć w narzędziu przeznaczonym do edytowania skryptów. Dzięki temu zaoszczędzimy sporo czasu, a przy tym będziemy mieli pewność, iż zapytanie, które napisaliśmy, nie posiada nieprzyjemnych literówek.
Na początek spróbujmy utworzyć zapytanie, które wcześniej wszyscy widzieliśmy - wylistowujące wszystkie rekordy z tabeli Contact. W tym celu w Microsoft SQL Server Management Studio otwieramy nową zakładkę (naciskamy przycisk New Query). Po załadowaniu się okna służącego do edycji własnych skryptów, pojawi się dostępna opcja uruchomienia Design Query in Editor.

Po jej naciśnięciu przechodzimy do edytowania zapytania. Pierwszy krok to wybranie tabeli nas interesującej, w tym przypadku będzie to tabela Contact w schemacie Person.

 

Gdy już wybraliśmy tabelę z listy, możemy przejść do edytowania zapytania. Teraz wystarczy wcisnąć checkbox-a opisanego (* All Columns) oraz potwierdzić wciskając OK.

Jak łatwo zauważyć, mamy wygenerowane zapytanie praktycznie identyczne jak to powyżej. Jedyna różnica polega na tym, że tu mamy gwiazdkę poprzedzoną nazwą tabeli z której dane chcemy wybrać.


1 2 3 Dalej» 

Aktualna ocena to: 3,61

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!

Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do 10. Operacje na danych "Data Manipulation Language".

Dodaj komentarz»

s 13 lipca 2006, 0:04

wydaje mi sie ze jest blad w przykladzie z INSERT. Pole CountryRegionCode jest NOT NULL i nie posiada 'default value', wobec tego jezeli chcemy dodac jakis wpis do tej tabeli musimy podac przede wszystkim ta wartosc ( w koncu jest tez kluczem glownym) . popraw mnie jesli jestem w bledzie. pozdrawiam s

davidvp 25 lipca 2006, 10:14

Jasne, że masz racje... Też to zauważyłem, ale problem rozwiązuje ustawienie CountryRegionCode np. jako RP (skoro PL już zajęte) :) Kurs posiada parę małych błędów, ale ogólnie jest przyjemny i się go mile czyta.. Dobra robota.. Pozdrawiam davidvp

Szymon 15 listopada 2007, 23:34

"Pierwszy krok to wybranie tabeli nas interesującej, w tym przypadku będzie to tabela Contact w schemacie Person" - uruchomiłem tego Design Query in Editor i nigdzie mi się żadna tabel nie pojawia. Tak jak jest na tamtym rysunku to u mnie jest pusto. Może coś jest poblokowane ? Macie jakiś pomysł. Będę wdziczny bo jak dotąd kurs jest spoko

Kopacz0 2 grudnia 2007, 18:30

Re Szymon: pewnie po otwarciu query musisz zmienic baze. Ja naprzyklad mam domyslnie ladowaba baze master, i musze w lewym gornym rogu zmienic ja na ta w ktorej zamierzam pracowac

zch_pit 19 maja 2008, 0:15

Na pocz. tego rozdziału przydała by się krótka informacja iż teraz przenosimy się z "własnej bazy" (z rozdziału nr. 9) do bazy AdventureWorks którą dodaliśmy bodajże w 3 rozdziale. Pozdro

gość 13 lutego 2009, 13:11

nieco chaotycznie jest to wyjaśniane, trochę za dużo skrutów myślowych

przemciok 21 marca 2010, 12:59

niestety. jw.

Paweł 29 marca 2010, 10:33

Przyjazny kurs tylko nie moge dodac Polski do krajów. Pojawia się błąd Msg 515, Level 16, State 2, Line 1 Cannot insert the value NULL into column "CountryRegionCode", table "AdventureWorks.Person.CountryRegion"; column does not allow nulls. INSERT fails. The statement has been terminated.

jedrek 22 kwietnia 2010, 12:46

Jak zauważyli powyżej autor zapomniał o polu CountryRegionCode, więc albo oprócz pól Name, ModifiedDate musisz wstawic pole CountryRegionCode albo zmienić pole CountryRegionCode na NULL bo w tej chwili jest NOT NULL

Brando 15 czerwca 2011, 19:39

błąd Msg 515, Level 16, State 2, Line 1 Cannot insert the value NULL into column "CountryRegionCode", table "AdventureWorks.Person.CountryRegion"; column does not allow nulls. INSERT fails. The statement has been terminated. Rozwiązujemy w następujący sposób: INSERT INTO Person.CountryRegion     (CountryRegionCode, Name, ModifiedDate) VALUES    ("Pol", "Polska", GETDATE()) Musimy wstawić oprócz name i daty równierz skrót w kolumnie "CountryRegionCode" ponieważ tabela sie go domaga i nie pozwala zostawić pustego: "column does not allow null" Pozdro


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2012 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plXboxSpot.pl  |  Jama Mastaha