sql basics. sql sql (structured query language) is a special-purpose programming language designed...

14
SQL Basics

Upload: gervais-singleton

Post on 11-Jan-2016

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

SQL Basics

Page 2: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

SQL

SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management system

SQL Instrunctions can be grouped into different classes:

Date defininition language (DDL): create, alter, drop

Data manipulation language (DML):

Insert – insert new data into a database

Update – updates data in a database

Delete – deletes data from a database

Select – extracts data from a database

2

Page 3: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

Data definition language (DDL)     

CREATE TABLE Studenti(

nrMatricol int NOT NULL,

nume varchar(20) NULL,

initialaTatalui varchar(3) NULL,

prenume varchar(30) NULL,

facultate varchar(10) NULL,

specializare varchar(10) NULL,

grupa int NULL

)

3

Page 4: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DDL (Cont)

CONSTRAINTS

NOT NULL - specifies that the column does not accept NULL values

PRIMARY KEY - constraints identify the column or set of columns that have values that uniquely identify

a row in a table

FOREIGN KEY - constraints identify and enforce the relationships between tables. You cannot insert a

row with a foreign key value, except NULL, if there is no candidate key with that value. The ON DELETE clause controls what actions are taken when you try to delete a row to which existing foreign keys point. The ON

DELETE clause has the following options: NO ACTION specifies that the deletion fails with an error; CASCADE specifies that all the

rows with foreign keys pointing to the deleted row are also deleted; SET NULL specifies that all rows with foreign keys pointing to the

deleted row are set to NULL; SET DEFAULT specifies that all rows with foreign keys pointing to the deleted row are set to their default

value

The ON UPDATE clause defines the actions that are taken if you try to update a candidate key value to which existing foreign keys point.

This clause also supports the NO ACTION, CASCADE, SET NULL and SET DEFAULT options.

UNIQUE - constraints enforce the uniqueness of the values in a set of columns

CHECK (P), where P is a predicate - constraints enforce domain integrity by limiting the values that can

be put in a column

4

Page 5: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DDL (Cont)

ALTER TABLE Studenti

ADD nationalitate varchar(30)

ALTER TABLE Studenti

ADD CONSTRAINT PK_nrMatricol primary key (nrMatricol)

ALTER TABLE Studenti

ALTER COLUMN initialaTatalui varchar(5)

5

Page 6: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DDL (Cont)

Drop table table_name Drop view schema_name.view_name Drop function schema_name.function_name Drop index index_name on object_name Drop trigger trigger_name on {database | all server} Drop database database_name Drop schema schema_name Drop role role_name Drop user user_name

6

Page 7: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

Data manipulation language (DML)

INSERT INTO Studenti

( nrMatricol

,nume

,initialaTatalui

,prenume

,facultate

,specializare

,grupa

,nationalitate)

VALUES

( 12546

,'Georgescu'

,'A'

,'Maria'

,'MI'

,'info-ro'

,122

,'romana')

insert into Grupe

select grupa, specializare

from Studenti

7

Page 8: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DML (Cont)

update Studenti set nrMatricol =

nrMatricol+1

update Studenti set nume = 'Ionnica' where nrMatricol =

9546

8

Page 9: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DML (Cont)

DELETE   FROM Studenti

WHERE nrmatricol < 10000

DELETE FROM Studenti

DELETE * FROM Studenti

TRUNCATE TABLE    Studenti

The difference between truncate and delete removes all rows from a table the operation cannot be rolled back and no triggers will be fired is faster and doesn't use as much undo space as a DELETE. that the truncate resets auto increment column.

9

Page 10: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DML (Cont)

SELECT nrMatricol

,nume

,initialaTatalui

,prenume

,facultate

,specializare

,grupa

,nationalitate

FROM Studenti

WHERE nrmatricol = 12486

WHERE grupa = 123

WHERE nationalitate is null

WHERE prenume like 'V%'

WHERE specializare like '%ro'

10

Page 11: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

DML (Cont)

IS NULL / IS NOT NULL – checks if the column is null or not BETWEEN – selects a range of data between two values. The values can be

numbers, text, or dates [val1, val2) EXISTS / NOT EXISTS – returns the value true if the argument subquery is

nonempty IN / NOT IN – operator allows you to specify multiple values in a WHERE

clause. LIKE / NOT LIKE – operator is used in a WHERE clause to search for a

specified pattern in a column; ‘%’ - matches any substring, ‘_’ - matches any character.

11

Page 12: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

Aggregate Functions

Avg() – returns the average values Min() – returns the min value Max() – returns the max value Sum() – returns the average values Count() – returns the number of rows

12

Page 13: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

Stored Procedures

CREATE PROC [ EDURE ] [ owner. ] procedure_name [ ; number ]

 AS

sql_statement [ ...n ]

CREATE PROCEDURE au_info_all AS SELECT au_lname, au_fname, title, pub_name FROM authors a INNER JOIN titleauthor ta ON a.au_id = ta.au_id

INNER JOIN titles t ON t.title_id = ta.title_id INNER JOIN publishers p ON t.pu

EXEC au_info_allb_id = p.pub_id GO

13

Page 14: SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management

Cursor

DECLARE cursor_name CURSOR

FOR select_statement

OPEN cursor_name

FETCH NEXT FROM curtor_name INTO @variable_column_name

WHILE @@FETCH_STATUS = 0 BEGIN    

… sql_statement

FETCH NEXT FROM curtor_name INTO @variable_column_name

END

CLOSE cursor_name ;

DEALLOCATE cursor_name;

14