Detailed introduction to variables in mysql
Define variables
The syntax is as follows
declare var_name[,...] type [default value];
MYSQL Variable definition can only be done in stored procedure or Function is defined inside, unlike Oracle/SQL Server. The scope of this variable can only be within the begin...end block. Variable definitions must be written at the beginning of a compound statement, before any other statements. Multiple variables of the same type can be declared at one time. You can use default to assign a default value. declare can only be used in local variable definitions.
#举例 declare v_test int default 10;
Set variables
Method one
set var_name=expr,[,var_name2=expr ...]; #举例 set v_test=15;
Method two
select col_name[,...] into var_name[,...] table_expr; #举例 select sid into @a from test1;
If col_name (such as sid ) returns multiple rows of values, @a will only return the last row of values in the end.
Variable classification
Local variables (no need to add @)
Local variables are generally used in sql statement blocks. For example, the begin/end of a stored procedure. Its scope is limited to the statement block. After the statement block is executed, the local variable disappears. Local variables are generally declared with declare, and default can be used to indicate the default value.
create procedure add(in a int,in b int) begin declare c int default 0;#c定义的局部变量 set c = a + b; select c as c; end;
User variables (one @)
User The scope of variables is wider than that of local variables. User variables can act on the entire current connection, but when the current connection is disconnected, the user variables defined by it will disappear.
User variables are defined in the following way: @Variable name
#举例 set @a = 1; set @b = 2; select @sum:=(@a + @b), @dif:=(@a - @b);
Result
User Variables
Session variables (two @@)
The server maintains a series of session variables for each connected client. When the client connects, the client's session variables are initialized using the current values of the corresponding global variables. Setting session variables does not require special permissions, but the client can only change its own session variables, not those of other clients. The scope of session variables is the same as that of user variables, limited to the current connection
. When the current connection is disconnected, all session variables set by it will become invalid.
#设置会话变量有如下三种方式: set session var_name = value; set @@session.var_name = value; set var_name = value; #查看一个会话变量也有如下三种方式: select @@var_name; select @@session.var_name; show session variables like "%var%";
Global variables (two @@)
Global variables affect the overall operation of the server. When the server starts, it initializes all global variables to their default values. These default values can be changed in an options file or by options specified on the command line. To change global variables, you must have SUPER permission. Global variables affect the entire life cycle of the server, but cannot span restarts. That is, all global variables set will become invalid after restarting. To make global variables continue to take effect after restarting, you need to change the corresponding configuration file.
#要设置一个全局变量,有如下两种方式: set global var_name = value; set @@global.var_name = value; //同上 #要想查看一个全局变量,有如下两种方式: select @@global.var_name; show global variables like "%var%";
Note: global here cannot be omitted. According to the manual, if you do not specify GLOBAL, SESSION or LOCAL when setting a variable with the set command, SESSION will be used by default.
【Related recommendations】
1. Free mysql online video tutorial
2. MySQL latest manual tutorial
3. Boolean Education Yan Shiba mysql introductory video tutorial
The above is the detailed content of Detailed introduction to variables in mysql. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.
