Làm cách nào để sử dụng chế độ xem trong MySQL?

Estamos traduciendo nuestros guías y tutoriales al Español. Có thể bạn đã sử dụng esté viendo una traducción genada automáticamente. Estamos trabajando con traductores professionales for verify las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso

Tạo tài khoản Linode để dùng thử hướng dẫn này với tín dụng $

Khoản tín dụng này sẽ được áp dụng cho mọi dịch vụ hợp lệ được sử dụng trong những ngày đầu tiên của bạn

Chế độ xem trong MySQL là một truy vấn được đặt tên có thể được kích hoạt để hiển thị dữ liệu được lưu trữ trong các bảng khác. Nói cách khác, các khung nhìn là các bảng ảo do người dùng định nghĩa. Lượt xem có thể được sử dụng để

  • Tăng cường bảo mật cơ sở dữ liệu. Nếu cơ sở dữ liệu của bạn chứa thông tin nhạy cảm cần được bảo mật, sử dụng chế độ xem sẽ giúp bạn cách ly dữ liệu. Có thể tạo chế độ xem với tập kết quả được xác định trước và bạn chỉ có thể cấp cho người dùng quyền truy cập vào chế độ xem đó, thay vì bảng chứa thông tin nhạy cảm
  • Di chuyển logic kinh doanh phức tạp đến máy chủ cơ sở dữ liệu. Thay vì mã hóa logic phần mềm được sử dụng thường xuyên trong các máy khách khác nhau, nhà phát triển có thể di chuyển logic vào cấp cơ sở dữ liệu bằng cách sử dụng chế độ xem. Ví dụ: có thể tạo chế độ xem để hiển thị phân loại khách hàng tùy thuộc vào tổng doanh số bán hàng của họ
  • Giảm phân tâm dữ liệu. Một dạng xem có thể kết hợp các kết quả từ các bảng khác nhau và chỉ hiển thị các cột có liên quan khi được gọi

Trong hướng dẫn này, bạn sẽ học

Trước khi bắt đầu

Để làm theo hướng dẫn này, hãy đảm bảo bạn có những thứ sau

  1. Một Linode mà bạn chạy phần mềm MySQL trên đó. Bạn có thể làm theo hướng dẫn Bắt đầu với Linode để cung cấp Linode

  2. Phần mềm máy chủ MySQL (hoặc MariaDB) được cài đặt trên Linode của bạn. Vui lòng tham khảo phần MySQL, trong đó có các hướng dẫn mô tả cách cài đặt MySQL trên một số bản phân phối Linux

Chuẩn bị cơ sở dữ liệu

Trước khi bạn tạo chế độ xem MySQL của mình, hãy tạo cơ sở dữ liệu mẫu, xác định một vài bảng và điền vào chúng một số dữ liệu trước

  1. SSH vào Linode của bạn. Sau đó, nhập lệnh này để đăng nhập vào MySQL với tư cách người dùng root

    mysql -u root -p
    

    Khi được nhắc, hãy nhập mật khẩu gốc của máy chủ MySQL của bạn và nhấn Enter để tiếp tục

    Ghi chú

    Nếu mật khẩu của bạn không được chấp nhận, bạn có thể cần chạy lệnh trước đó với

    MariaDB [(none)]>
    8

    sudo mysql -u root -p
    

  2. Nếu mật khẩu của bạn được chấp nhận, bạn sẽ thấy dấu nhắc MySQL

    mysql >

    Ghi chú

    Nếu bạn đang sử dụng MariaDB, thay vào đó, bạn có thể thấy lời nhắc như sau

    MariaDB [(none)]>

  3. Tiếp theo, hãy chạy lệnh SQL này để tạo cơ sở dữ liệu mẫu có tên là

    MariaDB [(none)]>
    9

    CREATE DATABASE sample_database;
    

    Bạn sẽ thấy kết quả này, xác nhận rằng cơ sở dữ liệu đã được tạo thành công

    Query OK, 1 row affected (0.02 sec)
  4. Chọn cơ sở dữ liệu

    MariaDB [(none)]>
    9

    USE sample_database;
    

    Bạn sẽ thấy đầu ra này

    MariaDB [(none)]>
    0
  5. Chạy lệnh này để tạo bảng

    CREATE DATABASE sample_database;
    
    1

    MariaDB [(none)]>
    2

    Bạn sẽ thấy đầu ra này

    MariaDB [(none)]>
    3
  6. Tiếp theo, điền vào bảng

    CREATE DATABASE sample_database;
    
    1 với ba bản ghi. Chạy lần lượt các lệnh
    CREATE DATABASE sample_database;
    
    3 bên dưới

    sudo mysql -u root -p
    
    0

    Đầu ra bên dưới được hiển thị sau khi mỗi bản ghi được chèn vào

    sudo mysql -u root -p
    
    1
  7. Đảm bảo các bản ghi mẫu đã được chèn vào cơ sở dữ liệu bằng cách chạy lệnh

    CREATE DATABASE sample_database;
    
    4 này

    sudo mysql -u root -p
    
    2

    Đầu ra này xuất hiện, xác nhận rằng dữ liệu đã được chèn thành công ở bước trước

    sudo mysql -u root -p
    
    3
  8. Tiếp theo, tạo một bảng

    CREATE DATABASE sample_database;
    
    5. Chạy lệnh này

    sudo mysql -u root -p
    
    4

    Đầu ra này xuất hiện

    MariaDB [(none)]>
    3
  9. Sau đó, thêm một số dữ liệu vào bảng

    CREATE DATABASE sample_database;
    
    5. Chạy các lệnh này từng cái một

    sudo mysql -u root -p
    
    6

    Sau khi chèn từng bản ghi bán hàng, đầu ra này xuất hiện

    sudo mysql -u root -p
    
    7
  10. Tiếp theo, hãy chạy truy vấn

    CREATE DATABASE sample_database;
    
    4 để xác minh rằng dữ liệu bán hàng đã được chèn vào bảng

    sudo mysql -u root -p
    
    8

    Đầu ra này xuất hiện, xác nhận rằng dữ liệu bán hàng đã được chèn thành công ở bước trước

    sudo mysql -u root -p
    
    9

Bạn đã xác định cơ sở dữ liệu và các bảng để làm việc trên đó. Phần tiếp theo mô tả cú pháp của một MySQL view

Cú pháp xem MySQL

Đây là phiên bản đơn giản hóa của cú pháp chế độ xem MySQL

mysql >
0
  • CREATE DATABASE sample_database;
    
    8. Tên của chế độ xem MySQL phải được xác định tại đây. Nên dùng tên mô tả để sau này nhớ chức năng của view

  • CREATE DATABASE sample_database;
    
    9. Đây là truy vấn SQL được kết hợp với dạng xem đã xác định. Khi chế độ xem được gọi, MySQL sẽ chạy truy vấn này để trả về một tập bản ghi

Tạo Chế độ xem MySQL

Phần này trình bày một ví dụ về chế độ xem MySQL. Chế độ xem này được sử dụng để phân loại khách hàng từ cơ sở dữ liệu mẫu của bạn, tùy thuộc vào số lượng bán hàng hàng tháng của họ

Đảm bảo bạn đã đăng nhập vào máy chủ MySQL của mình. Sau đó, chạy lệnh bên dưới để tạo chế độ xem

Query OK, 1 row affected (0.02 sec)
0

mysql >
1

Nếu chế độ xem được tạo thành công, bạn sẽ thấy đầu ra được hiển thị bên dưới

mysql >
2

Lệnh MySQL ở trên tạo một khung nhìn có tên

Query OK, 1 row affected (0.02 sec)
0 tham gia bảng
CREATE DATABASE sample_database;
1 và
CREATE DATABASE sample_database;
5 với
Query OK, 1 row affected (0.02 sec)
4
Query OK, 1 row affected (0.02 sec)
5. Logic câu lệnh
Query OK, 1 row affected (0.02 sec)
6 logic được sử dụng để xác định tư cách thành viên của khách hàng từ doanh số hàng tháng của họ

  • Nếu doanh số bán hàng của khách hàng bằng hoặc trên 5.000, chế độ xem sẽ phân loại khách hàng là thành viên

    Query OK, 1 row affected (0.02 sec)
    7

  • Mặt khác (nếu doanh số bán hàng dưới

    Query OK, 1 row affected (0.02 sec)
    8), khách hàng được phân loại là thành viên
    Query OK, 1 row affected (0.02 sec)
    9

Chế độ xem

Query OK, 1 row affected (0.02 sec)
0 hiện đã được lưu vào cơ sở dữ liệu. Phần tiếp theo cho biết cách gọi chế độ xem MySQL và hiển thị tập bản ghi mà không cần truy vấn trực tiếp các bảng cơ sở

Gọi một Chế độ xem MySQL

Phần này cho biết cách gọi chế độ xem MySQL mà bạn đã tạo ở trên và xác nhận rằng nó hoạt động như mong đợi. Khi một dạng xem được tạo, nó sẽ hiển thị dưới dạng một đối tượng cơ sở dữ liệu và nó có thể được gọi bằng cách sử dụng câu lệnh

CREATE DATABASE sample_database;
4

  1. Để gọi chế độ xem

    Query OK, 1 row affected (0.02 sec)
    0, hãy chạy

    mysql >
    3

    Nếu chế độ xem hoạt động như mong đợi, bây giờ bạn sẽ thấy danh sách khách hàng với các giá trị

    USE sample_database;
    
    3 được tạo dựa trên doanh số bán hàng của họ. Vì doanh số của
    USE sample_database;
    
    4 dưới 5000 (500. 27), dạng xem xuất tư cách thành viên của khách hàng là
    Query OK, 1 row affected (0.02 sec)
    9. Doanh thu của
    USE sample_database;
    
    6 và
    USE sample_database;
    
    7 là 7600. 32 và 25879. 63 tương ứng và điều này làm cho họ thành viên
    Query OK, 1 row affected (0.02 sec)
    7

    mysql >
    4
  2. Khi dữ liệu bảng cơ sở được cập nhật và bạn gọi lại chế độ xem MySQL, bạn sẽ thấy thông tin mới nhất. Lượt xem lấy thông tin từ các bảng cơ sở của chúng và chúng không lưu trữ dữ liệu. Để minh họa cách xem lấy thông tin cập nhật từ các bảng cơ sở, hãy thêm một khách hàng khác có tên

    USE sample_database;
    
    9 vào bảng
    CREATE DATABASE sample_database;
    
    1

    mysql >
    5

    Đầu ra này xuất hiện

    mysql >
    6
  3. Sau đó, thêm thông tin doanh số hàng tháng của khách hàng vào bảng doanh số

    mysql >
    7

    Đầu ra này xuất hiện

    mysql >
    6
  4. Tiếp theo, gọi lại chế độ xem

    Query OK, 1 row affected (0.02 sec)
    0

    mysql >
    3

    Đầu ra bên dưới xuất hiện, xác nhận rằng chế độ xem có thể nhận các thay đổi và lấy thông tin của khách hàng mới như mong đợi

    MariaDB [(none)]>
    0

    Như bạn có thể thấy trong tập bản ghi dạng xem ở trên, bây giờ bạn có một khách hàng mới tên là

    USE sample_database;
    
    9 với tư cách thành viên
    Query OK, 1 row affected (0.02 sec)
    9

Bỏ Chế độ xem MySQL

Cũng giống như các đối tượng cơ sở dữ liệu khác, bạn có thể xóa các dạng xem nếu không cần dùng nữa. Đây là cú pháp cơ bản để xóa chế độ xem MySQL

MariaDB [(none)]>
1
  1. Trước khi xóa chế độ xem MySQL, trước tiên hãy xác định tên của nó bằng cách chạy lệnh bên dưới

    MariaDB [(none)]>
    2

    Một danh sách tất cả các dạng xem trong cơ sở dữ liệu hiện được chọn xuất hiện

    MariaDB [(none)]>
    3
  2. Trong trường hợp này, tên của chế độ xem mà bạn muốn loại bỏ là

    Query OK, 1 row affected (0.02 sec)
    0. Vì vậy, để xóa nó, hãy chạy

    MariaDB [(none)]>
    4

    Đảm bảo đầu ra bên dưới được hiển thị sau khi chế độ xem bị xóa khỏi cơ sở dữ liệu

    mysql >
    2

    Ghi chú

    Xin lưu ý, nếu bạn cố xóa chế độ xem MySQL không tồn tại mà không sử dụng từ khóa

    MariaDB [(none)]>
    05, thì MySQL sẽ báo lỗi

  3. Khi lệnh từ bước 1 được chạy lại, bây giờ sẽ không có kết quả

    MariaDB [(none)]>
    2____17

Thêm thông tin

Bạn có thể muốn tham khảo các tài nguyên sau để biết thêm thông tin về chủ đề này. Mặc dù chúng được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài

Trang này ban đầu được xuất bản vào Thứ Hai, ngày 1 tháng 2 năm 2021


Phản hồi của bạn rất quan trọng

Hãy cho chúng tôi biết nếu hướng dẫn này hữu ích cho bạn

Cung cấp phản hồi


tham gia cuộc trò chuyện

Đọc các bình luận khác hoặc gửi bình luận của riêng bạn dưới đây. Nhận xét phải tôn trọng, xây dựng và phù hợp với chủ đề của hướng dẫn. Không đăng liên kết bên ngoài hoặc quảng cáo. Trước khi đăng, hãy cân nhắc xem bình luận của bạn sẽ được giải quyết tốt hơn bằng cách liên hệ với nhóm Hỗ trợ của chúng tôi hoặc hỏi trên Trang web cộng đồng của chúng tôi

Hệ thống bình luận Disqus cho Linode Docs yêu cầu chấp nhận Cookie chức năng, cho phép chúng tôi phân tích việc sử dụng trang web để chúng tôi có thể đo lường và cải thiện hiệu suất. Để xem và tạo nhận xét cho bài viết này, vui lòng cập nhật Tùy chọn cookie của bạn trên trang web này và làm mới trang web này. Xin lưu ý. Bạn phải bật JavaScript trong trình duyệt của mình

Việc sử dụng chế độ xem trong MySQL là gì?

MySQL hỗ trợ dạng xem, bao gồm dạng xem có thể cập nhật. Lượt xem là các truy vấn được lưu trữ mà khi được gọi sẽ tạo ra một tập hợp kết quả . Một khung nhìn hoạt động như một bảng ảo. Phần thảo luận sau đây mô tả cú pháp để tạo và thả dạng xem, đồng thời hiển thị một số ví dụ về cách sử dụng chúng.

Làm cách nào để xem chế độ xem trong MySQL?

Nội dung của nó dựa trên bảng cơ sở. Nó chứa các hàng và cột tương tự như bảng thực. Trong MySQL, View là một bảng ảo được tạo bởi một truy vấn bằng cách nối một hoặc nhiều bảng. .
TẠO [HOẶC THAY THẾ] XEM view_name AS
CHỌN cột
TỪ bảng
[điều kiện NƠI];

Làm cách nào để tạo chế độ xem trong MySQL?

Cú pháp cơ bản để tạo view trong MySQL như sau. TẠO CHẾ ĐỘ XEM [db_name. ] view_name [(column_list)] AS câu lệnh chọn; [db_name. ] là tên của cơ sở dữ liệu nơi chế độ xem của bạn sẽ được tạo; .

Sử dụng dạng xem trong SQL có tốt không?

Chế độ xem là các bảng ảo có thể là một cách tuyệt vời để tối ưu hóa trải nghiệm cơ sở dữ liệu của bạn . Chế độ xem không chỉ tốt cho việc xác định bảng mà không cần sử dụng thêm dung lượng lưu trữ mà còn tăng tốc phân tích dữ liệu và có thể cung cấp thêm bảo mật cho dữ liệu của bạn.