SQL
SQL (Structured Query Language) , (ORACLE, dBASE IY, dBASE Y, Paradox, Access .).
SQL -, -, . SQL , , , , , . SQL . SQL.
SQL
1. . : , ( ). .
:
- ;
1, 2 - ;
;
;
1, 2 - ( );
_ .
.
( ):
CONSTRAINT _ {PRIMARY KEY | UNIQUE |
REFERENCES _ [( )]}
( ):
CONSTRAINT {PRIMARY KEY (1[, 2 [,....]]) | UNIQUE
( 1[, [,...]]) | FOREIGN KEY (1[, 2 [,...]])
REFERENCES _ [(_ 1 [, _2 [,...]])]}
:
UNIQUE - ( , , );
PRIMARY KEY - ( ; );
FOREIGN KEY ( );
REFERENCES .
19.60.
CREATE TABLE
([] TEXT,
[] TEXT,
[ ] DATETIME,
CONSTRAINT UNIQUE ([], [], [ ]))
, :
: , ,
/ .
, , , .
2. . :
|
|
,
,
.
:
ALTER TABLE
ADD {[COLUMN] [( )} [CONSTRAINT ] |
CONSTRAINT _}
DROP {[COLUMN] i CONSTRAINT _} }
ADD , DROP , CONSTRAINT .
19.61.
ALTER TABLE ADD COLUMN [] (5)
:
CREATE [ UNIQUE ] INDEX
ON ( [,...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
WITH , :
DISALLOW NULL ;
IGNORE NULL , .
19.62.
CREATE INDEX ON ([]) WITH DISALLOW NULL
3. . ( , ) :
DROP TABLE _
( ) :
DROP INDEX _ ON _
19.63.
DROP INDEX ON
DROP TABLE
4. . :
INSERT INTO _ [(1[, 2[,...]])]
VALUES (1[, 2[,...]);
, , , .
19.64.
INSERT INTO ([], [], [ ])
VALUES ("", "", 23/3/80)
( ), () :
INSERT INTO _ [IN __]
SELECT [.]![, 2[,...]
FROM
WHERE
SELECT, . SELECT - , _ FROM , , WHERE . , .
() , (, , , ).
19.65.
INSERT INTO SELECT [-].* FROM [-]
[-] .
. .
19.66.
INSERT INTO SELECT [-].* FROM [-] WHERE [ ] >= #01/01/80#
[-] , .
|
|
5. . INNER JOIN FROM. , : , :
FROM 1 INNER JOIN 2 ON 1.1 = 2.2
(noe1; 2). , .
:
LEFT JOIN () "" "" , ;
RIGHT JOIN () "" "" , .
19.67.
SELECT .*, .* FROM INNER JOIN
ON .[ .] = .[ .];
SELECT .*, .* FROM LEFT JOIN
ON . [ .] = . [ .];
SELECT .*, .* FROM RIGHT JOIN
ON . [ .] = . [ .];
[ .]. , ( ) . . , .
JOIN .
19.68.
SELECT .,.. . [ ]
FROM ( INNER JOIN ( INNER JOIN
( ON . [ ] =
. [ ])
ON .[ .]=. [ .])
[ ]. , , . [ .].
, , .
6. . , . :
DELETE [.*] FROM WHERE _
:
DELETE * FROM
19.69.
DELETE * FROM
.
DELETE * FROM WHERE [ ]>#1.1.81#
, [ ] .
, : :
DELETE .* FROM INNER JOIN ._
ON , [ N = ._.[] WHERE
19.70.
DELETE .* From INner JoIN [ ]
ON .[]= [ ]. []
, [ ].
. Microsoft ACCESS , .
7. () . , :
|
|
UPDATE SET _ WHERE _
_ _=
19.71.
UPDATE SET [] = "1212"
WHERE [] LIKE '*' AND [ ] < = #01/01/81#
, , 1212.
UPDATE INner JoIN [ ] ON . []= [ ]. [] SET []= []&""
, [ ], .