MySQL supports user defined variables to have some data that can be used later part of your query. You can save a value to a variable using a SELECT statement and later you can access its value.
Unlike other RDBMSs, you do not need to declare the data type for a variable. The data type is automatically assumed when you assign a value. A value can be assigned to a variable using a SET command as shown below
SET @server_type:='MySQL';<br>
When you above command is executed, the value, MySQL is assigned to the variable called @server_type. Now you can use this variable in the later part of the code. Suppose if you want to display the value, you can use SELECT statement.
SELECT @server_type;
The result is MySQL. Once the value is assigned it remains for the entire session until changed by the later statements. So unlike SQL Server, you do not need to have this as part the execution code every time. (Because in SQL Server, the variables are execution scoped and dropped after the execution).
You can give column name as below
SELECT @server_type AS server_type;
You can also SELECT statement to DECLARE and SELECT the values for a variable.
SELECT @message:='Welcome to MySQL' AS MESSAGE;
The result is
Message --------Welcome to MySQL
You can make use of variables to effectively apply many logics. One of the useful method is to generate the row number as shown in this postMySQL – Generating Row Number for Each Row using Variable.
Reference: Pinal Dave (http://blog.sqlauthority.com)