{"id":3473,"date":"2024-02-16T11:24:53","date_gmt":"2024-02-16T08:24:53","guid":{"rendered":"https:\/\/blog.inetmar.com\/?p=3473"},"modified":"2024-07-27T16:28:54","modified_gmt":"2024-07-27T13:28:54","slug":"sql-bir-tablodan-baska-bir-tabloya-veri-aktarimi","status":"publish","type":"post","link":"https:\/\/www.inetmar.com\/blog\/sql-bir-tablodan-baska-bir-tabloya-veri-aktarimi\/","title":{"rendered":"SQL Bir Tablodan Ba\u015fka Bir Tabloya Veri Aktar\u0131m\u0131"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\">SQL Bir Tablodan Ba\u015fka Bir Tabloya Veri Aktar\u0131m\u0131<\/h2>\r\n\r\n\r\n\r\n<p>SQL\u2019de veri aktar\u0131m\u0131, bir tablodan ba\u015fka bir tabloya veri kopyalama i\u015flemi anlam\u0131na gelir. Bug\u00fcn SQL\u2019de bir tablodan ba\u015fka bir tabloya veri aktar\u0131m\u0131 konusunu ele alaca\u011f\u0131z ve bu i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in kullan\u0131labilecek SQL komutlar\u0131ndan bahsedece\u011fim.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">1. INSERT INTO SELECT Komutu<\/h3>\r\n\r\n\r\n\r\n<p>INSERT INTO SELECT komutu, bir tablodan ba\u015fka bir tabloya veri aktar\u0131m\u0131 i\u00e7in en basit ve yayg\u0131n kullan\u0131lan y\u00f6ntemdir. Bu komut, belirli bir sorgu sonucunda d\u00f6nen veri setini hedef tabloya ekler.<\/p>\r\n\r\n\r\n\r\n<p>\u00d6rne\u011fin, bir m\u00fc\u015fteri tablosundan sadece belirli bir \u015fehirde ya\u015fayan m\u00fc\u015fterilerin verilerini ba\u015fka bir tabloya aktarmak istedi\u011finizi varsayal\u0131m. A\u015fa\u011f\u0131daki SQL komutunu kullanarak bu i\u015flemi ger\u00e7ekle\u015ftirebilirsiniz:<br \/><br \/><strong>INSERT INTO yeni_tablo (sutun1, sutun2, sutun3, &#8230;) SELECT sutun1, sutun2, sutun3, &#8230; FROM eski_tablo WHERE \u015fartlar;<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Bu komut, eski_tablo&#8217;da belirli \u015fartlar\u0131 kar\u015f\u0131layan verileri se\u00e7er ve bu verileri yeni_tablo&#8217;ya kopyalar.<\/p>\r\n\r\n\r\n\r\n<p>Bu y\u00f6ntem, verileri tek bir tablodan di\u011ferine kopyalamak i\u00e7in olduk\u00e7a etkilidir, ancak hedef tabloya veri eklenmesi gereken her seferinde komutu tekrar \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">2. INSERT INTO ve INNER JOIN Kullanma<\/h3>\r\n\r\n\r\n\r\n<p>Baz\u0131 durumlarda, veri aktar\u0131m\u0131 yaparken kaynak tablo ile hedef tablo aras\u0131nda e\u015fle\u015fen alanlar\u0131 kullanmak isteyebilirsiniz. Bu durumda, INSERT INTO ve INNER JOIN komutlar\u0131n\u0131 birlikte kullanabilirsiniz.<\/p>\r\n\r\n\r\n\r\n<p>\u00d6rne\u011fin, bir m\u00fc\u015fteri tablosundan sadece belirli bir \u015fehirde ya\u015fayan m\u00fc\u015fterilerin verilerini ba\u015fka bir tabloya aktarmak istedi\u011finizi varsayal\u0131m. A\u015fa\u011f\u0131daki SQL komutunu kullanarak bu i\u015flemi ger\u00e7ekle\u015ftirebilirsiniz:<br \/><strong><br \/>INSERT INTO yeni_tablo (sutun1, sutun2, sutun3, &#8230;) SELECT eski_tablo.sutun1, eski_tablo.sutun2, eski_tablo. sutun3, &#8230; FROM eski_tablo INNER JOIN hedef_tablo ON eski_tablo.e\u015fle\u015fen_alan = hedef_tablo.e\u015fle\u015fen_alan WHERE \u015fartlar;<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Bu komut, eski_tablo ile hedef_tablo aras\u0131nda e\u015fle\u015fen alanlar\u0131 kullanarak veri aktar\u0131m\u0131 yapar. Sadece belirli \u015fartlar\u0131 kar\u015f\u0131layan verileri se\u00e7er ve bu verileri yeni_tablo&#8217;ya kopyalar.<\/p>\r\n\r\n\r\n\r\n<p>Bu y\u00f6ntem, kaynak tablo ile hedef tablo aras\u0131ndaki ili\u015fkiyi kullanarak veri aktar\u0131m\u0131 yapman\u0131za olanak sa\u011flar.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">3. BULK INSERT Kullanma<\/h3>\r\n\r\n\r\n\r\n<p>BULK INSERT, bir tablodan ba\u015fka bir tabloya toplu veri aktar\u0131m\u0131 yapmak i\u00e7in kullan\u0131lan bir SQL komutudur. Bu komut, bir dosyadaki verileri hedef tabloya aktarman\u0131z\u0131 sa\u011flar.<\/p>\r\n\r\n\r\n\r\n<p>BULK INSERT komutu, a\u015fa\u011f\u0131daki \u015fekilde kullan\u0131l\u0131r:<br \/><br \/><strong>BULK INSERT hedef_tablo FROM &#8216;dosya_yolu&#8217; WITH ( FIELDTERMINATOR = &#8216;ay\u0131r\u0131c\u0131&#8217;, ROWTERMINATOR = &#8216;sat\u0131r_ay\u0131r\u0131c\u0131s\u0131&#8217; );<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Bu komut, belirli bir dosyadaki verileri hedef_tablo&#8217;ya aktar\u0131r. FIELDTERMINATOR ve ROWTERMINATOR parametreleri, dosyan\u0131n i\u00e7eri\u011fini nas\u0131l ay\u0131racaklar\u0131n\u0131 belirtir. Bu parametreleri dosyan\u0131n yap\u0131s\u0131na g\u00f6re ayarlamal\u0131s\u0131n\u0131z.<\/p>\r\n\r\n\r\n\r\n<p>BULK INSERT komutu, b\u00fcy\u00fck miktarda veriyi h\u0131zl\u0131 bir \u015fekilde aktarman\u0131z\u0131 sa\u011flar. Ancak, bu komutun kullan\u0131m\u0131 baz\u0131 g\u00fcvenlik risklerine neden olabilir, bu nedenle dikkatli olman\u0131z \u00f6nemlidir.<\/p>\r\n\r\n\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">S\u0131k\u00e7a Sorulan Sorular<\/h2>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\">1. SQL\u2019de bir tablodan ba\u015fka bir tabloya veri aktar\u0131m\u0131 i\u00e7in ba\u015fka hangi komutlar kullan\u0131labilir?<\/h4>\r\n\r\n\r\n\r\n<p>SQL\u2019de bir tablodan ba\u015fka bir tabloya veri aktar\u0131m\u0131 i\u00e7in ba\u015fka komutlar da kullan\u0131labilir. \u00d6rne\u011fin, UPDATE komutu, mevcut bir tablodaki verileri ba\u015fka bir tabloya g\u00fcncellemek i\u00e7in kullan\u0131labilir. DELETE komutu ise bir tablodan veri silmek i\u00e7in kullan\u0131labilir. Hangi komutun kullan\u0131laca\u011f\u0131, veri aktar\u0131m\u0131 senaryosuna ba\u011fl\u0131d\u0131r.<\/p>\r\n\r\n<p style=\"text-align: center;\"><a class=\"waffle-rich-text-link\" href=\"https:\/\/www.inetmar.com\/kurumsal-e-posta\/\">Kurumsal e-posta<\/a> ihtiya\u00e7lar\u0131n\u0131za \u00f6zel paketlerimizi de\u011ferlendirin.<\/p>","protected":false},"excerpt":{"rendered":"<p>SQL Bir Tablodan Ba\u015fka Bir Tabloya Veri Aktar\u0131m\u0131 SQL\u2019de veri aktar\u0131m\u0131, bir tablodan ba\u015fka bir tabloya veri kopyalama i\u015flemi anlam\u0131na gelir. Bug\u00fcn SQL\u2019de bir tablodan ba\u015fka bir tabloya veri aktar\u0131m\u0131 konusunu ele alaca\u011f\u0131z ve bu&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":5599,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54,26],"tags":[],"class_list":["post-3473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysqlserver","category-sql-server"],"_links":{"self":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/3473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/comments?post=3473"}],"version-history":[{"count":8,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/3473\/revisions"}],"predecessor-version":[{"id":9516,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/3473\/revisions\/9516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/media\/5599"}],"wp:attachment":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/media?parent=3473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/categories?post=3473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/tags?post=3473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}