Database
 sql >> база данни >  >> RDS >> Database

SQL АКТУАЛИЗАЦИЯ

АКТУАЛИЗИРАНЕ на SQL

Инструкцията SQL UPDATE е използвана до актуализирайте и модифицирайте наличните записи в база данни . Използва се за промяна на вече съществуващите записи, съхранени в таблиците в базата данни. Тази команда работи заедно с WHERE клауза. Условието, посочено в оператора UPDATE, се използва, за да се реши кои колони или редове на таблицата ще бъдат засегнати или променени.

Командата UPDATE може да се използва и за актуализиране на таблица от друга таблица. Може да се използва и за актуализиране на датата и часа на SQL заявка.

Присъединяване към актуализация на SQL

Инструкцията SQL UPDATE може също да се използва за актуализиране на една таблица с помощта на друга таблица, която е свързана чрез присъединяване. Това е известно като SQL оператор UPDATE JOIN.

UPDATE table1, table2,
 INNER JOIN table1
 ON table1.column1 = table2.column1 
 SET table1.column1 = table2.column2
 WHERE condition

Следва основният синтаксис на израза UPDATE, използващ клаузата JOIN:

Пример:

CREATE TABLE TAE1 (Col1 INT, Col2 INT, Col3 VARCHAR (100))  
 INSERT INTO TAE1 (Col1, Col2, Col3)  
 SELECT 1, 11, 'FIRST'  
 UNION ALL  
 SELECT 11,12, 'SECOND'  
 UNION ALL   
 SELECT 21, 13, 'THIRD'  
 UNION ALL   
 SELECT 31, 14, 'FOURTH'   

Нека първо създадем първата таблица TAE1.

 CREATE TABLE TAE2 (Col1 INT, Col2 INT, Col3 VARCHAR (100))  
 INSERT INTO TAE2 (Col1, Col2, Col3)  
 SELECT 1, 21, 'TWO-ONE'  
 UNION ALL  
 SELECT 11,22, 'TWO-TWO'  
 UNION ALL   
 SELECT 21, 23, 'TWO-THREE'  
 UNION ALL   
 SELECT 31, 24, 'TWO-FOUR'   

Сега нека създадем втората таблица TAE2.

SELECT *
 FROM TAE1 
Col1 Кол2 Кол3
1 11 Първо
11 12 Втори
21 13 Трето
31 14 Четвърто

Изход:

Сега нека видим съдържанието на таблицата TAE2.

SELECT *
 FROM TAE2

Изход:

Col1 Кол2 Кол3
1 21 Две-едно
11 22 Две-две
21 23 Две-три
31 24 Две-четири

Сега следната заявка ще актуализира редовете на TAE1, където стойността на Col1 е 21 и 31, използвайки таблицата TAE2, където има подобни редове и където Col1 е 21 и 31. Само съответните записи на Col2 и Col3 от таблицата TAE1 ще бъдат актуализирани .

UPDATE TAE1
 SET Col2 = TAE2.Col2,  
 Col3 = TAE2.Col3  
 FROM TAE1  
 INNER JOIN TAE2 ON TAE1.Col1 = TAE2.Col1  
 WHERE TAE1.Col1 IN (21, 31); 

Изход:

Col1 Кол2 Кол3
1 11 Първо
11 12 Втори
21 13 Две-три
31 14 Две-четири

Сега, ако се провери съдържанието на таблицата TAE1, ще се получи следният изход.

Съдържанието на TAE2 обаче остава непроменено.

Col1 Кол2 Кол3
1 21 Две-едно
11 22 Две-две
21 23 Две-три
31 24 Две-четири

Това е пример за използване на клаузата JOIN с израза UPDATE. Той обедини горните две таблици.

ДАТА НА АКТУАЛИЗИРАНЕ НА SQL

SQL операторът UPDATE DATE се използва за актуализиране на полето за дата и час в SQL.

UPDATE table_name
 SET data_field = ‘data_value’ 
 WHERE conditions; 

Следва общият синтаксис на актуализиране на полето за дата и час в SQL :

UPDATE table_name
 SET data_field = getdate(); 

Следва синтаксисът на актуализиране на датата с текущата дата в SQL :

UPDATE table_name
 SET data_field = CURRENT_TIMESTAMP; 

Следва синтаксисът на актуализиране на датата и часа с текущата дата и час в SQL:

 UPDATE table_name
 SET data_field = ‘YYYY-MM-DD HH:MM:SS’;

Следва синтаксисът на актуализиране на датата и часа с конкретна дата и час в SQL:

UPDATE table_name
 SET data_field = CAST(‘date_value’ AS DATETIME); 

Следва синтаксисът на актуализиране на датата с конкретна стойност, когато форматът на датата не е известен:

Пример:

UPDATE Employee
 SET DOJ = ‘2021-07-05’ 
 WHERE Dept_ID = 10; 

Следва пример за актуализиране на датата на няколко реда в дадения Служител таблица.

Emp_ID Emp_Name Обозначение ИД на мениджър DOJ Заплата Dept_ID
1 Emp1 Директор 11.07.2021 45000 10
2 Emp2 Директор 11.07.2021 40 000 20
3 Emp3 Мениджър Emp1 11.07.2021 27 000 10
4 Emp4 Мениджър Emp2 08.10.2021 25 000 20
5 Emp5 Аналитик Emp3 11.07.2021 20 000 10
6 Emp6 Аналитик Emp3 08.10.2021 18 000 10
7 Emp7 Служител Emp3 11.07.2021 15 000 10
8 Emp8 Продавач Emp4 09.09.2021 14000 20
9 Emp9 Продавач Emp4 08.10.2021 13000 20

Запитване:

Изход:

Emp_ID Emp_Name Обозначение ИД на мениджър DOJ Заплата Dept_ID
1 Emp1 Директор 05.07.2021 45000 10
3 Emp3 Мениджър Emp1 05.07.2021 27 000 10
5 Emp5 Аналитик Emp3 05.07.2021 20 000 10
6 Emp6 Аналитик Emp3 05.07.2021 18 000 10
7 Emp7 Служител Emp3 05.07.2021 15 000 10

По този начин колоната на DOJ за всички служители с Dept_ID 10 е актуализирана.

Следва примерът за актуализиране на датата на прием в студентска таблица с помощта на функцията CAST:

UPDATE student
SET admission_date = CAST(‘2021-04-10’ AS DATETIME)
WHERE id = 42;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-популярни групи за Analytics, Big Data, Data Mining, Hadoop, NoSQL, Data Science

  2. Изненади и предположения при представянето:произволен ТОП 1

  3. SQL SELECT AVG

  4. Топ 10 метода за подобряване на производителността на ETL с помощта на SSIS

  5. Завършване на SQL. Истории за успех и провал