MySQL INSERT INTO Query: Tabloda Satır Ekleme (Örnek)

İçindekiler:

Anonim

INSERT INTO nedir?

INSERT INTO , verileri tablolarda saklamak için kullanılır. INSERT komutu, verileri depolamak için tabloda yeni bir satır oluşturur. Veriler genellikle veritabanının üzerinde çalışan uygulama programları tarafından sağlanır.

Temel sözdizimi

INSERT INTO MySQL komutunun temel sözdizimine bakalım:

INSERT INTO `tablo_adı` (sütun_1, sütun_2,…) DEĞERLER (değer_1, değer_2,…);

İŞTE

  • INSERT INTO "tablo_adı", MySQL sunucusuna "tablo_adı" adlı bir tabloya yeni bir satır eklemesini söyleyen komuttur.
  • (sütun_1, sütun_2,…) yeni MySQL satırında güncellenecek sütunları belirtir
  • 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ğıdakiler dikkate alınmalıdır:

  • 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 sağlanmalıdır.
  • Tarih veri türleri - tarih değerlerini 'YYYY-AA-GG' biçiminde tek tırnak içine alın.

Misal:

Veritabanına eklenmesi gereken aşağıdaki yeni kütüphane üyeleri listesine sahip olduğumuzu varsayalım.

Tam isimler Doğum tarihi Cinsiyet Fiziksel adres posta adresi İletişim numarası E
Leonard Hofstadter Erkek Woodcrest 0845738767
Sheldon Cooper Erkek Woodcrest 0976736763
Rajesh Koothrappali Erkek Fairview 0938867763
Leslie Winkle 14/02/1984 Erkek 0987636553
Howard Wolowitz 24/08/1981 Erkek Güney Parkı Posta Kutusu 4563 0987786553 Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir.

Verileri tek tek EKLEYelim. Leonard Hofstadter ile başlayacağız. İletişim numarasını sayısal bir veri türü olarak ele alacağız ve numarayı tek tırnak içine almayacağız.

INSERT INTO "üyeler" ("tam_adlar", "cinsiyet", "fiziksel_adres", "iletişim_numarası") DEĞERLER ('Leonard Hofstadter', 'Erkek', 'Woodcrest', 0845738767);

Yukarıdaki komut dosyasını çalıştırmak, Leonard'ın iletişim numarasından 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ı olmadığı için 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 "üyeler" ("tam_adlar", "cinsiyet", "fiziksel_adres", "iletişim_numarası") DEĞERLER ('Sheldon Cooper', 'Erkek', 'Woodcrest', '0976736763'); 

Yukarıdaki durumda sıfır (0) düşürülemeyecektir

Doğru değerler doğru sütunlarla eşleştirildiği sürece sütunların sırasını değiştirmenin MySQL'deki INSERT sorgusu üzerinde hiçbir etkisi yoktur.

Aşağıda gösterilen sorgu, yukarıdaki noktayı göstermektedir.

INSERT INTO "üyeler" ("iletişim_numarası", "cinsiyet", "tam_adlar", "fiziksel_adres") DEĞERLER ('0938867763', 'Erkek', 'Rajesh Koothrappali', 'Woodcrest');

Yukarıdaki sorgular doğum tarihi sütununu atladı. Varsayılan olarak MySQL, INSERT sorgusunda ihmal edilen sütunlara NULL değerler ekler.

Şimdi doğum tarihi verilen Leslie kaydını ekleyelim. Tarih değeri, 'YYYY-AA-GG' biçimi kullanılarak tek tırnak içine alınmalıdır.

INSERT INTO "üyeler" ("tam_adlar", "doğum_tarihi", "cinsiyet", "fiziksel_adres", "iletişim_numarası") DEĞERLER ('Leslie Winkle', '1984-02-14', 'Erkek', 'Woodcrest', ' 0987636553 '); 

Yukarıdaki sorguların tümü sütunları belirledi ve bunları MySQL insert ifadesindeki değerlere eşledi. Tablodaki TÜM sütunlar için değerler sağlıyorsak, MySQL ekleme sorgusundaki sütunları çıkarabiliriz.

Misal:-

INSERT INTO "members` VALUES (9, 'Howard Wolowitz', 'Male', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;

Şimdi üye tablosundaki tüm satırları görüntülemek için SELECT deyimini kullanalım.

SELECT * FROM `members`; 
Üye numarası tam_ isimler Cinsiyet doğum tarihi fiziksel adres posta adresi contct_ number e-posta
1 Janet Jones Kadın 21-07-1980 Birinci Cadde Parsel No 4 Özel Çanta 0759 253 542 Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir.
2 Janet Smith Jones Kadın 23-06-1980 Melrose 123 BOŞ BOŞ Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir.
3 Robert Phil Erkek 12-07-1989 3. Sokak 34 BOŞ 12345 Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir.
4 Gloria Williams Kadın 14-02-1984 2. Cadde 23 BOŞ BOŞ BOŞ
5 Leonard Hofstadter Erkek BOŞ Woodcrest BOŞ 845738767 BOŞ
6 Sheldon Cooper Erkek BOŞ Woodcrest BOŞ 976736763 BOŞ
7 Rajesh Koothrappali Erkek BOŞ Woodcrest BOŞ 938867763 BOŞ
8 Leslie Winkle Erkek 14-02-1984 Woodcrest BOŞ 987636553 BOŞ
9 Howard Wolowitz Erkek 24-08-1981 Güney Parkı Posta Kutusu 4563 987786553 Bu e-posta adresi spambot'lardan korunuyor. Görüntülemek için JavaScript'in etkin olması gerekir.

Leonard Hofstadter'ın irtibat numarasının, irtibat numarasından sıfırı (0) düşürdüğüne dikkat edin. Diğer kontak numaraları başlangıçta sıfırı (0) düşürmemiştir.

Başka bir Tablodan Tabloya Eklemek

INSERT komutu, 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. Tanıtım amaçlı film kategorileri için sahte bir tablo oluşturacağız. Yeni kategoriler tablosunu kategoriler_arşi olarak adlandıracağız. Aşağıda gösterilen komut dosyası tabloyu oluşturur.

CREATE TABLE "kategoriler_arşi" ("kategori_kimliği` int (11) AUTO_INCREMENT," kategori_adı` varchar (150) VARSAYILAN NULL, "açıklamalar` varchar (500) VARSAYILAN BOŞ, BİRİNCİL ANAHTAR (" kategori_kimliği`)) 

Tabloyu oluşturmak için yukarıdaki komut dosyasını çalıştırın.

Şimdi kategoriler tablosundaki tüm satırları kategori arşiv tablosuna ekleyelim. Aşağıda gösterilen komut dosyası, bunu başarmamıza yardımcı olur.

INSERT INTO "kategoriler" SEÇİN * "kategoriler"; 

Yukarıdaki komut dosyasını çalıştırmak, kategoriler tablosundaki tüm satırları kategori arşiv tablosuna ekler. Komut dosyasının çalışması için tablo yapılarının aynı olması gerektiğini unutmayın. Daha sağlam bir komut dosyası, ekleme tablosundaki sütun adlarını, verileri içeren tablodakilerle eşleştiren koddur.

Aşağıda gösterilen sorgu, kullanımını gösterir.

INSERT INTO "kategoriler_arşi" (kategori_kimliği, kategori_adı, açıklamalar) SELECT kategori_id, kategori_adı, "kategorilerden" açıklamalar ";

SELECT sorgusunu yürütmek

SEÇİN * "kategoriler_arşi"

aşağıda gösterilen aşağıdaki sonuçları verir.

kimlik kategorisi Kategori adı Uyarılar
1 Komedi Mizah içeren filmler
2 Romantik Aşk hikayeleri
3 Epik Kısa hikaye filmleri
4 Korku BOŞ
5 Bilimkurgu BOŞ
6 Gerilim BOŞ
7 Aksiyon BOŞ
8 Romantik Komedi BOŞ
9 Çizgi filmler BOŞ
10 Çizgi filmler BOŞ

PHP Örneği: MySQL Tablosuna Ekle

Mysqli_query işlevi, SQL sorgularını yürütmek için kullanılır.

İşlev, aşağıdaki sorgu türlerini yürütmek için kullanılabilir;

  • Ekle
  • Seçiniz
  • Güncelleme
  • sil

Aşağıdaki sözdizimine sahiptir.

mysqli_query($db_handle,$query);

İŞTE,

"mysqli_query (

…) "SQL sorgularını yürüten işlevdir.

"$ sorgu" 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

Misal

$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$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".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Özet

  • INSERT komutu, bir tabloya yeni veri eklemek için kullanılır. MySql, komut yürütüldüğünde 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ı gerekmez.
  • INSERT komutu, bir tablodan diğerine veri eklemek için de kullanılabilir.