Chương V Cập nhật dữ liệu
1. Thêm mẫu tin mới 2. Sửa nội dung mẫu tin 3. Xóa mẫu tin
Bạn đang xem nội dung tài liệu Chương V Cập nhật dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG V CẬP NHẬT DỮ LIỆU Giảng viên: Phạm Mạnh Cương * NỘI DUNG * 1. Thêm mẫu tin mới 2. Sửa nội dung mẫu tin 3. Xóa mẫu tin I- THÊM MẪU TIN MỚI: * 1. Thêm một mẫu tin mới 2. Thêm mẫu tin lấy từ các bảng khác 3. Thêm dữ liệu từ file vào cột Varbinary(Max) 1- Thêm một mẫu tin mới: * Cú pháp: INSERT [()] VALUES () Chú ý: * Database Engine tự động cung cấp giá trị cho các cột • Có thuộc tính IDENTITY • Có khai báo Default. • Có cho phép Null. • Hoặc là cột tính toán 2- Thêm mẫu tin lấy từ các bảng khác : * Cú pháp: INSERT [()] set dateformat DMY insert into HDLuu(SoHD,NgayHD,TienHD) select b1.SoHD, convert(varchar,b1.NgayHD, 103) as NgayHD, sum(b2.DGBan*b2.SL) as TienHD from HoaDon as b1 inner join CTHD as b2 on b1.SoHD = b2.SoHD group by b1.SoHD,b1.NgayHD 3.Thêm dữ liệu từ file vào cột Varbinary(Max): * Hàm: OPENROWSET( BULK 'data_file' , SINGLE_BLOB) • Trả về bảng dữ liệu chỉ có một cột và một dòng chứa nội dung file dữ liệu. • Do đó, có thể sử dụng hàm này trong mệnh đề FROM Ví dụ: Thêm loại hàng mới và ghi nội dung file hình 'C:\KeoMut.jpg' vào cột Hinh kiểu Varbinary(Max). Thêm mẫu tin mới có hình * Ví dụ: Thêm loại hàng mới và ghi nội dung file hình 'C:\KeoMut.jpg' vào cột Hinh kiểu Varbinary(Max). INSERT LoaiHang (MaLH, TenLH, MoTa, Hinh) SELECT 3, N‘Kẹo mứt’, N‘Desserts' , * FROM OPENROWSET( BULK 'C:\Keomut.jpg', SINGLE_BLOB) AS A II- SỬA NỘI DUNG MẪU TIN * 1. Thay đổi nội dung cột dữ liệu 2. Thay đổi nội dung cột kiểu varbinary(Max) 1. Thay đổi nội dung cột dữ liệu * Cú pháp : UPDATE SET = {|DEFAULT|NULL}[ ,...n ] [ FROM ] [ WHERE ] • Nếu không có mệnh đề WHERE thì tất cả mẫu tin đều bị thay đổi. • có thể là phát biểu SELECT trả về một giá trị cập nhật cho từng mẫu tin. • Mệnh đề FROM được sử dụng khi điều kiện chọn lựa mẫu tin hoặc dữ liệu cập nhật có liên quan đến các bảng khác. Chọn mẫu tin cập nhật với mênh đề WHERE * Ví dụ: Tăng số tồn của các mặt hàng mã số loại hàng bằng 1 thêm 100 và tăng đơn giá của các mặt hàng đó thêm 10% update MatHang set DonGia=DonGia+DonGia*10/100,SoTon=SoTon+100 where MaLH=1 2. Thay đổi nội dung cột kiểu varbinary(Max) * Cú pháp: SELECT * FROM OPENROWSET( BULK 'file_name', SINGLE_BLOB) AS Ví dụ: Thay thế hình của loại hàng có MaLH=1 với hình lưu trong file " D:\00473.jpg". Update LoaiHang set Hinh=(SELECT * FROM OPENROWSET( BULK 'D:\00473.jpg', SINGLE_BLOB) AS A) where MaLH=1 III- XÓA MẪU TIN * Cú pháp: DELETE [ FROM ] [WHERE ] • Nếu khong co mệnh đề WHERE thi tất cả mẫu tin đều bị xoa. Vi dụ: Xóa tất cả cac dong trong CTHD DELETE CTHD Vi dụ: Xóa trong bảng CTHD, dòng chi tiết có số hoa đơn bằng 1 va mã mặt hang bằng 5 DELETE CTHD WHERE SoHD = 1 And MaMH = 5 Dùng mệnh đề FROM * • Mệnh đề FROM được sử dụng khi điều kiện chọn lựa mẫu tin trên bảng bị xóa co liên quan đến các bảng khác. Ví dụ: 1. Xóa CTHD của các hóa đơn lập năm 1995 delete CTHD from CTHD INNER JOIN HoaDon on HoaDon.SoHD=CTHD.SoHD and DatePart(YY,HoaDon.NgayHD)='1995' 2. Xóa MatHang đơn giá thấp nhất. DELETE FROM MATHANG WHERE DONGIA = (SELECT MIN(DONGIA) FROM MATHANG) CẢM ƠN *