Hướng dẫn mysql variables - biến mysql
Bài viết này sẽ hướng dẫn cách sử dụng biến trong các câu lệnh SQL Biến trong câu lệnh SQL dùng để tái sử dụng ở nhiều chỗ trong nhiều câu lệnh SQL khác. Cú pháp đặt biến: Biến không phân biệt chữ hoa chữ thường. 2 biến 3 và 4 là như nhau.Kiểu biến có thể là: integer, floating point, decimal, string hoặc NULL. Biến khi được định nghĩa chỉ có thể sử dụng trong cùng 1 session và sẽ không lưu lại cho các session sau. Lưu ý: cách định nghĩa biến này chỉ trên MySQL có thể sẽ không đúng trong 1 số các hệ thống database khác. Gán giá trị cho biếnCó 2 cách để gán giá trị cho biến. Cách 1: sử dụng SELECT @variable_name := value; 5:
Cả 2 toán tử 6 hoặc 7 đều dùng được với 51 ví dụ: Cách 2: sử dụng SELECT @variable_name := value; 9:Chỉ được phép sử dụng toán tử 6 trong lệnh 9. Toán tử 7 sẽ hiểu nhầm là toán tử so sánh bằng trong trường hợp này.
Sau khi gán giá trị biến. Bạn có thể sử dụng ở các lệnh SQL khác như trong mệnh đề 3, lệnh 4 hoặc 5.Ví dụ khai báo biến trong MySQLGiả sử bạn muốn lấy danh sách các sản phẩm đắt nhất trong bảng 6 và gán vào biến 7:
Chúng ta sẽ sử dụng biến 7 để lấy thông tin sản phẩm đắt nhất:
Trong 1 vài trường hợp, bạn sẽ phải chèn dữ liệu vào 1 bảng, sau đó lấy giá trị 9 vừa mới chèn và sử dụng để chèn dữ liệu vào 1 bảng khác. Trường hợp này bạn có thể sử dụng biến để lưu giá trị 9 mới nhất, được tạo bởi 1.
Biến chỉ có thể lưu 1 giá trị, nếu lệnh 9 trả về nhiều giá trị, biến sẽ lấy giá trị của dòng cuối cùng trong kết quả trả về.
Như vậy là các bạn có thể sử dụng biến trong MySQL với nhiều mục đích khác nhau. Hi vọng bài viết hữu ích cho bác bạn. Hãy like, share và comment để cùng học tập nhé. Bạn có thể lưu trữ một giá trị trong một biến do người dùng xác định trong một câu lệnh và tham khảo nó sau trong một câu lệnh khác. Điều này cho phép bạn chuyển các giá trị từ câu lệnh này sang câu lệnh khác. Các biến người dùng được viết là 3, trong đó tên biến 4 bao gồm các ký tự chữ và số, 5, 6 và 7. Tên biến người dùng có thể chứa các ký tự khác nếu bạn trích dẫn nó dưới dạng chuỗi hoặc mã định danh (ví dụ: 8, 9 hoặc 0).
Các biến do người dùng xác định là cụ thể phiên. Một biến người dùng được xác định bởi một máy khách không thể được nhìn thấy hoặc sử dụng bởi các máy khách khác. . Tên biến người dùng không nhạy cảm trường hợp. Tên có độ dài tối đa 64 ký tự. Một cách để đặt biến do người dùng xác định là bằng cách đưa ra tuyên bố 5:
Đối với 5, 7 hoặc 6 có thể được sử dụng làm toán tử gán.Các biến người dùng có thể được gán một giá trị từ một tập hợp các loại dữ liệu giới hạn: số nguyên, thập phân, điểm nổi, chuỗi nhị phân hoặc không phân giải hoặc giá trị 6. Việc gán các giá trị thập phân và giá trị thực không bảo tồn độ chính xác hoặc tỷ lệ của giá trị. Một giá trị của một loại khác với một trong các loại cho phép được chuyển đổi thành một loại cho phép. Ví dụ, một giá trị có kiểu dữ liệu theo thời gian hoặc không gian được chuyển đổi thành chuỗi nhị phân. Một giá trị có kiểu dữ liệu 7 được chuyển đổi thành một chuỗi với bộ ký tự 8 và đối chiếu 9.Nếu một biến người dùng được gán một giá trị chuỗi (ký tự) không phải, nó có cùng một bộ ký tự và đối chiếu như chuỗi. Khả năng cưỡng chế của các biến người dùng là ẩn. (Đây là khả năng ép buộc giống như đối với các giá trị cột bảng.) Giá trị thập lục phân hoặc bit được gán cho các biến người dùng được coi là chuỗi nhị phân. Để gán giá trị thập lục phân hoặc bit làm số cho biến người dùng, hãy sử dụng nó trong bối cảnh số. Ví dụ: thêm 0 hoặc sử dụng 0:
Nếu giá trị của biến người dùng được chọn trong một tập kết quả, nó sẽ được trả lại cho máy khách dưới dạng chuỗi. Nếu bạn đề cập đến một biến chưa được khởi tạo, nó có giá trị 6 và một loại chuỗi.Bắt đầu với MySQL 8.0.22, tham chiếu đến biến người dùng trong câu lệnh đã chuẩn bị có loại được xác định khi câu lệnh được chuẩn bị đầu tiên và giữ lại loại này mỗi khi câu lệnh được thực thi sau đó. Tương tự, loại biến người dùng được sử dụng trong một câu lệnh trong quy trình được lưu trữ được xác định ngay lần đầu tiên quy trình được lưu trữ được gọi và giữ lại loại này với mỗi lần gọi tiếp theo. Các biến người dùng có thể được sử dụng trong hầu hết các bối cảnh nơi các biểu thức được cho phép. Điều này hiện không bao gồm các bối cảnh yêu cầu rõ ràng một giá trị theo nghĩa đen, chẳng hạn như trong mệnh đề 2 của câu lệnh 9 hoặc mệnh đề dòng 4 của câu lệnh 5.
Các bản phát hành trước của MySQL đã cho phép gán giá trị cho biến người dùng trong các câu lệnh khác với 5. Chức năng này được hỗ trợ trong MySQL 8.0 để tương thích ngược nhưng có thể loại bỏ trong một bản phát hành trong tương lai của MySQL.Khi thực hiện một bài tập theo cách này, bạn phải sử dụng 6 làm toán tử chuyển nhượng; 7 được coi là toán tử so sánh trong các tuyên bố khác với 5.Thứ tự đánh giá cho các biểu thức liên quan đến các biến người dùng không được xác định. Ví dụ, không có gì đảm bảo rằng 0 đánh giá 1 trước và sau đó thực hiện bài tập.Ngoài ra, loại kết quả mặc định của một biến dựa trên loại của nó ở đầu câu lệnh. Điều này có thể có các hiệu ứng ngoài ý muốn nếu một biến chứa một giá trị của một loại khi bắt đầu một câu lệnh trong đó nó cũng được gán một giá trị mới của một loại khác. Để tránh các vấn đề với hành vi này, hoặc không gán giá trị và đọc giá trị của cùng một biến trong một câu lệnh, hoặc nếu không đặt biến thành 2, 3 hoặc 4 để xác định loại của nó trước khi bạn sử dụng.
5, 6 và 7, khi đề cập đến một biến được gán một giá trị trong danh sách biểu thức chọn không hoạt động như mong đợi vì biểu thức được đánh giá trên máy khách và do đó có thể sử dụng các giá trị cột cũ từ hàng trước.Các biến người dùng được dự định để cung cấp giá trị dữ liệu. Chúng không thể được sử dụng trực tiếp trong câu lệnh SQL như một định danh hoặc là một phần của mã định danh, chẳng hạn như trong các bối cảnh mà tên bảng hoặc cơ sở dữ liệu được mong đợi hoặc như một từ dành riêng như 9. Điều này đúng ngay cả khi biến được trích dẫn, như trong ví dụ sau:
Một ngoại lệ đối với nguyên tắc này mà các biến người dùng không thể được sử dụng để cung cấp số nhận dạng, là khi bạn đang xây dựng một chuỗi để sử dụng như một câu lệnh đã chuẩn bị để thực thi sau. Trong trường hợp này, các biến người dùng có thể được sử dụng để cung cấp bất kỳ phần nào của câu lệnh. Ví dụ sau đây minh họa cách thực hiện điều này:
Xem Phần & NBSP; 13.5, Câu lệnh đã chuẩn bị, để biết thêm thông tin. Một kỹ thuật tương tự có thể được sử dụng trong các chương trình ứng dụng để xây dựng các câu lệnh SQL bằng các biến chương trình, như được hiển thị ở đây bằng cách sử dụng Php 5: 0Việc lắp ráp một tuyên bố SQL theo kiểu này đôi khi được gọi là SQL Dynamic SQL.“Dynamic SQL”. |