+ All Categories
Home > Documents > SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from...

SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from...

Date post: 31-Aug-2018
Category:
Upload: ledung
View: 228 times
Download: 0 times
Share this document with a friend
19
SQL 2013
Transcript
Page 1: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

SQL 2013

Page 2: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Inhoudsopgave

Inhoudsopgave ...................................................................................................................................... 2

SQL begrippen ...................................................................................................................................... 3

Maken Database ................................................................................................................................... 4

Rechten voor een Database ........................................................................................................... 4

User aanmaken ..................................................................................................................................... 5

Rol Toekennen aan een user ......................................................................................................... 5

Backup .................................................................................................................................................... 6

Theorie ............................................................................................................................................... 6

In SQL ................................................................................................................................................ 6

SQL CMD ............................................................................................................................................... 6

ODBC Koppeling................................................................................................................................... 8

in excel ............................................................................................................................................... 8

in acces .............................................................................................................................................. 8

Query gelijk opslaan in C schijf .......................................................................................................... 8

maintenance plan maken .................................................................................................................. 10

Office Word aantekeningen mergen ................................................................................................ 11

Queries ................................................................................................................................................. 12

Datum ............................................................................................................................................... 12

Theorie ......................................................................................................................................... 12

Praktijk .......................................................................................................................................... 12

Gegevens uit Database halen ...................................................................................................... 13

DML commando’s ........................................................................................................................... 14

Theorie ......................................................................................................................................... 14

Praktijk .......................................................................................................................................... 14

Handleiding export SQL ..................................................................................................................... 16

Foutmeldingen................................................................................................................................. 18

Hoofdletters ................................................................................................................................. 18

Slash ............................................................................................................................................. 19

Page 3: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

SQL begrippen

Begrip Uitleg

INT Als dit bij een table staat moet er een getal staan.

Varchar Dit is een variatie van letters Varchar wordt gevolgd door (4) het getal in deze haakjes zoveel letters mag het bevatten.

Not null Dit veld mag niet leeg zijn

null Dit veld mag leeg zijn

Select Met dit commando selecteer je dingen uit de database

Insert Dit commando gebruik je om dingen toe te voegen in de database

Delete Dit commando gebruik je om dingen te verwijderen van de database

Update Dit commando gebruik je om records te updaten in de database

Integriteit Waarde in een database klopt

Truncate Dit commando gebruik je om dingen voor altijd te wissen uit de database

Create Dit commando gebruik je om je database aan te maken

Go Dit commando gebruik je om van start te gaan in de database naar keuze

Use Dit commando gebruik je om de database te selecteren in welke je wilt gaan werken

Primary key Aan dit veld kun je de database herkennen

* Alles

Order by Dit commando wil je de database gaan ordenen op het genoemde veld

ASC Sorteer aflopen A-Z

DESC Sorteer oplopend Z-A

OR Of

NOT Niet

AND En

AVG Het gemiddelde

MIN Minimum

MAX Maximum

SUM Bepaalde dingen bij elkaar optellen

Count Tellen hoeveel items er zijn

Insert Into ... Ergens in toevoegen

Values Waardes

Page 4: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Maken Database

Het maken van database beheerder:

- Create Database Beheerder

Het werkelijk aanmaken

- Go

Zeggen dat je deze database gaat gebruiken

- Use Beheerder

Het maken van een tabel

- Create Table Voorbeeld

Het vullen van gegevens

- Insert into voorbeeld (nr, Vnaam, Tnaam, Anaam, Leeftijd)

- (1, ‘Corné’, null, ‘Tamerus’, 22)

- Insert Into voorbeeld (2, ‘Jan’, Null, ‘Klaassen’, 25)

Rechten voor een Database

Select Selecteren

Insert Invoegen

Update Updaten

Delete Verwijderen

All ^ Alle bovenstaande ^

Transactional Gebruiken we niet!

Grant Toekenen

Revoke Ontnemen

Page 5: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

User aanmaken

Elke user moet een Login krijgen om toegang te krijgen tot de server

- Create Login Testen

- With Password = 'P@ssword'

- Must_change;

- go

Een login moet een useraccount worden

Toegang tot een Database (meerdere Databases is regel herhalen!)

- Use Nortwind

- Create User Inkoper

- For Login Testen;

- Go

Rol Toekennen aan een user

- exec sp_addrolemember 'db_datareader', 'Inkoper'

Zelf een Rol maken en hier rechten aan toevoegen

- Create role Testen

- go

Grant = toekennen

- Grant select, update on products to testen

- Grant Delete on products to testen

revoke = ontnemen

- Revoke update on products to testen

deny = niet gebruiken

Page 6: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Backup

Theorie

Backup tye full backup = een backup van de gehele database differential backup =

een backup van de wijzigingen in de full backup (werkt niet als je

geen full backup hebt).

bij options altijd append to the existing media aangevinkt laten.

zorg ervoor dat er altijd do not compress backup aanstaat bij options -> compression

bij maintenence plans kun je de backup specefieker aangeven.

In SQL

Databases opvragen

- select*fromsys.databases

een database uit de beheeromgeving halen:

- detach

- exec master.dbo.sp_detach_db @dbname = N'northwind'

een database in de beheeromgeving opnemen:

- attach

- create database[northwind] on

- ( filename = N'C:\program files\microsoft sql server\mssql\data\northwind.mdf

),

- ( filename = N'C:\program files\microsoft sql server\mssql\data\northwind.ldf')

- for attach

Backup databae [Northwind] to disk

- N'c\Northwind.bak

SQL CMD

Page 7: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

In uitvoeren kun je een sql cmd starten waar je ook statements kunt intypen zoals

select enz

ga naar uitvoeren -> typ sqlcmd

Page 8: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

ODBC Koppeling

koppeling maken tussen client en server voor office

ga naar server --> start --> admin tools --> data sources (ODBC).

kies voor client sql

kies de server naam (klik op file --> connect en dan zie je de servername staan.

klik bij user dsn op create --> vul je naam en een descrition in (Klik verder niet op het

pijltje).

vink aan with integrated authentication windows

selecteer de northwind database

in excel

tabblad gegevens --> ext gegevens ophalen

en dan koppel je de gemaakte koppeling

in acces

tabblad externe gegevens odbc database

koppelen aan een gegevensbron selecteren --> en dan de juiste database

selecteren en dan een tabel kiezen

ga naar het tabblad externe gegevens --> odcb-database en dan de database met de

juiste tabel selecteren

Query gelijk opslaan in C schijf

ga naar sqlcmd

type in

:out C:\text.txt

typ dan de query die je wilt hebben bijvoorbeeld

use northwind from products

Page 9: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

deze query wordt dan opgeslagen

Page 10: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

maintenance plan maken

klik op management bij sql --> DC1 (sql server

rechtermuis op maintenance plan --> new maintenence plan

dan bij toolbox klikken op shrink database task

rechtermuis op de tool --> edit

en dan kun je de database shrinken

dit is bestemd voor alleen gebruikers database

dit wordt gebruikt om de perfomence van zo'n database te verbeteren.

als je klikt op view kun je het bijbehorende commando krijgen

dan klik op execute t-sql statement task bij de toolbox

met de pijltjes kun je aangeven welke tool die eerst moet uitvoeren.

als je rechtermuis op de execute tool doet en dan edit kun je een sql commando

opgeven.

als je bij de toolbox notify operator task klikt dan zorg je ervoor dat de operator een

bericht krijgt als het commando bij execute is uitgevoerd.

Je kan ook nog op het icoontje van de datum klikken en een datum opgeven

wanneer die hem moet uitvoeren

Als je een foutmelding krijgt bij het maken van een maintenence plan dan moet je de

query select * from sys.databases uitvoeren.

Page 11: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Office Word aantekeningen mergen

tabblad mailings:

start mail merge

step by step mail merge wizard...

select document type: labels

next: starting document

select starting document:

use the current document

label options -> label vendors op microsoft zetten

product number: 30 per page

next: select recipients

use an existing list: select a different list...

new source

ODBC

the data source (corne in dit geval)

select waarvan je een lijst wil zien (bv. customers) - finish

next arrange your labels

address block (even veranderen van type kan helpen) update all labels

next preview your labels (nu moet het ingevuld zijn)

next complete the merge

Page 12: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Queries

Datum

Theorie

Getdate() laat huidige datum zien datename(weekday, <datum>)

Praktijk Laat alle orders uit 1996 zien

- Select * from Orders - where YEAR(OrderDate)=1996

laat alle orders in Februari zien

- select * from Orders - where MONTH(OrderDate)=2

laat alle orders van de 10e zien

- select * from Orders - where DAY(OrderDate)=10

laat het aantal dagen zien tussen orderdate en requiredate. Fout

- select *, RequiredDate-OrderDate as Verschil from orders oplossing 1

- select *, CAST(RequiredDate-OrderDate as int) as verschil - from orders

oplossing 2

- select *, DATEDIFF(day,orderdate,RequiredDate) as verschil - from orders

Page 13: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Gegevens uit Database halen

laat alle gegevens zien uit tabel Voorbeeld

- Select * from Voorbeeld

laat alles zien gesorteerd op achternaam

- Select * from Voorbeeld order by ANaam

Laat iedereen zien die ouder is dan 18

Select * from Voorbeeld where Leeftijd > 18 -- >= 18 en ouder

Laat iedereen zien tussen de 16 en 25

- Select * from voorbeeld > 16 and < 25

laat iedereen zien behalve 18 jaar

- Select * from voorbeeld where not leeftijd = 18

Laat iedereen zien die Geen TNaam heeft

- Select * from Voorbeeld where TNaam IS NULL

laat iedereen zien die Jan heet

- Select * from Voorbeeld where Vnaam ="Jan" or Anaam = "Jan"

Laat de gemiddelde leeftijd zien

- Select AVG(Leeftijd) From voorbeeld

Page 14: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

DML commando’s

Theorie [] gebruik je bij spaties en commando's

als je de primaire sleutek kent gebruik je deze bij verwijderen

1. Is de primaire sleutel een autonummering veld zo ja dan het veld niet vullen

2. Welke velden moet je vullen waar not null staat

Praktijk

Laat alles zien uit products

- select * from products

Hoeveel records zitten er in products

- Select count(*) AS [Aantal Records] from products

Laat zien het aantal records in categorie 2

- select count(*) AS [Aantal Records] from products

- where categoryid=2

Laat het aantal zien bij prijs meer dan 10 euro

- select count(*) AS [Aantal Records] from products

- where unitprice>10

Laat het aantal zien bij prijs meer dan 10 euro

- select count(*) AS [Aantal Records] from products

- where unitprice >=10 and <=20

of gebruik between

- select count(*) AS [Aantal Records] from products

- where unitprice between 10 and 20

laat alle producten zien met de prijs

Page 15: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

- Select productname, unitprice from products

Laat alle producten zien + 1 euro

- select productname, unitprice, unitprice+1 as verhoging from products

Wat is de voorraadwaarde

- Select productname, unitprice, unitinstock, unitprice*unitsinstock as

Voorraadwaarde from products

wat is de totale voorraad waarde

- Select sum(unitprice*unitsinstock) from products

Insert into products (productname, discontinued)

- values ('Rotzooi',0)

check of record aanwezig is

- select * from products where productname='rotzooi'

pas de prijs aan naar 10 euro

- update products set unitprice = 10 where productid = 81

verhoog alle prijzen met 10%

- update products set unitprice=unitprice*1.1

verwijder het product rotzooi

- delete from products where productid=81

Page 16: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Handleiding export SQL

In deze handleiding laat ik u kort zien hoe u een SQL tabel kan exporteren in een

.xml bestand.

Voor deze handleiding gebruik ik de database Northwind en de tabel Employees.

Natuurlijk is dit makkelijk te veranderen.

Om de beginnen maakt u de volgende query:

--------------------------------------------------------------------------

USE Northwind SELECT * FROM Employees FOR XML PATH

Hier mee maakt u een pad aan voor een .xml bestand. In de results staat dit pad. Dit

ziet er als volgt uit.

Op de link klikt u. Er verschijnt nu een nieuw scherm.

Page 17: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Hier in kunt u alle gegeven uitlezen mocht u dit willen. Er moet nu nog één ding

gebeuren. Er is namelijk nog geen naam voor de export. Doe dit als volgt (ik gebruik

TEST als naam).

Zoals u kunt zien staat er nu boven aan <TEST> dit is om het begin aan te geven.

Onderaan staat </TEST> dit is bedoelt om te sluiten.

Vervolgens kopieërt u de hele tekst in SQL in een kladblok bestand. En slaat dit op

als een .XML bestand.

Zo, u heeft nu een tabel in een .XML bestand geexporteerd.

Page 18: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Foutmeldingen

Hoofdletters

Zo zijn er ook foutmeldingen die op kunnen komen. Zoals dat je een hoofdletter bent

vergeten zodat hij het XML file niet kan lezen.

Zulk soort dingen zijn makkelijk te verhelpen door er weer een hoofdletter neer te

zetten.

Dit zijn alleen wel fouten die vaak voorkomen en niet goed gezien worden. Omdat

het hoofdletter gevoelig is.

Page 19: SQL 2013 - ict230394002.files.wordpress.com · use northwind from products . ... - delete from products where productid=81 . ... USE Northwind SELECT * FROM Employees FOR XML PATH

Slash

Ook veel gemaakte fouten zijn dat je net een slash bent vergeten.

Deze fout zie je minder vaak omdat zoiets opvalt.

Zo is dit probleem mooi opgelost. Door alleen maar 1 / neer te zetten.


Recommended