Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để khai báo một biến trong MySQL?

Chủ yếu có ba loại biến trong MySQL:

  1. Biến do người dùng xác định (có tiền tố là @ ):

    Bạn có thể truy cập vào bất kỳ biến nào do người dùng xác định mà không cần khai báo hoặc khởi tạo biến đó. Nếu bạn tham chiếu đến một biến chưa được khởi tạo, nó có giá trị là NULL và một loại chuỗi.

    SELECT @var_any_var_name
    

    Bạn có thể khởi tạo một biến bằng cách sử dụng SET hoặc SELECT tuyên bố:

    SET @start = 1, @finish = 10;    
    

    hoặc

    SELECT @start := 1, @finish := 10;
    
    SELECT * FROM places WHERE place BETWEEN @start AND @finish;
    

    Biến người dùng có thể được chỉ định một giá trị từ một tập hợp giới hạn kiểu dữ liệu:số nguyên, số thập phân, dấu phẩy động, chuỗi nhị phân hoặc không nhị phân hoặc giá trị NULL.

    Các biến do người dùng xác định là phiên cụ thể. Nghĩa là, một khách hàng khác không thể nhìn thấy hoặc sử dụng một người dùng có thể thay đổi được.

    Chúng có thể được sử dụng trong SELECT truy vấn sử dụng Kỹ thuật biến người dùng MySQL nâng cao .

  2. Biến cục bộ (không có tiền tố):

    Các biến cục bộ cần được khai báo bằng cách sử dụng DECLARE trước khi truy cập nó.

    Chúng có thể được sử dụng như các biến cục bộ và các tham số đầu vào bên trong một thủ tục được lưu trữ:

    DELIMITER //
    
    CREATE PROCEDURE sp_test(var1 INT) 
    BEGIN   
        DECLARE start  INT unsigned DEFAULT 1;  
        DECLARE finish INT unsigned DEFAULT 10;
    
        SELECT  var1, start, finish;
    
        SELECT * FROM places WHERE place BETWEEN start AND finish; 
    END; //
    
    DELIMITER ;
    
    CALL sp_test(5);
    

    Nếu DEFAULT thiếu mệnh đề, giá trị ban đầu là NULL .

    Phạm vi của biến cục bộ là BEGIN ... END khối bên trong mà nó được khai báo.

  3. Biến hệ thống máy chủ (có tiền tố là @@ ):

    Máy chủ MySQL duy trì nhiều biến hệ thống được định cấu hình thành giá trị mặc định. Chúng có thể thuộc loại GLOBAL , SESSION hoặc BOTH .

    Các biến toàn cục ảnh hưởng đến hoạt động tổng thể của máy chủ trong khi các biến phiên ảnh hưởng đến hoạt động của nó đối với các kết nối máy khách riêng lẻ.

    Để xem các giá trị hiện tại được sử dụng bởi một máy chủ đang chạy, hãy sử dụng SHOW VARIABLES câu lệnh hoặc SELECT @@var_name .

    SHOW VARIABLES LIKE '%wait_timeout%';
    
    SELECT @@sort_buffer_size;
    

    Chúng có thể được đặt khi khởi động máy chủ bằng các tùy chọn trên dòng lệnh hoặc trong tệp tùy chọn. Hầu hết chúng có thể được thay đổi động trong khi máy chủ đang chạy bằng cách sử dụng SET GLOBAL hoặc SET SESSION :

    -- Syntax to Set value to a Global variable:
    SET GLOBAL sort_buffer_size=1000000;
    SET @@global.sort_buffer_size=1000000;
    
    -- Syntax to Set value to a Session variable:
    SET sort_buffer_size=1000000;
    SET SESSION sort_buffer_size=1000000;
    SET @@sort_buffer_size=1000000;
    SET @@local.sort_buffer_size=10000;
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chuyển đổi kết quả Truy vấn SQL sang Cấu trúc Dữ liệu PANDAS?

  2. cách tính độ giống nhau giữa hai chuỗi trong MYSQL

  3. Cách tính thứ hạng trong MySQL

  4. Cách kiểm tra kích thước cơ sở dữ liệu MySQL trong Linux

  5. Kết nối với DB từ một Tiện ích mở rộng của Chrome?