Bài giảng SQL Server - Chương 5: Cập nhật dữ liệu - Phạm Mạnh Cương
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)
Bạn đang xem nội dung tài liệu Bài giảng SQL Server - Chương 5: Cập nhật dữ liệu - Phạm Mạnh Cương, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG VCẬP NHẬT DỮ LIỆUGiảng viên: Phạm Mạnh Cương1NỘI DUNG21. Thêm mẫu tin mới2. Sửa nội dung mẫu tin3. Xóa mẫu tinI- THÊM MẪU TIN MỚI:31. Thêm một mẫu tin mới2. Thêm mẫu tin lấy từ các bảng khác3. Thêm dữ liệu từ file vào cột Varbinary(Max)1- Thêm một mẫu tin mới:4Cú pháp:INSERT [()]VALUES ()Chú ý:5Database 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án2- Thêm mẫu tin lấy từ các bảng khác :6Cú pháp: INSERT [()]set dateformat DMYinsert into HDLuu(SoHD,NgayHD,TienHD)select b1.SoHD, convert(varchar,b1.NgayHD, 103) as NgayHD, sum(b2.DGBan*b2.SL) as TienHDfrom HoaDon as b1 inner join CTHD as b2 on b1.SoHD = b2.SoHDgroup by b1.SoHD,b1.NgayHD3.Thêm dữ liệu từ file vào cột Varbinary(Max):7Hà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ộidung file dữ liệu.• Do đó, có thể sử dụng hàm này trong mệnh đề FROMVí 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ình8Ví dụ: Thêm loại hàng mới và ghi nội dung file hình 'C:\KeoMut.jpg' vào cột Hinhkiể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 AII- SỬA NỘI DUNG MẪU TIN91. Thay đổi nội dung cột dữ liệu2. Thay đổi nội dung cột kiểu varbinary(Max)1. Thay đổi nội dung cột dữ liệu10Cú 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 đề WHERE11Ví 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 MatHangset DonGia=DonGia+DonGia*10/100,SoTon=SoTon+100where MaLH=12. Thay đổi nội dung cột kiểu varbinary(Max)12Cú 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 trongfile " D:\00473.jpg".Update LoaiHangset Hinh=(SELECT *FROM OPENROWSET( BULK 'D:\00473.jpg', SINGLE_BLOB) AS A)where MaLH=1III- XÓA MẪU TIN13Cú 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 CTHDDELETE CTHDVi dụ: Xóa trong bảng CTHD, dòng chi tiết có số hoa đơn bằng 1va mã mặt hang bằng 5DELETE CTHD WHERE SoHD = 1 And MaMH = 5Dùng mệnh đề FROM14• Mệnh đề FROM được sử dụng khi điều kiện chọn lựa mẫu tintrê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 1995delete 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 ƠN15