{"id":37383,"date":"2026-01-02T15:41:14","date_gmt":"2026-01-02T12:41:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37383"},"modified":"2026-01-02T15:41:14","modified_gmt":"2026-01-02T12:41:14","slug":"sqlde-veri-silme-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/","title":{"rendered":"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Veritabanlar\u0131nda veri depolamak kadar, art\u0131k ihtiya\u00e7 duyulmayan veya g\u00fcncelli\u011fini yitirmi\u015f verileri g\u00fcvenli ve do\u011fru bir \u015fekilde silmek de kritik \u00f6neme sahiptir. SQL&#8217;de veri silme i\u015flemleri, basit bir tek sat\u0131r silme i\u015fleminden, t\u00fcm bir tablonun bo\u015falt\u0131lmas\u0131na kadar \u00e7e\u015fitli senaryolar\u0131 kapsar. Ancak bu i\u015flemler, geri d\u00f6n\u00fc\u015f\u00fc olmayan sonu\u00e7lar do\u011furabilece\u011fi i\u00e7in b\u00fcy\u00fck bir dikkat ve bilgi birikimi gerektirir. Bu rehberde, SQL&#8217;de veri silme y\u00f6ntemlerini, her bir y\u00f6ntemin \u00f6zelliklerini, kullan\u0131m senaryolar\u0131n\u0131, pratik ipu\u00e7lar\u0131n\u0131 ve dikkat edilmesi gereken g\u00fcvenlik \u00f6nlemlerini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>SQL&#8217;de Veri Silme Y\u00f6ntemleri<\/h3>\n<p>SQL&#8217;de veri silmek i\u00e7in temel olarak \u00fc\u00e7 ana komut bulunmaktad\u0131r: <code>DELETE<\/code>, <code>TRUNCATE TABLE<\/code> ve <code>DROP TABLE<\/code>. Her bir komutun kendine \u00f6zg\u00fc bir amac\u0131, performans\u0131 ve risk seviyesi vard\u0131r.<\/p>\n<h4>DELETE Komutu<\/h4>\n<p><code>DELETE<\/code> komutu, bir tablodan belirli ko\u015fullara uyan bir veya daha fazla sat\u0131r\u0131 silmek i\u00e7in kullan\u0131lan bir Veri \u0130\u015fleme Dili (DML &#8211; Data Manipulation Language) komutudur. En esnek veri silme y\u00f6ntemidir \u00e7\u00fcnk\u00fc <code>WHERE<\/code> ko\u015fulu kullanarak hangi sat\u0131rlar\u0131n silinece\u011fini tam olarak belirleyebilirsiniz. E\u011fer <code>WHERE<\/code> ko\u015fulu kullan\u0131lmazsa, tablodaki t\u00fcm sat\u0131rlar silinir.<\/p>\n<p><strong>Kullan\u0131m \u015eekli:<\/strong><\/p>\n<pre><code class=\"language-sql\">\n-- Tablodaki t\u00fcm sat\u0131rlar\u0131 siler (WHERE ko\u015fulu yoksa)\nDELETE FROM tablo_adi;\n\n-- Belirli bir ko\u015fula uyan sat\u0131rlar\u0131 siler\nDELETE FROM tablo_adi\nWHERE kosul;\n<\/code><\/pre>\n<p><strong>\u00d6rnekler:<\/strong><\/p>\n<pre><code class=\"language-sql\">\n-- 'Musteriler' tablosundan 'Ankara' \u015fehrinde ya\u015fayan t\u00fcm m\u00fc\u015fterileri sil\nDELETE FROM Musteriler\nWHERE Sehir = 'Ankara';\n\n-- 'Urunler' tablosundan sto\u011fu 0 olan t\u00fcm \u00fcr\u00fcnleri sil\nDELETE FROM Urunler\nWHERE StokAdedi = 0;\n\n-- 'GeciciVeriler' tablosundaki t\u00fcm verileri sil (dikkatli kullan\u0131lmal\u0131!)\nDELETE FROM GeciciVeriler;\n<\/code><\/pre>\n<p><strong>Pratik Bilgiler ve Dikkat Edilmesi Gerekenler:<\/strong><\/p>\n<ul>\n<li><strong>WHERE Ko\u015fulunun \u00d6nemi:<\/strong> <code>DELETE<\/code> komutunu kullan\u0131rken <code>WHERE<\/code> ko\u015fulunu dikkatlice olu\u015fturmak hayati \u00f6nem ta\u015f\u0131r. Yanl\u0131\u015f bir ko\u015ful, silmek istemedi\u011finiz verilerin kayb\u0131na neden olabilir.<\/li>\n<li><strong>\u0130\u015flem Kontrol\u00fc (Transactions):<\/strong> <code>DELETE<\/code> DML komutu oldu\u011fu i\u00e7in i\u015flemler (transactions) i\u00e7inde kullan\u0131labilir. Bu, silme i\u015fleminden \u00f6nce bir yedekleme yapma veya i\u015flemi test etme imkan\u0131 sunar. Bir i\u015flem ba\u015flat\u0131p (<code>BEGIN TRANSACTION<\/code>), silme i\u015flemini ger\u00e7ekle\u015ftirip, etkilenen sat\u0131rlar\u0131 kontrol edebilir ve ard\u0131ndan ya i\u015flemi onaylayabilir (<code>COMMIT<\/code>) ya da geri alabilirsiniz (<code>ROLLBACK<\/code>). Bu, veri g\u00fcvenli\u011fi i\u00e7in alt\u0131n bir kurald\u0131r.<\/li>\n<li><strong>Tetikleyiciler (Triggers):<\/strong> <code>DELETE<\/code> komutu, tabloda tan\u0131ml\u0131 <code>DELETE<\/code> tetikleyicilerini \u00e7al\u0131\u015ft\u0131r\u0131r.<\/li>\n<li><strong>G\u00fcnl\u00fck Kayd\u0131 (Logging):<\/strong> Her silinen sat\u0131r, i\u015flem g\u00fcnl\u00fc\u011f\u00fcne (transaction log) ayr\u0131 ayr\u0131 kaydedilir. Bu, performans\u0131 <code>TRUNCATE TABLE<\/code>&#8216;a g\u00f6re daha yava\u015f yapabilir ancak geri al\u0131nabilirli\u011fi art\u0131r\u0131r.<\/li>\n<li><strong>Kimlik S\u00fctunlar\u0131 (Identity Columns):<\/strong> <code>DELETE<\/code>, bir tablodaki kimlik (identity) s\u00fctunlar\u0131n\u0131n de\u011ferlerini s\u0131f\u0131rlamaz; yeni eklenen sat\u0131rlar kald\u0131\u011f\u0131 yerden devam eder.<\/li>\n<li><strong>Referans B\u00fct\u00fcnl\u00fc\u011f\u00fc (Foreign Keys):<\/strong> Yabanc\u0131 anahtar k\u0131s\u0131tlamalar\u0131 olan tablolarda <code>DELETE<\/code> i\u015flemi, k\u0131s\u0131tlama t\u00fcr\u00fcne g\u00f6re farkl\u0131l\u0131k g\u00f6sterir (\u00f6rn. <code>ON DELETE CASCADE<\/code>, <code>ON DELETE SET NULL<\/code>, <code>ON DELETE NO ACTION<\/code>).<\/li>\n<\/ul>\n<h4>TRUNCATE TABLE Komutu<\/h4>\n<p><code>TRUNCATE TABLE<\/code> komutu, bir tablodaki t\u00fcm sat\u0131rlar\u0131 h\u0131zl\u0131 bir \u015fekilde silmek i\u00e7in kullan\u0131l\u0131r. Bu, bir Veri Tan\u0131mlama Dili (DDL &#8211; Data Definition Language) komutudur ve <code>DELETE<\/code>&#8216;ten farkl\u0131 \u00f6zelliklere sahiptir.<\/p>\n<p><strong>Kullan\u0131m \u015eekli:<\/strong><\/p>\n<pre><code class=\"language-sql\">\nTRUNCATE TABLE tablo_adi;\n<\/code><\/pre>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-sql\">\n-- 'LogKayitlari' tablosundaki t\u00fcm verileri sil\nTRUNCATE TABLE LogKayitlari;\n<\/code><\/pre>\n<p><strong>Pratik Bilgiler ve Dikkat Edilmesi Gerekenler:<\/strong><\/p>\n<ul>\n<li><strong>H\u0131z:<\/strong> <code>TRUNCATE TABLE<\/code>, <code>DELETE<\/code>&#8216;e g\u00f6re \u00e7ok daha h\u0131zl\u0131d\u0131r, \u00f6zellikle b\u00fcy\u00fck tablolar i\u00e7in. Bunun nedeni, her sat\u0131r\u0131 tek tek silmek yerine, tablonun veri sayfalar\u0131n\u0131 do\u011frudan bo\u015faltmas\u0131 ve daha az i\u015flem g\u00fcnl\u00fc\u011f\u00fc kayd\u0131 tutmas\u0131d\u0131r.<\/li>\n<li><strong>Geri Al\u0131namazl\u0131k:<\/strong> <code>TRUNCATE TABLE<\/code> bir DDL komutu oldu\u011fu i\u00e7in genellikle i\u015flemler i\u00e7inde <code>ROLLBACK<\/code> ile geri al\u0131namaz (baz\u0131 veritaban\u0131 sistemlerinde farkl\u0131l\u0131k g\u00f6sterebilir, ancak genel prensip budur). Bu nedenle, kullanmadan \u00f6nce \u00e7ok dikkatli olunmal\u0131d\u0131r.<\/li>\n<li><strong>WHERE Ko\u015fulu Yok:<\/strong> <code>TRUNCATE TABLE<\/code> ile belirli ko\u015fullara g\u00f6re sat\u0131r silemezsiniz; her zaman tablonun tamam\u0131n\u0131 bo\u015falt\u0131r.<\/li>\n<li><strong>Tetikleyiciler:<\/strong> <code>TRUNCATE TABLE<\/code>, <code>DELETE<\/code> tetikleyicilerini \u00e7al\u0131\u015ft\u0131rmaz.<\/li>\n<li><strong>Kimlik S\u00fctunlar\u0131:<\/strong> <code>TRUNCATE TABLE<\/code>, kimlik (identity) s\u00fctunlar\u0131n\u0131 s\u0131f\u0131rlar. Yani, bir sonraki eklenen sat\u0131r 1&#8217;den (veya ba\u015flang\u0131\u00e7 de\u011ferinden) ba\u015flar.<\/li>\n<li><strong>Referans B\u00fct\u00fcnl\u00fc\u011f\u00fc:<\/strong> Yabanc\u0131 anahtar k\u0131s\u0131tlamalar\u0131 olan tablolarda <code>TRUNCATE TABLE<\/code> genellikle do\u011frudan kullan\u0131lamaz. \u00d6nce yabanc\u0131 anahtar k\u0131s\u0131tlamalar\u0131n\u0131 kald\u0131rman\u0131z veya ilgili verileri ba\u015fka bir yolla silmeniz gerekebilir.<\/li>\n<\/ul>\n<h4>DROP TABLE Komutu<\/h4>\n<p><code>DROP TABLE<\/code> komutu, veritaban\u0131ndan bir tablonun hem yap\u0131s\u0131n\u0131 (\u015femas\u0131n\u0131) hem de t\u00fcm verilerini kal\u0131c\u0131 olarak siler. Bu, veri silme i\u015flemlerinin en y\u0131k\u0131c\u0131 olan\u0131d\u0131r.<\/p>\n<p><strong>Kullan\u0131m \u015eekli:<\/strong><\/p>\n<pre><code class=\"language-sql\">\nDROP TABLE tablo_adi;\n<\/code><\/pre>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-sql\">\n-- 'EskiRaporlar' ad\u0131ndaki tabloyu tamamen sil\nDROP TABLE EskiRaporlar;\n<\/code><\/pre>\n<p><strong>Pratik Bilgiler ve Dikkat Edilmesi Gerekenler:<\/strong><\/p>\n<ul>\n<li><strong>Kal\u0131c\u0131 Silme:<\/strong> <code>DROP TABLE<\/code>, tabloyu veritaban\u0131ndan tamamen kald\u0131r\u0131r. Geri al\u0131nmas\u0131 genellikle yedekten geri y\u00fckleme gerektirir.<\/li>\n<li><strong>T\u00fcm Veri ve \u015eema:<\/strong> Tablonun t\u00fcm verileri, indeksleri, k\u0131s\u0131tlamalar\u0131, tetikleyicileri ve di\u011fer ili\u015fkili nesneleri de silinir.<\/li>\n<li><strong>Referans B\u00fct\u00fcnl\u00fc\u011f\u00fc:<\/strong> Yabanc\u0131 anahtar k\u0131s\u0131tlamalar\u0131 olan bir tabloyu do\u011frudan silemezsiniz. \u00d6nce bu tabloya referans veren di\u011fer tablolar\u0131n yabanc\u0131 anahtarlar\u0131n\u0131 kald\u0131rman\u0131z veya ilgili tablolar\u0131 silmeniz gerekebilir.<\/li>\n<li><strong>Yetkilendirme:<\/strong> Bu komutu \u00e7al\u0131\u015ft\u0131rmak i\u00e7in genellikle \u00f6zel veritaban\u0131 izinleri gereklidir.<\/li>\n<\/ul>\n<h3>G\u00fcvenli Veri Silme Pratikleri ve Dikkat Edilmesi Gerekenler<\/h3>\n<p>Veri silme i\u015flemleri, potansiyel olarak b\u00fcy\u00fck zararlara yol a\u00e7abilece\u011fi i\u00e7in son derece dikkatli ve planl\u0131 bir \u015fekilde yap\u0131lmal\u0131d\u0131r. \u0130\u015fte g\u00fcvenli veri silme i\u00e7in baz\u0131 temel pratikler:<\/p>\n<h4>1. Veritaban\u0131 Yedeklemesi<\/h4>\n<p>Herhangi bir kritik silme i\u015fleminden \u00f6nce, ilgili veritaban\u0131n\u0131n veya tablolar\u0131n tam bir yede\u011fini almak, olas\u0131 bir hatada verileri geri y\u00fckleyebilmenizi sa\u011flar. Bu, en temel ve en \u00f6nemli g\u00fcvenlik \u00f6nlemidir.<\/p>\n<h4>2. \u0130\u015flem Kontrol\u00fc (Transactions) Kullan\u0131m\u0131<\/h4>\n<p><code>DELETE<\/code> komutunu kullan\u0131rken her zaman bir i\u015flem (transaction) ba\u015flat\u0131n. Bu, silme i\u015flemini test etmenize ve gerekirse geri alman\u0131za olanak tan\u0131r.<\/p>\n<pre><code class=\"language-sql\">\nBEGIN TRANSACTION; -- \u0130\u015flemi ba\u015flat\n\n-- Silmek istedi\u011finiz verileri \u00f6nce SELECT ile kontrol edin\nSELECT * FROM Musteriler WHERE Sehir = 'Ankara';\n\n-- Silme i\u015flemini ger\u00e7ekle\u015ftirin\nDELETE FROM Musteriler WHERE Sehir = 'Ankara';\n\n-- Etkilenen sat\u0131r say\u0131s\u0131n\u0131 kontrol edin (iste\u011fe ba\u011fl\u0131)\nSELECT @@ROWCOUNT AS EtkilenenSatirSayisi;\n\n-- E\u011fer her \u015fey yolundaysa, i\u015flemi onayla\n-- COMMIT TRANSACTION;\n\n-- E\u011fer bir sorun varsa veya emin de\u011filseniz, i\u015flemi geri al\n-- ROLLBACK TRANSACTION;\n<\/code><\/pre>\n<h4>3. WHERE Ko\u015fulunu \u0130ki Kere Kontrol Edin<\/h4>\n<p><code>DELETE<\/code> komutundaki <code>WHERE<\/code> ko\u015fulunu yazd\u0131ktan sonra, ayn\u0131 ko\u015fulu bir <code>SELECT<\/code> ifadesiyle \u00e7al\u0131\u015ft\u0131rarak hangi sat\u0131rlar\u0131n etkilenece\u011fini \u00f6nceden g\u00f6r\u00fcn. Bu, yanl\u0131\u015f verilerin silinmesini engellemek i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<pre><code class=\"language-sql\">\n-- Silmeden \u00f6nce etkilenecek sat\u0131rlar\u0131 g\u00f6r\nSELECT * FROM Siparisler WHERE SiparisTarihi < &#039;2023-01-01&#039;;\n\n-- Emin olduktan sonra silme i\u015flemini yap\nDELETE FROM Siparisler WHERE SiparisTarihi < &#039;2023-01-01&#039;;\n<\/code><\/pre>\n<h4>4. Test Ortam\u0131nda Deneme<\/h4>\n<p>\u00dcretim (production) ortam\u0131nda b\u00fcy\u00fck veya riskli silme i\u015flemleri yapmadan \u00f6nce, bu i\u015flemleri bir geli\u015ftirme veya test ortam\u0131nda deneyin. Bu, beklenmedik sorunlar\u0131 \u00f6nceden tespit etmenize yard\u0131mc\u0131 olur.<\/p>\n<h4>5. Yetkilendirme ve \u0130zinler<\/h4>\n<p>Veri silme yetkileri, sadece bu i\u015flemleri yapmas\u0131 gereken ki\u015filere verilmelidir. En az ayr\u0131cal\u0131k ilkesi (least privilege principle) uygulanarak, kullan\u0131c\u0131lar\u0131n sadece ihtiya\u00e7 duyduklar\u0131 komutlar\u0131 \u00e7al\u0131\u015ft\u0131rma izinlerine sahip olmalar\u0131 sa\u011flanmal\u0131d\u0131r.<\/p>\n<h4>6. Veri Gizlili\u011fi ve KVKK\/GDPR Uyum<\/h4>\n<p>Ki\u015fisel veri i\u00e7eren tablolar\u0131 silerken veya bu tablolardan veri silerken, ilgili veri gizlili\u011fi d\u00fczenlemelerine (KVKK, GDPR vb.) uyulmas\u0131 zorunludur. \"Unutulma hakk\u0131\" gibi kavramlar, veri silme politikalar\u0131n\u0131z\u0131 do\u011frudan etkileyebilir.<\/p>\n<h4>7. Performans Hususlar\u0131<\/h4>\n<p>\u00c7ok b\u00fcy\u00fck tablolardan veri silerken performans sorunlar\u0131 ya\u015fanabilir. \u0130ndeksler, silme i\u015fleminin h\u0131z\u0131n\u0131 etkileyebilir. Bazen, \u00e7ok b\u00fcy\u00fck bir tabloyu k\u0131smen bo\u015faltmak yerine, istenilen verileri yeni bir tabloya kopyalay\u0131p eski tabloyu <code>DROP<\/code> etmek ve yeni tabloyu eski isimle yeniden adland\u0131rmak daha h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcm olabilir. Ancak bu daha karma\u015f\u0131k bir s\u00fcre\u00e7tir ve dikkatli planlama gerektirir.<\/p>\n<h3>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p>SQL'de veri silme i\u015flemleri, veritaban\u0131 y\u00f6netiminin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. <code>DELETE<\/code>, <code>TRUNCATE TABLE<\/code> ve <code>DROP TABLE<\/code> komutlar\u0131 aras\u0131ndaki farklar\u0131 anlamak ve her birini do\u011fru senaryoda kullanmak, veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumak ve olas\u0131 veri kay\u0131plar\u0131n\u0131 \u00f6nlemek i\u00e7in hayati \u00f6neme sahiptir. Her zaman dikkatli olun, yedekleme yap\u0131n ve i\u015flem kontrol\u00fc kullan\u0131n.<\/p>\n<h4>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h4>\n<p><strong>S1: <code>DELETE<\/code> ile <code>TRUNCATE TABLE<\/code> aras\u0131ndaki temel fark nedir?<\/strong><br \/>\nC1: <code>DELETE<\/code>, Veri \u0130\u015fleme Dili (DML) komutudur, sat\u0131r baz\u0131nda i\u015flem yapar, <code>WHERE<\/code> ko\u015fulu kullanabilir, i\u015flem g\u00fcnl\u00fc\u011f\u00fc tutar ve geri al\u0131nabilir (rollback). Tetikleyicileri \u00e7al\u0131\u015ft\u0131r\u0131r ve kimlik s\u00fctunlar\u0131n\u0131 s\u0131f\u0131rlamaz. <code>TRUNCATE TABLE<\/code> ise Veri Tan\u0131mlama Dili (DDL) komutudur, t\u00fcm tabloyu h\u0131zl\u0131ca bo\u015falt\u0131r, <code>WHERE<\/code> ko\u015fulu kullanamaz, daha az i\u015flem g\u00fcnl\u00fc\u011f\u00fc tutar ve genellikle geri al\u0131namaz. Tetikleyicileri \u00e7al\u0131\u015ft\u0131rmaz ve kimlik s\u00fctunlar\u0131n\u0131 s\u0131f\u0131rlar.<\/p>\n<p><strong>S2: Yanl\u0131\u015fl\u0131kla silinen verileri geri getirebilir miyim?<\/strong><br \/>\nC2: E\u011fer <code>DELETE<\/code> komutunu bir i\u015flem (transaction) i\u00e7inde kulland\u0131ysan\u0131z ve <code>COMMIT<\/code> etmediyseniz, <code>ROLLBACK<\/code> ile geri alabilirsiniz. Ancak <code>TRUNCATE TABLE<\/code> veya <code>DROP TABLE<\/code> komutlar\u0131 genellikle geri al\u0131namaz. Bu durumda tek \u00e7\u00f6z\u00fcm, silme i\u015fleminden \u00f6nce al\u0131nm\u0131\u015f bir veritaban\u0131 yede\u011finden geri y\u00fckleme yapmakt\u0131r.<\/p>\n<p><strong>S3: Belirli bir ko\u015fula uyan verileri silerken nelere dikkat etmeliyim?<\/strong><br \/>\nC3: En \u00f6nemli nokta, <code>WHERE<\/code> ko\u015fulunu \u00e7ok dikkatli bir \u015fekilde olu\u015fturmakt\u0131r. Silme i\u015flemine ba\u015flamadan \u00f6nce, ayn\u0131 <code>WHERE<\/code> ko\u015fulunu kullanarak bir <code>SELECT<\/code> sorgusu \u00e7al\u0131\u015ft\u0131rarak hangi sat\u0131rlar\u0131n etkilenece\u011fini mutlaka kontrol edin. Ayr\u0131ca, i\u015flemi bir <code>BEGIN TRANSACTION<\/code> blo\u011fu i\u00e7inde ba\u015flatarak olas\u0131 hatalara kar\u015f\u0131 g\u00fcvence alt\u0131na al\u0131n.<\/p>\n<p><strong>S4: <code>DELETE<\/code> komutu \u00e7ok yava\u015f \u00e7al\u0131\u015f\u0131yorsa ne yapmal\u0131y\u0131m?<\/strong><br \/>\nC4: Yava\u015f \u00e7al\u0131\u015fan <code>DELETE<\/code> komutlar\u0131 genellikle <code>WHERE<\/code> ko\u015fulunda kullan\u0131lan s\u00fctunlarda uygun indekslerin olmamas\u0131ndan kaynaklan\u0131r. \u0130lgili s\u00fctunlara indeks eklemek performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir. Ayr\u0131ca, \u00e7ok b\u00fcy\u00fck tablolar i\u00e7in silme i\u015flemini k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6lerek (batch delete) veya veritaban\u0131 bak\u0131m pencerelerinde \u00e7al\u0131\u015ft\u0131rmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<p><strong>S5: Bir tablonun sadece verilerini silip \u015femas\u0131n\u0131 korumak m\u00fcmk\u00fcn m\u00fc?<\/strong><br \/>\nC5: Evet, bu hem <code>DELETE FROM tablo_adi;<\/code> (<code>WHERE<\/code> ko\u015fulsuz) hem de <code>TRUNCATE TABLE tablo_adi;<\/code> komutlar\u0131yla m\u00fcmk\u00fcnd\u00fcr. Her iki komut da tablonun yap\u0131s\u0131n\u0131 (s\u00fctun tan\u0131mlar\u0131, indeksler, k\u0131s\u0131tlamalar vb.) korurken, i\u00e7indeki t\u00fcm verileri siler. <code>TRUNCATE TABLE<\/code> bu i\u015flem i\u00e7in genellikle daha h\u0131zl\u0131 ve verimli bir yoldur.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber\nVeritabanlar\u0131nda veri depolamak kadar, art\u0131k ihtiya\u00e7 duyulmayan veya g\u00fcncelli\u011fini yitirmi\u015f verileri g","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1505],"tags":[],"class_list":{"0":"post-37383","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-sql-2","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL&#039;de Veri Silme: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL&#039;de Veri Silme: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"SQL&#039;de Veri Silme: Kapsaml\u0131 Bir Rehber Veritabanlar\u0131nda veri depolamak kadar, art\u0131k ihtiya\u00e7 duyulmayan veya g\u00fcncelli\u011fini yitirmi\u015f verileri g\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-02T12:41:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2026-01-02T12:41:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\"},\"wordCount\":1553,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"SQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\",\"name\":\"SQL'de Veri Silme: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-02T12:41:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL'de Veri Silme: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"SQL'de Veri Silme: Kapsaml\u0131 Bir Rehber","og_description":"SQL'de Veri Silme: Kapsaml\u0131 Bir Rehber Veritabanlar\u0131nda veri depolamak kadar, art\u0131k ihtiya\u00e7 duyulmayan veya g\u00fcncelli\u011fini yitirmi\u015f verileri g","og_url":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-02T12:41:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"9 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber","datePublished":"2026-01-02T12:41:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/"},"wordCount":1553,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["SQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/","name":"SQL'de Veri Silme: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-02T12:41:14+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sqlde-veri-silme-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL&#8217;de Veri Silme: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37383"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37383\/revisions"}],"predecessor-version":[{"id":37384,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37383\/revisions\/37384"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}