MySQL INSERT INTO Query: Tabloya Satır Nasıl Eklenir (Örnek)
INSERT INTO nedir?
TAKIN Verilerin tablolarda saklanması için kullanılır. INSERT komutu, verileri depolamak için tabloda 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 tipleri- tüm sayısal değerler tek veya çift tırnak içine alınmadan doğrudan sağlanmalıdır.
- Tarih veri türleri – tarih değerlerini 'YYYY-AA-GG' biçiminde tek tırnak içine alın.
Örnek:
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 | Fairview | 0938867763 | |||
Leslie Winkle | 14/02/1984 | Erkek | 0987636553 | |||
Howard Wolowitz | 24/08/1981 | Erkek | South Park | PO Box 4563 | 0987786553 | lwolowitz@e-posta.me |
Verileri tek tek INSERT edelim. Leonard Hofstadter'la başlayacağız. İrtibat numarasını sayısal bir 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 betiğin çalıştırılması Leonard'ın iletişim numarasındaki 0'ı düşürür. Bunun nedeni, değerin sayısal bir değer olarak ele alınması ve başlangıçtaki sıfırın (0) anlamlı olmaması nedeniyle atılmasıdır.
Bu tür sorunları önlemek için değer aşağıda gösterildiği 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');
Yukarıdaki durumda sıfır(0) düşürülmeyecektir.
Sütunların sırasını değiştirmenin INSERT sorgusu üzerinde hiçbir etkisi yoktur. MySQL doğru değerler doğru sütunlarla eşleştirildiği sürece.
Aşağıda gösterilen sorgu yukarıdaki 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 sorgusunda atlanan sütunlara NULL değerleri ekleyecektir.
Şimdi Leslie'nin doğum tarihini içeren kaydını ekleyelim. Tarih değeri 'YYYY-AA-GG' formatı kullanılarak 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');
Yukarıdaki sorguların tümü sütunları belirledi ve bunları sütundaki değerlerle eşleştirdi. MySQL beyanı ekleyin. Tablodaki TÜM sütunlara değer sağlıyorsak, sütunları tablodan çıkarabiliriz. MySQL sorgu ekleyin.
Örnek:-
INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24', 'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz[at]email.me');
Şimdi şunu kullanalım SELECT ifadesi Üyenin 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 |
Leonard Hofstadter'in iletişim numarasının iletişim numarasından sıfırı (0) düşürdüğüne dikkat edin. Diğer irtibat numaraları başlangıçta sıfırı (0) düşürmediler.
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 pratik bir örneğe bakalım. Gösterim amaçlı film kategorileri için bir kukla tablo oluşturacağız. Yeni kategori tablosuna categories_archive adını vereceğiz. Aşağıda gösterilen betik 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`))
Tabloyu oluşturmak için yukarıdaki betiği çalıştırın.
Şimdi kategoriler tablosundaki tüm satırları kategoriler arşiv tablosuna ekleyelim. Aşağıda gösterilen betik bunu başarmamıza yardımcı olur.
INSERT INTO `categories_archive` SELECT * FROM `categories`;
Yukarıdaki betiği çalıştırmak, kategoriler tablosundaki tüm satırları kategoriler arşiv tablosuna ekler. Betiğin çalışması için tablo yapılarının aynı olması gerektiğini unutmayın. Daha sağlam bir betik, ekleme tablosundaki sütun adlarını verileri içeren tablodaki adlara eşleyen bir betiktir.
Aşağıda gösterilen sorgu, kullanımını göstermektedir.
INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;
SELECT sorgusunu yürütme
SELECT * FROM `categories_archive`
aşağıda gösterilen sonuçları verir.
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 sorguları.
SQL insert into table fonksiyonu aşağıdaki sorgu tiplerini yürütmek için kullanılabilir:
- Ekle
- Seç
- Güncelle
- silmek
Söz dizimi şu şekildedir.
mysqli_query($db_handle,$query);
İŞTE,
“mysqli_query(…)” SQL sorgularını yürüten fonksiyondur.
“$query” yürütülecek SQL sorgusudur
“$link_identifier” isteğe bağlıdır, sunucu bağlantı bağlantısını iletmek için kullanılabilir
Ö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); } }
ÖZET
- INSERT komutu tabloya yeni veri eklemek için kullanılır. Komut yürütüldüğünde MySql yeni bir satır ekleyecektir.
- Tarih ve dize değerleri tek tırnak içine alınmalıdır.
- Sayısal değerlerin tırnak içine alınmasına gerek yoktur.
- INSERT komutu aynı zamanda bir tablodan diğerine veri eklemek için de kullanılabilir.