sql >> Databáze >  >> RDS >> Mysql

srovnání zkrácení vs odstranění v mysql/sqlserver

SMAZAT

  1. DELETE je příkaz DML.
  2. Příkaz DELETE se provádí pomocí zámku řádku, každý řádek v tabulce je uzamčen pro smazání.
  3. V klauzuli where můžeme zadat filtry
  4. Pokud existuje podmínka, smaže zadaná data.
  5. Smazat aktivuje spouštěč, protože operace jsou protokolovány jednotlivě.
  6. Pomalejší než zkrácení, protože uchovává protokoly.
  7. Vrácení zpět je možné.

ZKRÁTIT

  1. TRUNCATE je příkaz DDL.
  2. TRUNCATE TABLE vždy uzamkne tabulku a stránku, ale ne každý řádek.
  3. Nelze použít podmínku Where.
  4. Odstraní všechna data.
  5. TRUNCATE TABLE nemůže aktivovat spouštěč, protože operace nezaznamenává smazání jednotlivých řádků.
  6. Výkonově rychlejší, protože neuchovává žádné záznamy.
  7. Vrácení zpět je možné.


  • DELETE a TRUNCATE lze vrátit zpět při použití s ​​TRANSACTION (TRUNCATE lze vrátit zpět v SQL Server, ale ne v MySQL).
  • pokud existuje PK s automatickým přírůstkem, zkrácení vynuluje počítadlo

http://beginner-sql-tutorial.com/sql-delete-statement .htm



  1. JDBC se připojuje k databázi Oracle pomocí SSL

  2. Obnovení databáze SQL Server (T-SQL)

  3. Jak mohu předat pole hodnot mé uložené proceduře?

  4. Upřesnění výsledků vyhledávání na základě filtrů