Как использовать php для вставки строк в базу данных mysql

Introduction to MySQL LAST_INSERT_ID() function

In database design, we often use a surrogate key to generate unique integer values for the primary key column of a table by using the attribute:


When you insert a row into the table without specifying a value for the column, MySQL automatically generates a sequential unique integer for the column.

The function returns the first automatically generated integer ( ) successfully inserted for an  column.

If you insert multiple rows into the table using a single statement, the function returns the first automatically generated value only.

If the insertion fails, the result returned by the remain unchanged.

The function works based on client-independent principle. It means the value returned by the function for a specific client is the value generated by that client only to ensure that each client can obtain its own unique ID.

Examples

CREATE TABLE t (
  id INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
  f VARCHAR(1)) 
ENGINE = InnoDB;

INSERT INTO t(f) VALUES('a');

SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                1 |
+------------------+

INSERT INTO t(f) VALUES('b');

INSERT INTO t(f) VALUES('c');

SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                3 |
+------------------+

INSERT INTO t(f) VALUES('d'),('e');

SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                4 |
+------------------+

SELECT * FROM t;
+----+------+
| id | f    |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
+----+------+

SELECT LAST_INSERT_ID(12);
+--------------------+
| LAST_INSERT_ID(12) |
+--------------------+
|                 12 |
+--------------------+

SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|               12 |
+------------------+

INSERT INTO t(f) VALUES('f');

SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                6 |
+------------------+

SELECT * FROM t;
+----+------+
| id | f    |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
|  6 | f    |
+----+------+

SELECT LAST_INSERT_ID(12);
+--------------------+
| LAST_INSERT_ID(12) |
+--------------------+
|                 12 |
+--------------------+

INSERT INTO t(f) VALUES('g');

SELECT * FROM t;
+----+------+
| id | f    |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
|  6 | f    |
|  7 | g    |
+----+------+

Инструкция вставки SQL into

Инструкция INSERT INTO используется для вставки новых записей в таблицу.

Вставка в синтаксис

Можно записать вставку в заявление двумя способами.

Первый способ определяет как имена столбцов, так и вставляемые значения:

INSERT INTO table_name (column1, column2, column3, …) VALUES (value1, value2, value3, …);

При добавлении значений для всех столбцов таблицы не требуется указывать имена столбцов в SQL-запросе. Однако убедитесь, что порядок значений находится в том же порядке, что и столбцы в таблице. Вставка в синтаксис будет следующей:

INSERT INTO table_name VALUES (value1, value2, value3, …);

MySQL LAST_INSERT_ID function examples

Let’s look at an example of using MySQL  function.

A) Using MySQL function to get value when inserting one row into a table

First, create a new table named for testing. In the table, we set the   attribute for the column.

Second, insert a new row into the table.

Third, use the MySQL function to get the inserted value of the column:

Fourth, attempt to insert a null value into the column:

MySQL issued the following error:

Finally, use the function to get the last automatically inserted value:

The result is unchanged.

B) Using MySQL function to get value when inserting multiple rows into a table

First, insert three rows into the table:

Second, query data form the table:

Third, use the function to get the inserted value:

As you can see clearly from the output, the function returns the generated value of the first row successfully inserted, not the last row.

C) Using MySQL function in a stored procedure

First, create two tables and for testing:

Second, create a stored procedure that inserts an account with a phone number into both tables:

The stored procedure inserts a row into the table, get the account id using the function, and use this account id for inserting a phone into the table. A row in the table should only exist if there is a corresponding row in the table, therefore, we put both inserts into a transaction.

Third, call the stored procedure to create a new account with a phone number:


Fourth, query data from the table:

And table:

It works as expected.

Finally, attempt to create a new account with the value of the last name is null:

MySQL issued an error:

In this tutorial, you have learned how to use the MySQL function to return the first automatically generated integer successfully inserted for an column.

  • Was this tutorial helpful?

Technical Details

Return Value: An integer that represents the value of the AUTO_INCREMENT field updated by the last query. Returns zero if there were no update or no AUTO_INCREMENT field
PHP Version: 5+

Example — Procedural style

Assume that the «Persons» table has an auto-generated id field. Return the id from the last query:

<?php $con = mysqli_connect(«localhost»,»my_user»,»my_password»,»my_db»);if (mysqli_connect_errno()) {   echo «Failed to connect to MySQL: » . mysqli_connect_error();  exit(); }mysqli_query($con, «INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘Glenn’, ‘Quagmire’, 33)»);// Print auto-generated idecho «New record has id: » . mysqli_insert_id($con); mysqli_close($con); ?>

Вставка SQL в SELECT примеры

Следующая инструкция SQL копирует «поставщики» в «Customers» (столбцы, не заполненные данными, будут содержать NULL):

Пример

INSERT INTO Customers (CustomerName, City, Country) SELECT SupplierName, City, Country FROM Suppliers;

Следующая инструкция SQL копирует «поставщики» в «Customers» (заполните все столбцы):

Пример

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

Следующая инструкция SQL копирует только немецких поставщиков в «Customers»:

Пример

INSERT INTO Customers (CustomerName, City, Country) SELECT SupplierName, City, Country FROM SuppliersWHERE Country=’Germany’;

❮ Назад Дальше ❯

LAST_INSERT_ID()

И так имеем таблички

Таблица авторов:

CREATE TABLE `author` (
	`id` INT(10) NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(200) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`fam` VARCHAR(200) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	`birthday` DATE NULL DEFAULT NULL,
	PRIMARY KEY (`id`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=1;

Таблица книг авторов:

CREATE TABLE `books` (
	`id` INT(10) NOT NULL AUTO_INCREMENT,
	`id_author` INT(10) NULL DEFAULT NULL,
	`book` VARCHAR(500) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
	PRIMARY KEY (`id`),
	INDEX `id_author` (`id_author`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=1;

Добавляем данные, обратите внимание на запросы тут :

INSERT INTO `author` (`id`, `name`, `fam`, `birthday`) VALUES (NULL, 'Николай Николаевич', 'Носов', '2008-11-23');
SET @lastID := LAST_INSERT_ID();
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Незнайка учится');
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Незнайка-путешественник');

и тут :

INSERT INTO `author` (`id`, `name`, `fam`, `birthday`) VALUES (5, 'Артур Конан', 'Дойль', '1859-05-22');
SET @lastID := LAST_INSERT_ID();
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Затерянный мир');
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Шерлок Холмс');

Ну разница не только в значениях полей, а тут главная фишка, что при добавлении автора в первой тройке запросов, автоинкремент делал сама БД, а во второй тройке я принудительно указал номер в поле автоикремент, вот что получилось:

mysql> SELECT * FROM author;
+----+-------------------------------------+------------+------------+
| id | name                                | fam        | birthday   |
+----+-------------------------------------+------------+------------+
|  1 | Николай Николаевич               | Носов     | 2008-11-23 |
|  5 | Артур Конан                           | Дойль     | 1859-05-22 |
+----+-------------------------------------+------------+------------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM books;
+----+-----------+-----------------------------------------------+
| id | id_author | book                                          |
+----+-----------+-----------------------------------------------+
|  1 |         1 | Незнайка учится                 |
|  2 |         1 | Незнайка-путешественник |
|  3 |         2 | Затерянный мир                   |
|  4 |         2 | Шерлок Холмс                       |
+----+-----------+-----------------------------------------------+
4 rows in set (0.00 sec)

Как вы заметили, с таблицей авторов все окей, 1 и 5 запись добавились с теми номерами ключей которые указала БД и я соот. Во второй таблице — книги, все хуже. У книг с ИД 1 и 2 ИД_автора все ок, привязаны к автору с ИД1 в таблице авторов, а вот книги с ИД 3 и 4 привязаны к автору ИД которого в таблице авторов просто нет?!

Почему произошла такая ситуация. Разбираем.

Оказывается эта функция LAST_INSERT_ID() возвращает ИД поля с атрибутом автоинкремент если запись была вставлена успешно и автоинкремент работал!!!! Что у нас и было в первой тройке запросов, а вот во второй тройке запросов увы такого не было, т.к. я указал ИД, а значение 2 взялось, т.к. последний успешный запрос был при добавлении второй книги первого автора!

Какие еще приколы скрывает в себе эта функция, оказывается если вы делаете многократное добавление в рамках одного запроса, то ф-ция LAST_INSERT_ID() выдаст ИД только первой успешно добавленной записи!!! .

Вот пример

TRUNCATE `author`;
TRUNCATE `books`;
INSERT INTO `author` (`id`, `name`, `fam`, `birthday`) VALUES (NULL, 'Артур Конан', 'Дойль', '1859-05-22');
SET @lastID := LAST_INSERT_ID();
INSERT INTO `books` (`id`, `id_author`, `book`) 
VALUES (NULL, @lastID, 'Затерянный мир'),
(NULL, @lastID, 'Шерлок Холмс');

Результат

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                1 |
+------------------+
1 row in set (0.00 sec)

А если сделать так

TRUNCATE `author`;
TRUNCATE `books`;
INSERT INTO `author` (`id`, `name`, `fam`, `birthday`) VALUES (NULL, 'Артур Конан', 'Дойль', '1859-05-22');
SET @lastID := LAST_INSERT_ID();
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Затерянный мир');
INSERT INTO `books` (`id`, `id_author`, `book`) VALUES (NULL, @lastID, 'Шерлок Холмс');
SELECT LAST_INSERT_ID();

Результат

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                2 |
+------------------+
1 row in set (0.00 sec)

Век живи — век учись ( Народная мудрость).

В заключении еще решил разобрать поведение атрибута AUTO_INCREMENT.

PHP Insert Data Into MySQL

Just follow the few below steps and easily insert data into MySQL database table using PHP code:

1. Create a Database Connection File

In this step, you will create a file name db.php and update the below code into your file.

The below code is used to create a MySQL database connection in PHP. When we insert form data into MySQL database, there we will include this file:

<?php
	$servername='localhost';
	$username='root';
	$password='';
	$dbname = "my_db";
	$conn=mysqli_connect($servername,$username,$password,"$dbname");
	  if(!$conn){
		  die('Could not Connect MySql Server:' .mysql_error());
		}
?>

2. Create Html form


In this step, you need to create an HTML form that name is contact.php file and update the below code into your file.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Create Record</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 500px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h2>Contact Form</h2>
                    </div>
                    <p>Please fill this form and submit to add employee record to the database.</p>
                    <form action="insert.php" method="post">

                        <div class="form-group">
                            <label>Name</label>
                            <input type="text" name="name" class="form-control">
                        </div>

                        <div class="form-group">
                            <label>Email</label>
                            <input type="email" name="email" class="form-control">
                        </div>

                        <div class="form-group">
                            <label>Mobile</label>
                            <input type="mobile" name="mobile" class="form-control">
                        </div>
                        <input type="submit" class="btn btn-primary" name="submit" value="Submit">
                    </form>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>

3. Create Insert.php file

In this step, you need to create one file name insert.php and update the below code into your file.

The below code inserts your form data into the MySQL database table using a PHP script.

<?php
include_once 'db.php';
if(isset($_POST))
{    
     $name = $_POST;
     $email = $_POST;
     $mobile = $_POST;

     $sql = "INSERT INTO users (name,email,mobile)
     VALUES ('$name','$email','$mobile')";

     if (mysqli_query($conn, $sql)) {
        echo "New record has been added successfully !";
     } else {
        echo "Error: " . $sql . ":-" . mysqli_error($conn);
     }
     mysqli_close($conn);
}
?>

Conclusion

In this tutorial, you have learned how to store form data into a MySQL database table using PHP code.

This is a very basic and easy example of inserting the form data into a MySQL database table using a PHP script. In the next tutorial, we will show you how you can retrieve and display data from the database in PHP using MySQL.

If you have any questions or thoughts to share, use the comment form below to reach us.

Вставка данных только в указанные столбцы

Кроме того, можно вставлять данные только в определенные столбцы.

Следующая инструкция SQL будет вставлять новую запись, но только вставлять данные в столбцы «CustomerName», «City» и «Country» (идентификаторы будут обновляться автоматически):

Пример

INSERT INTO Customers (CustomerName, City, Country) VALUES (‘Cardinal’, ‘Stavanger’, ‘Norway’);

Выбор из таблицы «Customers» теперь будет выглядеть так:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 — 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal null null  Stavanger null Norway

❮ Назад Дальше ❯

Демонстрационная база данных

В этом учебнике мы будем использовать хорошо известную базу данных Northwind Sample.

Ниже представлен выбор из таблицы «Customers»:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

И выбор из таблицы «Поставщики»:

SupplierID SupplierName ContactName Address City Postal Code Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA

Python NumPy

NumPy IntroNumPy Getting StartedNumPy Creating ArraysNumPy Array IndexingNumPy Array SlicingNumPy Data TypesNumPy Copy vs ViewNumPy Array ShapeNumPy Array ReshapeNumPy Array IteratingNumPy Array JoinNumPy Array SplitNumPy Array SearchNumPy Array SortNumPy Array FilterNumPy Random Random Intro Data Distribution Random Permutation Seaborn Module Normal Distribution Binomial Distribution Poisson Distribution Uniform Distribution Logistic Distribution Multinomial Distribution Exponential Distribution Chi Square Distribution Rayleigh Distribution Pareto Distribution Zipf Distribution

NumPy ufunc ufunc Intro ufunc Create Function ufunc Simple Arithmetic ufunc Rounding Decimals ufunc Logs ufunc Summations ufunc Products ufunc Differences ufunc Finding LCM ufunc Finding GCD ufunc Trigonometric ufunc Hyperbolic ufunc Set Operations

Пример

Рассмотрим примеры MySQL функции LAST_INSERT_ID, чтобы понять, как использовать функцию LAST_INSERT_ID в MySQL.

Например, если бы у нас была следующая таблица suppliers с AUTO_INCREMENT полем supplier_id:

MySQL

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, supplier_name VARCHAR(50) NOT NULL, website VARCHAR(50) );

1 2 3 4

CREATETABLEsuppliers

(supplier_idINTAUTO_INCREMENTNOT NULLPRIMARY KEY,

supplier_nameVARCHAR(50)NOT NULL,

websiteVARCHAR(50));

И таблица suppliers содержала следующие записи:

supplier_id supplier_name website
1 google_user google.com
2 yandex_user yandex.ru
3 mail_user mail.ru

И мы выполнили следующий оператор INSERT:

MySQL

INSERT INTO suppliers (supplier_name, website) VALUES (‘Oracle_user’, ‘oracle.com’);

1 2 3 4

INSERTINTOsuppliers (supplier_name,website) VALUES (‘Oracle_user’,’oracle.com’);

Таблица suppliers теперь выглядит так:

supplier_id supplier_name website
1 google_user google.com
2 yandex_user yandex.ru
3 mail_user mail.ru
4 Oracle_user oracle.com

И если мы выполним функцию LAST_INSERT_ID следующим образом:


MySQL

mysql> SELECT LAST_INSERT_ID(); 4

1 2 mysql>SELECTLAST_INSERT_ID(); 4

Функция LAST_INSERT_ID вернет 4, поскольку последний оператор INSERT вставил запись в таблицу suppliers с supplier_id (то есть: значение AUTO_INCREMENT), равным 4.

Воздействие на несколько значений AUTO_INCREMENT

Рассмотрим, как будет вести себя функция LAST_INSERT_ID, если последний INSERT установит более одного значения AUTO_INCREMENT. Другими словами, что произойдет, если мы вставим 2 записи нашим последним оператором INSERT.

Давайте еще раз посмотрим на таблицу suppliers с AUTO_INCREMENT полем supplier_id:

MySQL

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, supplier_name VARCHAR(50) NOT NULL );

1 2 3

CREATETABLEsuppliers

(supplier_idINTAUTO_INCREMENTNOT NULLPRIMARY KEY,

supplier_nameVARCHAR(50)NOT NULL);

И таблица suppliers содержит следующие записи:

supplier_id supplier_name website
1 google_user google.com
2 yandex_user yandex.ru
3 mail_user mail.ru
4 Oracle_user oracle.com

У нас также есть таблица customers со следующими записями:

customer_id customer_name
1 HP
2 Samsung

И мы выполним следующий оператор INSERT, который использует предложение SELECT для вставки более чем одной записи в таблицу suppliers:

MySQL

INSERT INTO suppliers (supplier_name) SELECT customer_name FROM customers ORDER BY customer_id;

1 2 3 4 5

INSERTINTOsuppliers (supplier_name)

SELECTcustomer_name

FROMcustomers

ORDER BYcustomer_id;

После выполнения оператора INSERT таблица suppliers теперь будет выглядеть так:

supplier_id supplier_name website
1 google_user google.com
2 yandex_user yandex.ru
3 mail_user mail.ru
4 Oracle_user oracle.com
5 HP null
6 Samsung null

Как вы можете видеть, оператор INSERT вставил 2 новых записи в таблицу suppliers (supplier_id = 5 и supplier_id = 6).

Теперь, когда мы выполняем функцию LAST_INSERT_ID следующим образом:

MySQL

mysql> SELECT LAST_INSERT_ID();

#Результат: 5

1 2 3 mysql>SELECTLAST_INSERT_ID();   #Результат:  5

Функция LAST_INSERT_ID вернет 5, потому что запись с supplier_id = 5 была первым значением AUTO_INCREMENT, которое будет установлено самым последним оператором INSERT.

Insert Data Into MySQL Using MySQLi and PDO

After a database and a table have been created, we can start adding data in them.

Here are some syntax rules to follow:

  • The SQL query must be quoted in PHP
  • String values inside the SQL query must be quoted
  • Numeric values must not be quoted
  • The word NULL must not be quoted

The INSERT INTO statement is used to add new records to a MySQL table:

INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…)

To learn more about SQL, please visit our SQL tutorial.

Note: If a column is AUTO_INCREMENT (like the «id» column) or TIMESTAMP with default update of current_timesamp (like the «reg_date» column), it is no need to be specified in the SQL query; MySQL will automatically add the value.

The following examples add a new record to the «MyGuests» table:

SQL References

SQL Keywords ADD ADD CONSTRAINT ALTER ALTER COLUMN ALTER TABLE ALL AND ANY AS ASC BACKUP DATABASE BETWEEN CASE CHECK COLUMN CONSTRAINT CREATE CREATE DATABASE CREATE INDEX CREATE OR REPLACE VIEW CREATE TABLE CREATE PROCEDURE CREATE UNIQUE INDEX CREATE VIEW DATABASE DEFAULT DELETE DESC DISTINCT DROP DROP COLUMN DROP CONSTRAINT DROP DATABASE DROP DEFAULT DROP INDEX DROP TABLE DROP VIEW EXEC EXISTS FOREIGN KEY FROM FULL OUTER JOIN GROUP BY HAVING IN INDEX INNER JOIN INSERT INTO INSERT INTO SELECT IS NULL IS NOT NULL JOIN LEFT JOIN LIKE LIMIT NOT NOT NULL OR ORDER BY OUTER JOIN PRIMARY KEY PROCEDURE RIGHT JOIN ROWNUM SELECT SELECT DISTINCT SELECT INTO SELECT TOP SET TABLE TOP TRUNCATE TABLE UNION UNION ALL UNIQUE UPDATE VALUES VIEW WHERE

MySQL Functions String Functions ASCII CHAR_LENGTH CHARACTER_LENGTH CONCAT CONCAT_WS FIELD FIND_IN_SET FORMAT INSERT INSTR LCASE LEFT LENGTH LOCATE LOWER LPAD LTRIM MID POSITION REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPACE STRCMP SUBSTR SUBSTRING SUBSTRING_INDEX TRIM UCASE UPPER

Numeric Functions ABS ACOS ASIN ATAN ATAN2 AVG CEIL CEILING COS COT COUNT DEGREES DIV EXP FLOOR GREATEST LEAST LN LOG LOG10 LOG2 MAX MIN MOD PI POW POWER RADIANS RAND ROUND SIGN SIN SQRT SUM TAN TRUNCATE

Date Functions ADDDATE ADDTIME CURDATE CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURTIME DATE DATEDIFF DATE_ADD DATE_FORMAT DATE_SUB DAY DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR EXTRACT FROM_DAYS HOUR LAST_DAY LOCALTIME LOCALTIMESTAMP MAKEDATE MAKETIME MICROSECOND MINUTE MONTH MONTHNAME NOW PERIOD_ADD PERIOD_DIFF QUARTER SECOND SEC_TO_TIME STR_TO_DATE SUBDATE SUBTIME SYSDATE TIME TIME_FORMAT TIME_TO_SEC TIMEDIFF TIMESTAMP TO_DAYS WEEK WEEKDAY WEEKOFYEAR YEAR YEARWEEK

Advanced Functions BIN BINARY CASE CAST COALESCE CONNECTION_ID CONV CONVERT CURRENT_USER DATABASE IF IFNULL ISNULL LAST_INSERT_ID NULLIF SESSION_USER SYSTEM_USER USER VERSION

SQL Server Functions String Functions ASCII CHAR CHARINDEX CONCAT Concat with + CONCAT_WS DATALENGTH DIFFERENCE FORMAT LEFT LEN LOWER LTRIM NCHAR PATINDEX QUOTENAME REPLACE REPLICATE REVERSE RIGHT RTRIM SOUNDEX SPACE STR STUFF SUBSTRING TRANSLATE TRIM UNICODE UPPER

Numeric Functions ABS ACOS ASIN ATAN ATN2 AVG CEILING COUNT COS COT DEGREES EXP FLOOR LOG LOG10 MAX MIN PI POWER RADIANS RAND ROUND SIGN SIN SQRT SQUARE SUM TAN

Date Functions CURRENT_TIMESTAMP DATEADD DATEDIFF DATEFROMPARTS DATENAME DATEPART DAY GETDATE GETUTCDATE ISDATE MONTH SYSDATETIME YEAR

Advanced Functions CAST COALESCE CONVERT CURRENT_USER IIF ISNULL ISNUMERIC NULLIF SESSION_USER SESSIONPROPERTY SYSTEM_USER USER_NAME

MS Access Functions String Functions Asc Chr Concat with & CurDir Format InStr InstrRev LCase Left Len LTrim Mid Replace Right RTrim Space Split Str StrComp StrConv StrReverse Trim UCase

Numeric Functions Abs Atn Avg Cos Count Exp Fix Format Int Max Min Randomize Rnd Round Sgn Sqr Sum Val

Date Functions Date DateAdd DateDiff DatePart DateSerial DateValue Day Format Hour Minute Month MonthName Now Second Time TimeSerial TimeValue Weekday WeekdayName Year

Other Functions CurrentUser Environ IsDate IsNull IsNumeric

SQL OperatorsSQL Data TypesSQL Quick Ref


С этим читают