By GokiSoft.com|
20:15 03/04/2021|
SQL Server/MySQL
[Share Code] Tìm hiểu về foreign key - check - unique - Lập trình SQL Server
Nội dung:
- Table
- default
- check
- unique
- foreign key
- update
- delete
- Mệnh đề điều kiện
- select
- Mệnh đề điều kiện
- Nối nhiều bảng
- where
- join
- left join
- right join
- inner join
- full outer join
-- Active
use C2010L
-- Tao bang citizen
create table citizen (
id int primary key identity(1,1),
fullname nvarchar(50),
address nvarchar(200),
gender nvarchar(20) default 'Other'
)
create table citizen (
id int primary key identity(1,1),
fullname nvarchar(50),
address nvarchar(200),
gender nvarchar(20)
)
alter table citizen
add constraint default_gender default 'Other' for gender
alter table citizen
drop constraint default_gender
drop table citizen
insert into citizen(fullname, address)
values
('A', 'Ha Noi')
select * from citizen
-- unique
select * from Student
insert into Student(roll_number, student_name, email, address, phone)
values
('R003', 'TRAN VAN B', 'a@gmail.com', 'Nam Dinh', '1231232')
alter table Student
add constraint unique_email unique(email)
create table Student (
roll_number nvarchar(20) primary key,
student_name nvarchar(50) not null,
email nvarchar(150) unique,
address nvarchar(200),
phone nvarchar(20)
)
select * from Marks
-- check
create table Marks (
subject_id int,
roll_number nvarchar(20),
marks int,
primary key (subject_id, roll_number),
constraint check_marks check (marks between 0 and 10)
)
alter table Marks
add constraint check_marks check (marks between 0 and 10)
insert into Marks (subject_id, roll_number, marks)
values
(3, 'R002', 8)
-- marks >= 0 && marks <= 10
-- delete
delete from Marks where marks < 0
-- update
update Marks set marks = 9 where subject_id = 3 and roll_number = 'R002'
select * from Marks
-- Foreign key
select * from Student
select * from Subject
select * from Marks
insert into Marks (subject_id, roll_number, marks)
values
(1, 'R002', 7)
insert into Marks (subject_id, roll_number, marks)
values
(3, 'R003', 7)
insert into Marks (subject_id, roll_number, marks)
values
(4, 'R002', 7)
delete from Marks where subject_id = 1
alter table Marks
add constraint fk_subject_id foreign key (subject_id) references Subject (subject_id)
alter table Marks
add constraint fk_roll_number foreign key (roll_number) references Student (roll_number)
-- foreign key
create table Marks (
subject_id int references Subject (subject_id),
roll_number nvarchar(20),
marks int,
primary key (subject_id, roll_number),
constraint check_marks check (marks between 0 and 10),
constraint fk_roll_number foreign key (roll_number) references Student (roll_number)
)
-- Hien thi du lieu theo format sau: roll_number, student_name, marks
---- Student, Marks
select Student.roll_number, Student.student_name, Marks.marks
from Student, Marks
where Student.roll_number = Marks.roll_number
-- Hien thi du lieu theo format sau: roll_number, student_name, subject_name, marks
---- Student, Marks, Subject
select Student.roll_number, Student.student_name, Subject.subject_name, Marks.marks
from Student, Marks, Subject
where Student.roll_number = Marks.roll_number
and Subject.subject_id = Marks.subject_id
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)