post-image

[Thực hành] Thực thi các câu lệnh CRUD trên CSDL có sẵn

8. Validation

Mục tiêu

Luyện tập với các lệnh thao tác CRUD với dữ liệu trong bảng. 

Mô tả bài toán

Hướng dẫn nộp bài:

Up code lên github

Paste link github vào phần nộp bài

Cho sẵn một một database có bảng customers. Import bảng customers vào trong CSDL. Thực hành với các lệnh SELECT, INSERT, UPDATE, DELETE dữ liệu trong bảng customers

Tải file customers.sql tại đây: https://james.codegym.vn/pluginfile.php/32654/mod_page/content/12/customers.sql

Hướng dẫn thực hiện

Bước 1: Mở PHPMyAdmin. Tạo CSDL có tên là mydb. 

Bước 2: Chọn csdl mydb vừa tạo. Import file customers.sql vào CSDL.

Bước 3: Mở bảng customers và quan sát các trường dữ liệu trong bảng. 

Bước 4: Chọn tab SQL. Chọn nút clear màn hình sẽ hiển thị như dưới. Nhập các lệnh thao tác với bảng customers vào bảng. Nhấn vào nút Go xem kết quả trả về.

Bước 5: Thao tác với lệnh SELECT. Lệnh này dùng để truy vấn dữ liệu trong bảng customers.

– Hiển thị toàn bộ dữ liệu trong bảng customers:

 select * from customers 

–  Hiển thị một số trường dữ liệu trong bảng customers như mã khách hàng (customernumber), họ (contactlastname), tên (contactfirstname), số điện thoại (phone), thành phố (city):

select customernumber, contactlastname, contactfirstname, phone, city 
from customers

– Hiển thị mã khách hàng, tên, họ, số điện thoại của tất cả khách hàng có tên là Peter và sống ở thành phố Melbourne:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
where contactfirstname = 'Peter' and city = 'Melbourne'

– Hiển thị thông tin khách hàng có tên chứa ký tự A:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
where contactfirstname like '%A%'

– Hiển thị thông tin các khách hàng có mã trong khoảng từ 103 đến 125:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
where customernumber between 103 and 125

– Hiển thị thông tin các khách hàng sống ở USA, France, Spain:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
where city in ('USA', 'France', 'Spain') 

– Hiển thị mã khách hàng, tên, họ, số điện thoại, quốc gia của các khách hàng sống tại quốc gia USA hoặc France:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
where country = 'USA' or country = 'France'

– Hiển thị tất cả các khách hàng theo thứ tự từ a – z của tên:

select customernumber, contactlastname, contactfirstname, phone, city 
from customers 
order by contactfirstname asc 

– Hiển thị 10 khách hàng đầu tiên theo thứ tự từ z – a của tên:

select top 10 customernumber, contactlastname, contactfirstname, phone, city 
from customers 
order by contactfirstname desc 

– Đếm xem có bao nhiêu khách hàng sống ở France:

select count(country) as 'Số khách hàng số ở France' 
from customers 
where city = 'France' 

Bước 6: Thao tác với lệnh INSERT. Lệnh này dùng để chèn dữ liệu vào bảng.

Chèn khách hàng mới có mã 500, tên công ty: AgileLead, tên: Lan, họ: Trần, điện thoại: 0978822683, địa chỉ 1: Hàm Nghi, thành phố: Hà Nội, quốc gia: Việt Nam.

insert into customers (customernumber, customername, contactfirstname, contactlastname, phone, addressline1, city, country) 
values (500, 'AgileLead', 'Lan', 'Trần', '0978822683', 'Hàm Nghi', 'Hà Nội', 'Việt Nam' );

Lưu ý: Khi chèn dữ liệu vào bảng lưu ý phải chèn vào các cột chứa ràng buộc not null hoặc một số ràng buộc bị hạn chế khác. Những cột không có ràng buộc gì hoặc cho phép null thì có thể chèn hoặc không.

Nếu không xác định các cột cần chèn dữ liệu thì mặc định khi chèn phải chèn dầy đủ giá trị cho các trường. 

Bước 7: Thao tác với lệnh UPDATE. Lệnh này dùng để cập nhập dữ liệu trong bảng.

Cú pháp:

update table_name set column1 = value1, column2 = value2, ...where condition;

Cập nhập lại trường customername thành Baane Mini Imports cho  khách hàng có mã là 103:

update customers set customername = 'Baane Mini Imports'where customernumber = 103

Lưu ý: việc cập nhật lại thông tin nếu không có mệnh đề WHERE thì tất cả các trường sẽ được cập nhập theo thông tin mới đưa vào. Do đó phải xem xét kỹ điều kiện trước khi việc cập nhật được hoàn tất.

Bước 8: Thao tác với lệnh DELETE. Lệnh này dùng để xóa dữ liệu trong bảng.

delete from table_namewhere condition;

Xóa các khách hàng sống ở thành phố Nantes:

delete from customerswhere city = 'Nantes' 

Lưu ý: việc xóa dữ liệu trong bảng. Nếu bảng có ràng buộc với các bảng khác thì kiểm tra ràng buộc trước rồi mới được xóa. Việc xóa cần rất thận trọng. Nếu không có điều kiện mặc định sẽ xóa hết dữ liệu của bảng.

Tổng kết

Qua bài tập này bạn đã luyện tập:

  • Sử dụng câu lệnh SQL để thao tác với dữ liệu của bảng
  • Sử dụng lệnh SELECT để lấy dữ liệu
  • Sử dụng lệnh INSERT để chèn dữ liệu
  • Sử dụng lệnh UPDATE để cập nhập dữ liệu
  • Sử dụng lệnh DELETE để xóa dữ liệu

Leave a Reply

Your email address will not be published. Required fields are marked *