mysql insert into table insert statement syntax examples
Bu Öğretici, Sorgu Sözdizimi ve Örneklerle birlikte MYSQL INSERT INTO Tablo İfadesini Açıklar. Ayrıca, MYSQL Ekleme Komutunun Farklı Varyasyonlarını Öğrenin:
MySQL'de tabloya veri eklemek için INSERT komutu kullanılır. Bu komutu kullanarak, tek bir işlemde bir veya birden fazla satıra veri ekleyebiliriz. Ayrıca, tek bir işlemde bir veya birden fazla tabloya veri eklenebilir.
Tüm bunları ilerleyen bölümlerde inceleyeceğiz. Devam etmeden önce, lütfen MySQL 8.0 sürümünü kullandığımızı unutmayın. Buradan indirebilirsiniz İşte .
Ne öğreneceksin:
- MySQL INSERT Komut Sözdizimi
- MySQL INSERT İfadesi Varyasyonları
- Sıkça Sorulan Sorular ve Cevaplar
- Sonuç
MySQL INSERT Komut Sözdizimi
INSERT (LOW_PRIORITY|DELAYED|HIGH_PRIORITY)(IGNORE) INTO tablename (column1, column2, column3...) VALUES (value1, value2, value3, ....);
Sözdizimi Açıklaması:
- Sözdizimi “INSERT INTO” anahtar sözcüğü ile başlar, böylece MySQL Sunucusunu gerçekleştirilecek etkinlik türü hakkında bilgilendirir. Bu zorunlu bir anahtar kelimedir ve ihmal edilemez.
- Ardından, ekleme işleminin gerçekleştirilmesi gereken tablonun adı gelir. Bu zorunludur ve ihmal edilemez.
- Ardından, karşılık gelen değerlerle birlikte eklenecek sütun adları olacaktır. Yine, bu da zorunludur ve ihmal edilemez.
- Ardından, değerler cümlesi olacak. Bu maddede, tabloya eklediğimiz her sütun için değer sağlanmalıdır. Değerlerin sırası ve sütun adlarının sırası uyumlu olmalıdır.
- Sütunların sayısı ve veri türleri, değerlerle aynı olmalıdır.
INSERT İfadesinde Değiştiriciler
- DÜŞÜK ÖNCELİKLİ: Bu değiştirici MySQL Motoruna INSERT ifadesinin yürütülmesini INSERT yapmaya çalıştığımız tablodan okuma ile bağlantı kalmayana kadar geciktirmesi için bilgilendirir. Bu, o masada gerçekleştirilecek diğer tüm işlemlerde tutarlılığın sağlanmasına yardımcı olur.
- YÜKSEK ÖNCELİK: Bu değiştirici, MySQL Motorunu INSERT ifadesine diğer herhangi bir ifadeye göre yüksek öncelik vermesi için bilgilendirir / işlem bu masada icra ediliyor.
- ALDIRMAMAK: Bu değiştirici, INSERT ifadesinin yürütülmesi nedeniyle ortaya çıkabilecek hataları göz ardı etmesi için MySQL Motorunu bilgilendirir. Ortaya çıkan herhangi bir hata yalnızca uyarı olarak değerlendirilir ve tabloya kayıtların eklenmesi engellenmeden devam eder.
- GECİKME: Bu, standart SQL'in MySQL uzantısıdır. INSERT DELAYED kullanıcı tarafından verildiğinde, sunucu tüm satırları sıraya koyar ve veriler daha sonra tablo başka herhangi bir işlem tarafından kullanılmadığında tabloya eklenir.
MySQL INSERT Örneği
Aşağıdaki, MySQL'de oluşturulmuş örnek bir tablodur.
Şema Adı: Pasifik
Tablo ismi: çalışanlar
Sütun Adları:
- empNum - Çalışan sayısı için tam sayı değerlerini tutar.
- lastName - Çalışanın soyadı için varchar değerlerini tutar.
- firstName - Çalışanın adı için varchar değerlerini tutar.
- email - Çalışanın e-posta kimliği için varchar değerlerini içerir.
- deptNum - Bir çalışanın ait olduğu departman kimliği için varchar tutar.
- maaş - Her çalışan için maaşın ondalık değerlerini içerir.
- başlangıç_tarihi - Çalışanın katılım tarihi için tarih değerlerini tutar.
Şema Adı: Pasifik
Tablo ismi: staff_history
Sütun Adları:
- empNum - Çalışan sayısı için tam sayı değerlerini tutar.
- lastName - Çalışanın soyadı için varchar değerlerini tutar.
- firstName - Çalışanın adı için varchar değerlerini tutar.
- email - Çalışanın e-posta kimliği için varchar değerlerini içerir.
- deptNum - Bir çalışanın ait olduğu departman kimliği için varchar tutar.
- maaş - Her çalışan için ondalık maaş değerlerini içerir.
- başlangıç_tarihi - Çalışanın katılım tarihi için tarih değerlerini tutar.
MySQL INSERT İfadesi Varyasyonları
# 1) MySQL Tek Satır Ekleme
İlk olarak, hem sütun adlarını hem de INSERT INTO anahtar sözcüğünü kullanarak eklenecek değerleri belirlediğimiz bir senaryoya bakacağız.
Örneğin, Burada yeni bir çalışan yerleştirmeye çalışacağız. Çalışan numarasını, adını ve soyadını ekleyeceğiz, bununla birlikte yeni çalışanın ait olması gereken e-posta kimliğini, maaşını ve departman kimliğini de güncelleyeceğiz.
Sorgu ve ilgili sonuçlar aşağıdaki gibidir:
Yukarıdaki resimde gösterildiği gibi, INSERT ifadesi başarılı bir şekilde yürütülmüştür ve çalışanın tablosuna bir satır eklenmiştir.
Aşağıdaki çıktı ifadesi, ifadenin yürütüldüğü zamanı, yürütülen MySQL ifadesini ve etkilenen satır sayısını gösterir.
Lütfen buraya dikkat edin, her sütunun değeri, sütun adlarıyla aynı sırada belirtilir. Ayrıca, tamsayı / ondalık veri türüne sahip sütunun ters virgülle çevrilmediğine, ancak varchar / char veri türüne sahip sütun türlerinin ters virgüllerle çevrildiğine dikkat edin.
Bu INSERT deyiminin çıktısını doğrulamak için, bu tablodaki SELECT deyimini empNum 1012 ile çalıştıralım.
Sorgu:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES ( 1012, 'Luther', 'Martin', 'ml@gmail.com', 3, 13000 ) ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş | |
---|---|---|---|---|---|---|
1007 | Schmitt | James | js@gmail.com | 4 | 21780 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 |
# 2) MySQL Verileri Yalnızca Belirtilen Sütuna Ekleme
Sonraki, bir tabloya veri eklemenin başka bir yoludur, ancak kayıtları tüm sütunlara değil, yalnızca gerekli sütunlara ekleyerek. Ancak, lütfen bu senaryodaki ana sütunları çıkaramayacağımızı unutmayın. Çalışanımızın masası durumunda, anahtar sütun empNum sütunudur. Bunu deneyelim.
Örneğin, Çalışan tablosuna sadece empNum, lastName, firstName verileriyle yeni bir kayıt ekleyeceğiz. Bu çalışan için herhangi bir e-posta kimliği, departman veya maaş tahsis etmeyeceğiz.
Sorgu ve sonucu aşağıdadır:
Yukarıdaki resimde gösterildiği gibi, insert deyimi başarıyla yürütülmüştür ve çalışanın masasına bir satır eklenmiştir.
varsayılan ağ geçidi mevcut değil Windows 10 2019
Lütfen aklınızda bulundurun, Sadece seçilen sütunları eklemek için, atladığımız sütunların ya NULL olarak bildirilmesi ya da bu sütunun atlanması durumunda doldurulacak bazı varsayılan değerlere sahip olması gerektiğini. Bu koşul yerine getirilmezse, insert deyimi başarısız olur.
EmpNum = 1013 için bir SELECT ifadesi çalıştırarak yukarıdaki INSERT ifadesinin yürütülmesini doğrulayalım.
Sorgu:
INSERT INTO employees ( empNum, lastName, firstName ) VALUES ( 1013, 'Nolan', 'Chris' ) ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş |
---|---|---|---|---|---|
1013 | Nolan | Chris | BOŞ | BOŞ | BOŞ |
# 3) MySQL Birden Çok Satır Ekleme
Daha sonra, aynı INSERT deyimiyle tabloya birden çok satır eklememiz gereken senaryoyu inceleyeceğiz.
Örneğin, bu durumda, sütun adlarından yalnızca bir kez bahsetmemiz gerekir, ancak bu sütunlar için değerleri gerektiği kadar tekrar etmeye devam edebiliriz.
Sorgu, kendisiyle ilişkili sonuçlarla birlikte aşağıdadır:
Yukarıdaki resimde gösterildiği gibi, ifadenin yerine getirilmesi başarılı oldu.
3 satırın etkilendiğini belirten mesaj bölümünü gözlemleyin, bu, bu tek INSERT ifadesinin bu INSERT ifadesinin yürütülmesiyle 3 kayıt eklediğini gösterir.
Daha fazla okuma = >> MySQL If İfadesi Eğitimi
Yeni çalışan kimlikleri 1014, 1015 ve 1016 için SELECT ifadesini yürüterek INSERT deyimimizin çıktısını doğrulayalım.
Detaylar aşağıdaki gibidir:
Sorgu:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES (1014, 'Murray', 'Keith', 'km@gmail.com', 1, 25000), (1015, 'Branson', 'John', 'jb@gmail.com', 2, 15000), (1016, 'Martin', 'Richard', 'rm@gmail.com', 4, 5000) ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş |
---|---|---|---|---|---|
1014 | Murray | Keith | km@gmail.com | bir | 25.000 |
1015 | Branson | John | jb@gmail.com | iki | 15.000 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 |
# 4) MySQL Ekleme Tarihi
Ardından, tarih sütununa değerler eklememiz gereken senaryoyu inceleyeceğiz.
Örneğin, Tarih sütununa değer eklemek yanıltıcı olabilir. MySQL'deki tarih 'YYYY-AA-GG' biçimine eklenebilir. Bunu başarmak için, varsayılan değeri '0001-01-01' olan bir sütun başlangıç_tarihi ekleyelim.
Bu, çalışanın tablosundaki start_date ile mevcut tüm kayıtların '0001-01-01' olarak güncelleneceği anlamına gelir. Alter ifadesi aşağıdaki gibi olacaktır.
Sorgu:
ALTER TABLE employees ADD start_date DATE default '0001-01-01' ;
Tabloda basit bir SELECT deyimi yürüterek yukarıdaki sorgunun çıktısını doğrulayalım:
Bu nedenle, varsayılan değeri '0001-01-01' olan 'DATE' veri türüne sahip yeni bir tarih sütunu ekledik. Şimdi biri geçerli tarih ve diğeri belirli bir tarih olmak üzere iki yeni çalışan kaydı ekleyelim.
swf dosyası nedir ve onu nasıl açarım
Ayrıntılar ile birlikte sorgular aşağıdadır:
Yukarıdaki resimde gösterildiği gibi, önceki bölümde anlatıldığı gibi tabloya birden çok satır ekleme özelliğini kullandık.
İlk kayıt CURRENT_DATE () işleviyle eklendi. Bu işlev, geçerli sistem tarihini döndürür. İkinci kayıt, 'YYYY-AA-GG' biçiminde belirli bir tarihle eklenmiştir.
Daha sonra, INSERT deyimimizin çıktısını empNum 1017 ve 1018 için bir SELECT deyimi ile doğrulayacağız.
EmpNum = 1017 olan ilk kaydın başlangıç_tarihi şu anki tarih olan 25 ile aynıdır.inciKasım 2019 (bu durumda bu eğiticinin yazıldığı tarih) 'YYYY-AA-GG' biçiminde.
Sorgu:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary, start_date ) VALUES (1017, 'Johnson', 'Eve', 'ej@gmail.com', 3, 5500, CURRENT_DATE()), (1018, 'Bond', 'Nolan', 'nb@gmail.com', 2, 15000, '2019-09-13') ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş | Başlangıç tarihi |
---|---|---|---|---|---|---|
1017 | Johnson | Havva | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Bond | Nolan | nb@gmail.com | iki | 15.000 | 2019-09-13 00:00:00 |
# 5) Başka Bir Tablodan Bir Tabloya MySQL Ekleme
Ardından, mevcut bir tablodan yeni bir tabloya veri eklememiz gereken senaryoyu inceleyeceğiz.
Örneğin, Verileri mevcut tablomuzdan geçmiş veya arşiv tablosuna periyodik olarak taşımamız gereken bir senaryo düşünün. Bunu başarmak için, yeni bir çalışma geçmişi tablosu oluşturalım.
Görevimiz, verileri çalışan tablosundan staff_history tablosuna taşımaktır.
CREATE ifadesi aşağıdaki gibidir:
Sorgu:
CREATE TABLE employees_history LIKE employees ;
Yeni tablonun tablo yapısını bize verecek basit bir DESC ifadesini yeni tabloda çalıştırarak yukarıdaki sorgunun çıktısını doğrulayalım:
.jar dosyası pencerelerini açın 10
Böylece yeni bir tablo oluşturduk. Şimdi çalışanın tablosundan bu yeni tabloya veri yükleyelim.
=> MySQL hakkında daha fazla bilgi edinin TABLO KOMUTU OLUŞTUR .
Aşağıda sorgu ve ayrıntıları verilmiştir:
Yukarıdaki resimde gösterildiği gibi, mevcut tablodan yeni tabloya veri girişi başarılı oldu.
Lütfen çıktı sekmesindeki mesaj sütununa bakın. 18 satırın etkilendiğini söylüyor. Bu, var olan tablodaki 18 satırın tamamının yeni oluşturulan staff_history tablosuna kopyalandığı anlamına gelir.
Daha sonra, INSERT deyimimizin çıktısını staff_history tablosundaki bir SELECT ifadesi ile doğrulayacağız.
Yukarıdaki resim, staff_history tablosundaki çalışanın tablosundan kopyalanan tüm satırları göstermektedir.
Yukarıdaki resim, staff_history tablosundaki çalışanlar tablosundan kopyalanan tüm satırları göstermektedir.
Sorgu:
INSERT INTO employees_history ( empNum, lastName, firstName, email, deptNum, salary, start_date ) SELECT empNum, lastName, firstName, email, deptNum, salary, start_date FROM employees ;
Şundan Sonra Tablo Görüntüsü:
empNum | Soyadı | İsim | e-posta | deptNum | Maaş | Başlangıç tarihi |
---|---|---|---|---|---|---|
1001 | Andrews | Jack | ja@gmail.com | bir | 3182.7 | 0001-01-01 |
1002 | Schwatz | Mike | ms@gmail.com | bir | 5304.5 | 0001-01-01 |
1003 | Langley | Margaret | margaret.langley@gmail.com | iki | 8820 | 0001-01-01 |
1004 | Harera | Sandra | sh@gmail.com | bir | 10609 | 0001-01-01 |
1005 | okumak | Peter | pl@gmail.com | iki | 14333 | 0001-01-01 |
1006 | Keith | Jenny | jk@gmail.com | iki | 16538 | 0001-01-01 |
1008 | Bailey | Oliver | oliver.bailey@gmail.com | 3 | 24494 | 0001-01-01 |
1009 | Fincan | Harry | hb@gmail.com | 5 | 30646 | 0001-01-01 |
1010 | Armstrong | Jacob | jacob.armstrong@gmail.com | 4 | 32670 | 0001-01-01 |
1011 | Hanks | Tom | th@gmail.com | BOŞ | 10100 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 | 0001-01-01 |
1013 | Nolan | Chris | BOŞ | BOŞ | BOŞ | 0001-01-01 |
1014 | Murray | Keith | km@gmail.com | bir | 25.000 | 0001-01-01 |
1015 | Branson | John | jb@gmail.com | iki | 15.000 | 0001-01-01 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 | 0001-01-01 |
1017 | Johnson | Havva | ej@gmail.com | 3 | 5500 | 2019-11-25 00:00:00 |
1018 | Bond | Nolan | nb@gmail.com | iki | 15.000 | 2019-09-13 00:00:00 |
Sıkça Sorulan Sorular ve Cevaplar
S # 1) MySQL'de tabloya nasıl veri eklersiniz?
Cevap: Bir MySQL tablosuna veri eklemek için, MySQL bize 'INSERT INTO' için önemli bir anahtar sözcük sağlar. Bunu tablo adı, sütun listesi ve eklenmesi gereken karşılık gelen değerlerin listesi takip eder. Bu anahtar kelimeyi aynı işleme bir veya daha fazla sütun eklemek için kullanabiliriz.
S # 2) 'INSERT IGNORE INTO' maddesini açıklayın.
Cevap: Tek bir INSERT deyimine birden fazla satır eklemeye çalıştığımızda, herhangi bir satır için hatalı veri nedeniyle yürütme başarısız olabilir. Bu, işlemin durmasına ve önceki işleme geri alınmasına neden olur.
Bu tür senaryolardan kaçınmak için, 'YOK ETMEYİ GİRİN' kullanıldı. Bu madde, geçersiz kayıtlara neden olan hatayı yok sayar ve işlemin durmaması için yalnızca geçerli kayıtları ekler. Bu, toplu eklemeler yapmanız gerektiğinde yararlıdır ve bir satır için herhangi bir kötü veri için bunu yeniden yapmayı göze alamazsınız.
S # 3) MySQL'de öznitelikleri nasıl güncellerim?
Cevap: MySQL Update deyimini kullanarak öznitelik (ler) i UPDATE anahtar sözcüğü ile başlayan deyim ve ardından tablo adı ile güncelleyebiliriz. Ardından, bir sütun adı ve bir WHERE yan tümcesi takip eden SET deyimidir.
S # 4) Tek bir MySQL Ekleme işlemine birden fazla kayıt ekleyebilir miyim?
Cevap: Yukarıda tasvir edildiği gibi, 'Birden çok satıra Veri Ekleme' bölümünde, tek bir giriş işlemine birden çok satır ekleyebiliriz. INSERT INTO cümlesini ve ardından tablo adını ve sütun listesini kullanabiliriz, ancak bir değer listesi yerine, sütunların her biri için birden fazla değer listesinden bahsetmemiz gerekir.
S # 5) MySQL'i nereden indiriyorsunuz?
Cevap: MySQL 8.0 sürümünü buradan indirebilirsiniz: MySQL .
Ayrıca Oku => MySQL Nasıl İndirilir
S # 6) SELECT deyimi MySQL INSERT deyiminde kullanılabilir mi?
Cevap: Evet, SELECT MySQL INSERT ifadesiyle birlikte kullanılabilir. Bu, 'MySQL Başka bir tablodan bir tablo eklemek' bölümünde açıklanmıştır. Bu, başka bir tabloda zaten mevcut olan verileri kullanarak bir tabloya satır eklememiz gerektiğinde kullanılır.
Örneğin, verileri mevcut tablodan veri ambarındaki geçmiş tabloya taşımak.
S # 7) MySQL tarihi tablolarda nasıl saklıyor?
Cevap: MySQL, tarihi tablolarda saklamak için 'YYYY-AA-GG' formatını kullanır. Buradaki veri türü DATE. MySQL tarafından desteklenen tarih aralığı '1000-01-01' ile '9999-12-31' arasındadır.
MySQL ayrıca hem tarihi hem de saati depolamak için bir DATETIME veri türüne sahiptir. Biçim 'YYYY-AA-GG ss: dd: ss' şeklindedir. Kabul edilebilir aralık '1000-01-01 00:00:00' ile '9999-12-31 23:59:59' arasındadır.
Önerilen Okuma = >> MySQL Veri Türleri Eğitimi
Sonuç
Bu nedenle, bu eğitimde, MySQL'de INSERT komutlarını çalıştırmanın beş farklı yolunu öğrendik.
- MySQL Tek Satır Ekleme
- MySQL Yalnızca Belirtilen Sütuna Veri Ekleme
- MySQL Birden Çok Satıra Veri Ekleme
- MySQL Ekleme Tarihi
- MySQL Başka bir tablodan bir tablo eklemek
Proje ihtiyacımıza göre bunlardan herhangi birini kullanabiliriz.
Mutlu Okumalar !!
Önerilen Kaynaklar
- SQL Vs MySQL Vs SQL Server Arasındaki Fark (Örneklerle)
- En İyi 40 MySQL Mülakat Soruları ve Cevapları (2021 Soru)
- MySQL Güncelleme Beyanı Eğitimi - Sorgu Sözdizimini ve Örnekleri Güncelleme
- Unix Cat Komut Sözdizimi, Örneklerle Seçenekler
- Sözdizimi, Seçenekler ve Örneklerle Unix Sıralama Komutu
- Dizileri Kullanarak MongoDB'ye Birden Fazla Belge Ekleme
- C # İfadesi ve C # Sanal Yöntem Öğreticisini Örneklerle Kullanma
- C # Program Yapısı ve Örneklerle Temel Sözdizimi