MySQL - Literals



In MySQL, literals are fixed values (constants) that can be used in SQL statements such as SELECT, INSERT, UPDATE, and DELETE. We can use a literal in SQL statements without needing to be represented by a variable or an expression.

Following are some common MySQL literals:

  • Numeric Literals

  • String Literals

  • Boolean Literals

  • Date and Time Literals

  • NULL Literals

Numeric Literals

The MySQL numeric literals are numeric values that can represent positive or negative numbers, including both integers and floating-point values.

If we do not specify any sign (i.e. positive (+) or negative (-)) to a numeric value, then a positive value is assumed.

Let us see some examples by using various numeric literals in SQL queries.

Example

Following example displays an integer literal with no sign (by default positive sign will be considered)

SELECT 100 AS 'numeric literal';

Output

The output is obtained as follows −

numeric literal
100

Example

Following example displays an integer literal with positive sign (+) −

SELECT -100 AS 'numeric literal';

Output

The output is obtained as follows −

numeric literal
-100

Example

Following example displays an integer literal with negative sign (-) −

SELECT +493 AS 'numeric literal';

Output

The output is obtained as follows −

numeric literal
493

Example

Following example displays a floating point literal −

SELECT 109e-06 AS 'numeric literal';

Output

The output is obtained as follows −

numeric literal
0.000109

Example

Following example displays a decimal literal −

SELECT 793.200 AS 'numeric literal';

Output

The output is obtained as follows −

numeric literal
793.200

String Literals

The MySQL string literals are character strings that are enclosed within the single quotes (') or double quotes (").

Let us see some examples where string literals in SQL queries are used in different ways.

Example

In this example, we are displaying a string literal enclosed in single quotes −

SELECT 'tutorialspoint' AS 'string literal';

We can use double quotes to enclose a string literal as follows −

SELECT "tutorialspoint" AS 'string literal';

Output

Following output is obtained in both cases −

string literal
tutorialspoint

Example

In this example, we are displaying a string literal with spaces enclosed in single quotes −

SELECT 'tutorials point india' AS 'string literal';

We can also enclose this string literal (spaces included) in double quotes −

SELECT "tutorials point india" AS 'string literal';

Output

Following output is obtained with both queries −

string literal
tutorials point india

Boolean Literals

The MySQL Boolean literals are logical values that evaluate to either 1 or 0. Let us see some example for a better understanding.

Example

There are various ways a boolean value is evaluated to true in MySQL. Here, we use the integer 1 as a boolean literal −

SELECT 1 AS 'boolean literal';

We can also use the keyword TRUE to evaluate the boolean literal to 1.

SELECT TRUE AS 'boolean literal';

We can also use the lowercase of the keyword TRUE, as true, to evaluate the boolean literal to 1.

SELECT true AS 'boolean literal';

Output

Following output is obtained −

boolean literal
1

Example

Similarly, there are multiple ways a boolean value is evaluated to false in MySQL. Here, we use the integer 0 as a boolean literal −

SELECT 0 AS 'boolean literal'; 

We can also use the keyword FALSE to evaluate the boolean literal to 0.

SELECT FALSE AS 'boolean literal';

We can also use the lowercase of the keyword FALSE, as false, to evaluate the boolean literal to 0.

SELECT false AS 'boolean literal';

Output

Following output is obtained −

boolean literal
0

Date and Time Literals

The MySQL date and time literals represent date and time values. Let us see examples to understand how date and time values are represented in various ways in MySQL.

Example

In this example, we will display a date literal formatted as 'YYYY-MM-DD'

SELECT '2023-04-20' AS 'Date literal';

Output

Following output is obtained −

Date literal
2023-04-20

Example

In this example, we will display a date literal formatted as 'YYYYMMDD'

SELECT '20230420' AS 'Date literal';

Output

Following output is obtained −

Date literal
20230420

Example

In this example, we will display a date literal formatted as YYYYMMDD

SELECT 20230420 AS 'Date literal';

Output

Following output is obtained −

Date literal
20230420

Example

In this example, we will display a date literal formatted as 'YY-MM-DD'

SELECT '23-04-20' AS 'Date literal';

Output

Following output is obtained −

Date literal
23-04-20

Example

In this example, we will display a date literal formatted as 'YYMMDD'

SELECT '230420' AS 'Date literal';

Output

Following output is obtained −

Date literal
230420

Example

In this example, we will display a date literal formatted as YYMMDD

SELECT 230420 AS 'Date literal';

Output

Following output is obtained −

Date literal
230420

Example

In this example, we are displaying a time literal formatted as 'HH:MM:SS'.

SELECT '10:45:50' AS 'Time literal';

Output

Following output is obtained −

Time literal
10:45:50

Example

In this example, we are displaying a time literal formatted as HHMMSS.

SELECT 104550 AS 'Time literal';

Output

Following output is obtained −

Time literal
104550

Example

In this example, we are displaying a time literal formatted as 'HH:MM'.

SELECT '10:45' AS 'Time literal';

Output

Following output is obtained −

Time literal
10:45

Example

In this example, we are displaying a time literal formatted as 'MMSS'.

SELECT '4510' AS 'Time literal';

Output

Following output is obtained −

Time literal
4510

Example

In this example, we are displaying a time literal formatted as 'SS'.

SELECT '10' AS 'Time literal';

Here, let us display a time literal formatted as SS.

SELECT 10 AS 'Time literal';

Output

Following output is obtained −

Time literal
10

Example

In this example, we are displaying a time literal formatted as 'D HH:MM:SS' where D can be a day value between 0 and 34.

SELECT '4 09:30:12' AS 'Time literal';

Output

Following output is obtained −

Time literal
4 09:30:12

Example

In this example, we are displaying a time literal formatted as 'D HH:MM' where D can be a day value between 0 and 34.

SELECT '4 09:30' AS 'Time literal';

Output

Following output is obtained −

Time literal
4 09:30

Example

In this example, we are displaying a time literal formatted as 'D HH' where D can be a day value between 0 and 34.

SELECT '4 09' AS 'Time literal'; 

Output

Following output is obtained −

Time literal
4 09

Example

In this example, we are displaying a Datetime literal formatted as 'YYYY-MM-DD HH:MM:SS'.

SELECT '2023-04-20 09:45:10' AS 'datetime literal';

Output

Following output is obtained −

datetime literal
2023-04-20 09:45:10

Example

In this example, we are displaying a Datetime literal formatted as 'YYYYMMDDHHMMSS'.

SELECT '20230420094510' AS 'datetime literal';

Now, we are displaying a Datetime literal formatted as YYYYMMDDHHMMSS.

SELECT 20230420094510 AS 'datetime literal';

Output

Both queries produce the same output as follows −

datetime literal
20230420094510

Example

In this example, we are displaying a Datetime literal formatted as 'YY-MM-DD HH:MM:SS'.

SELECT '23-04-20 09:45:10' AS 'datetime literal';

Output

Following output is obtained −

datetime literal
23-04-20 09:45:10

Example

In this example, we are displaying a Datetime literal formatted as 'YYMMDDHHMMSS'.

SELECT '230420094510' AS 'datetime literal';

Here, we are displaying a Datetime literal formatted as YYMMDDHHMMSS.

SELECT 230420094510 AS 'datetime literal';

Output

Both queries give the same following output −

datetime literal
230420094510

Null Literals

The MySQL Null literals represents the absence of a value. It is case in-sensitive.

Example

Following are some examples of valid NULL literals

SELECT NULL AS 'NULL literals'; 

In lowercase −

SELECT null AS 'NULL literals';

Output

Following output is obtained −

NULL literal
NULL

Client Program

We can also use Literals in a MySQL database using a Client Program.

Syntax

To perform literals through a PHP program, we need to execute the required query using the mysqli function query() as follows −

$sql = "SELECT 100 AS 'Numerical_literal'";
$mysqli->query($sql);

To perform literals through a JavaScript program, we need to execute the required query using the query() function of mysql2 library as follows −

sql = "SELECT 100 AS 'numeric literal'";
con.query(sql)

To perform literals through a Java program, we need to execute the required query using the JDBC function executeQuery() as follows −

String sql  "SELECT 100 AS 'Numerical_literal'";
statement.executeQuery(sql);

To perform literals through a Python program, we need to execute the required query using the execute() function of the MySQL Connector/Python as follows −

literal_query = "SELECT 100 AS 'numeric literal'"
cursorObj.execute(literal_query)

Example

Following are the programs −

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$db = 'TUTORIALS';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $db);
if ($mysqli->connect_errno) {
    printf("Connect failed: %s
", $mysqli->connect_error); exit(); } //printf('Connected successfully.
'); $sql = "SELECT 100 AS 'Numerical_literal'"; If($result = $mysqli->query($sql)){ printf("Select query executed successfully...!\n"); while($row = mysqli_fetch_array($result)){ printf("Numerical literal: %d", $row["Numerical_literal"]); } printf("\n"); } $sql = "SELECT 'Tutorialspoint' AS 'String_literal'"; If($result = $mysqli->query($sql)){ printf("Select query executed successfully...!\n"); while($row = mysqli_fetch_array($result)){ printf("String Literal: %s", $row["String_literal"]); } } printf("\n"); $sql = "SELECT 1 AS 'Boolean_literal'"; If($result = $mysqli->query($sql)){ printf("Select query executed successfully...!\n"); while($row = mysqli_fetch_array($result)){ printf("Boolean literal: %s", $row["Boolean_literal"]); } } if($mysqli->error){ printf("Error message: ", $mysqli->error); } $mysqli->close();

Output

The output obtained is as shown below −

Select query executed successfully...!
Numerical literal: 100
Select query executed successfully...!
String Literal: Tutorialspoint
Select query executed successfully...!
Boolean literal: 1   

var mysql = require('mysql2');
var con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "Nr5a0204@123"
});

// Connecting to MySQL
con.connect(function (err) {
    if (err) throw err;
    console.log("Connected!");
    console.log("--------------------------");

    // Create a new database
    sql = "Create Database TUTORIALS";
    con.query(sql);

    sql = "USE TUTORIALS";
    con.query(sql);

    //integer literal with no sign (by default positive sign will be considered)
    sql = "SELECT 100 AS 'numeric literal'";
    con.query(sql, function(err, result){
      if (err) throw err
      console.log(result);
    });

    //string with single quotes
    sql = "SELECT 'tutorialspoint' AS 'string literal';"
    con.query(sql, function(err, result){
      if (err) throw err
      console.log(result);
    });

    //Boolean Literals
    sql = "SELECT 1 AS 'boolean literal';"
    con.query(sql, function(err, result){
      if (err) throw err
      console.log(result);
    });

    //date literal formatted as 'YYYY-MM-DD'
    sql = "SELECT '2023-04-20' AS 'Date literal';"
    con.query(sql, function(err, result){
      if (err) throw err
      console.log(result);
    });
});  

Output

The output obtained is as shown below −

 
 Connected!
 --------------------------
 [ { 'numeric literal': 100 } ]
 [ { 'string literal': 'tutorialspoint' } ]
 [ { 'boolean literal': 1 } ]
 [ { 'Date literal': '2023-04-20' } ] 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Literals {
  public static void main(String[] args) {
    String url = "jdbc:mysql://localhost:3306/TUTORIALS";
    String user = "root";
    String password = "password";
    ResultSet rs;
    try {
      Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, password);
            Statement st = con.createStatement();
            //System.out.println("Database connected successfully...!");
            //numerical literal
            String sql = "SELECT 100 AS 'Numerical_literal'";
            rs = st.executeQuery(sql);
            System.out.println("Numerical literal: ");
            while(rs.next()) {
              String nl = rs.getString("Numerical_literal");
              System.out.println(nl);
            }
          //String literal
            String sql1 = "SELECT 'Tutorialspoint' AS 'String_literal'";
            rs = st.executeQuery(sql1);
            System.out.println("String literal: ");
            while(rs.next()) {
              String nl = rs.getString("String_literal");
              System.out.println(nl);
            }
          //Boolean literal
            String sql2 = "SELECT 1 AS 'Boolean_literal'";
            rs = st.executeQuery(sql2);
            System.out.println("Boolean literal: ");
            while(rs.next()) {
              String nl = rs.getString("Boolean_literal");
              System.out.println(nl);
            }
    }catch(Exception e) {
      e.printStackTrace();
    }
  }
}

Output

The output obtained is as shown below −

Numerical literal: 
100
String literal: 
Tutorialspoint
Boolean literal: 
1
import mysql.connector
# Establishing the connection
connection = mysql.connector.connect(
    host='localhost',
    user='root',
    password='password',
    database='tut'
)
# Creating a cursor object
cursorObj = connection.cursor()
# Integer literal with no sign (by default positive sign will be considered)
literal_query = "SELECT 100 AS 'numeric literal'"
cursorObj.execute(literal_query)
result_numeric = cursorObj.fetchone()
print("Numeric Literal:")
print(result_numeric[0])
# String literal with single quotes
string_literal = "SELECT 'tutorialspoint' AS 'string literal';"
cursorObj.execute(string_literal)
result_string = cursorObj.fetchone()
print("\nString Literal:")
print(result_string[0])
# Boolean literal, evaluates to 1 (true)
boolean_literal = "SELECT 1 AS 'boolean literal';"
cursorObj.execute(boolean_literal)
result_boolean = cursorObj.fetchone()
print("\nBoolean Literal:")
print(result_boolean[0])
# Date literal formatted as 'YYYY-MM-DD'
date_time_literal = "SELECT '2023-04-20' AS 'Date literal';"
cursorObj.execute(date_time_literal)
result_date = cursorObj.fetchone()
print("\nDate Literal:")
print(result_date[0])
# Closing the cursor and connection
cursorObj.close()
connection.close()   

Output

The output obtained is as shown below −

Numeric Literal:
100 
 
String Literal:
tutorialspoint

Boolean Literal:
1

Date Literal:
2023-04-20
Advertisements