MySQL INSERT INTO Query: Tabloya Satır Nasıl Eklenir (Örnek)
⚡ Akıllı Özet
MySQL INSERT INTO sorgusu, hedef sütunları açıkça adlandırarak veya her sütun için bir değer sağlayarak bir tabloya yeni satırlar ekler. Dizeler, sayılar ve tarihlerin doğru şekilde tırnak içine alınması, saklanan verilerin bozulmadan korunup korunmayacağını belirler.
INSERT INTO nedir?
TAKIN Veritabanı, tablolarda veri depolamak için kullanılır. INSERT komutu, veri depolamak için tabloya yeni bir satır oluşturur. Veriler genellikle veritabanı üzerinde çalışan uygulama programları tarafından sağlanır.
Temel sözdizimi
INSERT INTO'nun temel sözdizimine bakalım MySQL komut:
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
İŞTE
- INSERT INTO `tablo_adı` bunu söyleyen komuttur MySQL sunucusunun `tablo_adı' adlı tabloya yeni bir satır eklemesini sağlayın.
- (sütun_1,sütun_2,…) yeni sütunda güncellenecek sütunları belirtir MySQL sıra
- VALUES (değer_1, değer_2,…) yeni satıra eklenecek değerleri belirtir
Yeni tabloya eklenecek veri değerleri sağlanırken aşağıdakilere dikkat edilmelidir:
- Dize veri türleri – tüm dize değerleri tek tırnak içine alınmalıdır.
- Sayısal veri türleri – tüm sayısal değerler tek veya çift tırnak içine alınmadan doğrudan verilmelidir.
- Tarih veri türleri – tarih değerlerini 'YYYY-AA-GG' biçiminde tek tırnak içine alın.
Aynı Anda Birden Çok Satır Ekleme
Tek bir INSERT sorgusu birden fazla satır içerebilir. Her değer kümesini virgülle ayırın. Tek bir sorgu, birden fazla sorgudan daha hızlıdır çünkü indeks yalnızca bir kez güncellenir.
INSERT INTO `categories`(`category_name`,`remarks`) VALUES ('Documentary', 'Factual films'), ('Musical', 'Song driven films');
MySQL INSERT INTO Sorgu Örneği
Veritabanına eklenmesi gereken yeni kütüphane üyelerinin aşağıdaki listeye sahip olduğunu varsayalım.
| Tam isimler | Doğum tarihi | cinsiyet | Fiziksel adres | posta adresi | İletişim numarası | Eposta Adresi |
|---|---|---|---|---|---|---|
| Leonard Hofstadter | Erkek | Ağaç tepesi | 0845738767 | |||
| Sheldon Cooper | Erkek | Ağaç tepesi | 0976736763 | |||
| Rajesh Koothrappali | Erkek | Ağaç tepesi | 0938867763 | |||
| Leslie Winkle | 14/02/1984 | Erkek | Ağaç tepesi | 0987636553 | ||
| Howard Wolowitz | 24/08/1981 | Erkek | Güney Parkı | PO Box 4563 | 0987786553 | lwolowitz@e-posta.me |
Leonard Hofstadter'dan başlayarak verileri satır satır ekleyelim. İletişim numarasını sayısal veri türü olarak ele alacağız ve numarayı tek tırnak içine almayacağız.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);
Yukarıdaki komut dosyasını çalıştırmak, Leonard'ın iletişim numarasındaki 0'ı kaldırır, çünkü değer sayısal olarak ele alınır ve baştaki sıfırın önemi yoktur.
Bu tür sorunlardan kaçınmak için, değer aşağıdaki gibi tek tırnak içine alınmalıdır.
INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');
⚠️ İpucu: Telefon numaralarını, posta kodlarını ve benzer tanımlayıcıları VARCHAR gibi bir metin sütununda saklayın. Sayısal sütunlarda baştaki sıfır saklanamaz.
Sütun Sırasını Değiştirme
Sütunların sırasını değiştirmenin INSERT sorgusu üzerinde hiçbir etkisi yoktur. MySQLDoğru değerler doğru sütunlara eşleştirildiği sürece sorun yok. Aşağıdaki sorgu bu noktayı göstermektedir.
INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');
Yukarıdaki sorgularda doğum tarihi sütunu atlandı. Varsayılan olarak, MySQL INSERT sorgusundan çıkarılan sütunlara NULL değerleri ekler.
Şimdi, doğum tarihi girilmiş olan Leslie'nin kaydını ekleyelim. Tarih değeri, 'YYYY-MM-DD' formatında tek tırnak içine alınmalıdır.
INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');
Sütun Listesini Atlamak
Yukarıdaki sorguların tümü sütunları adlandırdı ve bunları değerlere eşleştirdi. Tablodaki TÜM sütunlar için değerler sağlarsak, sütun listesi atlanabilir. MySQL sorgu ekleyin.
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');
Şimdi şunu kullanalım SELECT ifadesi Üyeler tablosundaki tüm satırları görüntülemek için.
SELECT * FROM `members`;
| Üye numarası | tam_ adlar | cinsiyet | doğum tarihi | fiziksel adres | posta adresi | iletişim_ numarası | E-posta |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Kadın | 21-07-1980 | 4. Sokak Parsel No:XNUMX | Özel Çanta | +0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Kadın | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Erkek | 12-07-1989 | 3. Sokak 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Kadın | 14-02-1984 | 2. Sokak 23 | NULL | NULL | NULL |
| 5 | Leonard Hofstadter | Erkek | NULL | Ağaç tepesi | NULL | 845738767 | NULL |
| 6 | Sheldon Cooper | Erkek | NULL | Ağaç tepesi | NULL | 0976736763 | NULL |
| 7 | Rajesh Koothrappali | Erkek | NULL | Ağaç tepesi | NULL | 0938867763 | NULL |
| 8 | Leslie Winkle | Erkek | 14-02-1984 | Ağaç tepesi | NULL | 0987636553 | NULL |
| 9 | Howard Wolowitz | Erkek | 24-08-1981 | Güney Parkı | PO Box 4563 | 0987786553 | lwolowitz@e-posta.me |
Dikkat ederseniz, Leonard Hofstadter'ın iletişim numarasının başındaki sıfır, tam da tahmin edildiği gibi düşmüş. Alıntı yapılan numaralarda ise sıfır korunmuş.
Başka bir Tablodan Tabloya Ekleme
INSERT komutu aynı zamanda başka bir tablodan bir tabloya veri eklemek için de kullanılabilir. Temel sözdizimi aşağıda gösterildiği gibidir.
INSERT INTO table_1 SELECT * FROM table_2;
Şimdi, categories_archive adında film kategorileri için bir örnek tablo oluşturacağız. Aşağıdaki kod parçası bunu yapacaktır. tabloyu oluşturur.
CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))
Yukarıdaki komutu çalıştırarak tabloyu oluşturun. Şimdi kategori tablosundaki tüm satırları kategori arşiv tablosuna ekleyelim.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Bu betiğin çalışması için tablo yapılarının aynı olması gerekir. Daha sağlam bir betik, aşağıda gösterildiği gibi, hedef tablodaki sütun adlarını verileri içeren tablodaki sütun adlarıyla eşleştirir.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
Aşağıdaki SELECT sorgusunu çalıştırmak şu sonuçları verir.
SELECT * FROM `categories_archive`;
| kimlik kategorisi | category_name | Uyarılar |
|---|---|---|
| 1 | Komedi | Mizah içeren filmler |
| 2 | Romantik | Aşk hikayeleri |
| 3 | Destansı | Hikaye antik filmler |
| 4 | Korku | NULL |
| 5 | Bilimkurgu | NULL |
| 6 | Gerilim | NULL |
| 7 | Action | NULL |
| 8 | Romantik Komedi | NULL |
| 9 | Çizgi filmler | NULL |
| 10 | Çizgi filmler | NULL |
PHP Örnek: içine ekle MySQL tablo
Mysqli_query işlevi yürütmek için kullanılır SQL PHP'den gelen sorguları çalıştırır. Insert, Select, Update ve Delete ifadelerini aynı şekilde çalıştırır ve aşağıdaki sözdizimine sahiptir.
mysqli_query($db_handle,$query);
İŞTE,
- “mysqli_query(…)” SQL sorgularını yürüten fonksiyondur.
- “$query”, yürütülecek SQL sorgusudur.
- “$db_handle”, mysqli_connect tarafından döndürülen sunucu bağlantı linkidir.
Örnek E-posta
$servername = "localhost"; $username = "alex"; $password = "yPXuPT"; $dbname = "afmznf"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully" . '<br>'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }

