Mysql Tabloya Sonradan auto_increment id nasıl eklenir?

Elinizde yüzlerce binlerce yada daha fazla verinin olduğu bir tablo var diyelim ama oluştururken otomatik artan bir id değeri eklenmemiş varsayalım aşağıdaki sorguyu çalıştırarak tabloya auto_increment id değeri ekleyebilirsiniz;

ALTER TABLE tablo_adi ADD id INT PRIMARY KEY AUTO_INCREMENT;

bu sorguyu çalıştırarak verilere sonradan id verebilirsiniz. Hata almamak için bulunduğunuz tabloda daha önceden eklenen yada kalan id isimli bir sütun olmadığına ve benzersiz baska bir sütunun olmamasına dikkat ediniz aksi halde multiple primary key defined hatası alabilirsiniz.

Xamp workbench ERROR 2006 (HY000) at line 43: MySQL server Hata Çözümü

Yüksek boyutlu verileri navicat ya da workbench ile import ederken karşılaşılan sık hatadır:

Running: mysql.exe –defaults-file=”c:\users\pcname~1\appdata\local\temp\tmpsh2hmn.cnf” –protocol=tcp –host=127.0.0.1 –user=root –port=3306 –default-character-set=utf8 –comments –database=htttt < "D:\\DATA\\test\\test.sql" ERROR 2006 (HY000) at line 43: MySQL server has gone away Operation failed with exitcode 1 12:32:11 Import of D:\DATA\test\test.sql has finished with 1 errors

Çözümü basit eğer xamp kullanıyorsanız;
config -> my.ini dosyasında -> max_allowed_packet = 64M

buradaki 64M değerini 999999M yapabilirsiniz.

ubuntu sunucuda değişiklik yapılması gereken dosya: my.cnf

MySQL Aynı Sütunda Birden Fazla Değeri Aynı Anda Aramak [PHP KULLANARAK]

Elinizde tek bir sütun var ve o sütunda virgülle ayrılmış yada ayrılmamış değerler geçiyor ve siz bu değerlerden herhangi bir tanesi geçiyor mu geçmiyor mu diye sorgu yapmak istiyorsunuz ve php ile bunu nasıl yapacaksınız kendi örneğim üzerinden anlatmaya çalışacağım;

örnek sorgu:

SELECT * FROM tablo_adi WHERE sutun_adi IN ( 'Value1', 'Value2', ... );

şeklinde olacaktır. Peki Value değerleri nasıl gelecek?

Örnek Kullanım:

<?php 
$search = "W,Y,Z"; // buraya değerler veritabanından da gelebilir aralarında virgül olmaya da bilir size kalmış..
 
if(strpos($search, 'W') !== false) { $w="W";}
if(strpos($search, 'Y') !== false) { $y="Y";}
if(strpos($search, 'Z') !== false) { $z="Z";}
...
 
$sorgu = "SELECT * FROM tablo_adi WHERE sutun_adi IN ( '$w', '$y', '$z' ... )";
 
// burada iflerin içinde dolu olan değerleri şeklindeki gibi sorgunun içine dahil ediyoruz eğer x y z değerleri doluysa sorgu ona göre çalışacak eğer boş ise sorguya dahil olmayacaktır
?>

mysql sütunda birden fazla değer aramak, mysql iki farklı değer geçiyorsa sorgu, SQL’da Virgülle Ayrılmış Kelime İçeren Metni Aramak

Kaynak: https://www.it-swarm.net/tr/mysql/sql-ayni-alanda-birden-cok-deger-arama/1071873221/

Navicat Veritabanını Dışarı Aktarmak Dump Sql File

Alanında kendini kanıtlamış MySQL Yönetim Programı olan Navicat ile verileri DIŞARIYA aktarmak için;

1) İlgili Veritabanı Seçilir
2) Sağ tıklayıp Dump Sql File seçilir.
3) Structure And Data seçilir
4) Aktarılacak dosyanın kayıt yeri seçilir
5) Kaydet butonuna bastığınız anda veri aktarımı başlar. Bir sorun olduğunu düşünüyorsanız Start butonuna basarak aktarım işlemini tekrarlayabilirsiniz.

Verileri içeri aktarmak için Execute SQL fileseçeneğini kullanabilirsiniz.

Navicat ile MYSQL Tabloları İçe Aktarmak

Veritabanını daha fonksiyonel olarak yönetmek için Phpmyadmin yerine Navicat kullanmakta fayda var
Navicat yüklü ise ve Elinizde .sql dosyası var içeri aktarmak için;

1) öncelikle navicat ile boş bir veritabanı oluşturuyoruz
2) Oluşturduğumuz veritabanına sağ tıklayıp -> Execute SQL file seçeneğini seçiyoruz.
3) Açılan pencerede File seçeneği ile .sql uzantılı veritabanımızı seçiyoruz
4) START diyoruz.
5) işlem bittiğinde verileriniz aktarılmış olması lazım.
6) Verileri görüntülemek için ilgili veritabanına sağ tıklayıp refresh yapmanız lazım

Verileri Dışarı aktarmak için Dump Sql File seçeneğini kullanabilirsiniz.

MYSQL C# (C SHARP) GridControl ile Veri Listelemek

Bağlantı Kurmak İçin App.Config Dosyamızın içi:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
 
  <connectionStrings>
    <add name="MySQL" connectionString="SERVER=localhost;DATABASE=database_adi;UID=root;PASSWORD=" />
  </connectionStrings>
 
</configuration>

db.cs Dosyamız (db adında bir class oluşturduk) Okumaya devam et MYSQL C# (C SHARP) GridControl ile Veri Listelemek

Mysql 2 Hücreyi yada biren fazla sütunu Birleştirme

Örneğin uyeler tablosunda yer alan ad ve soyad sütunlarını birleştirip tek sütunda listelemek istiyoruz bunu CONCAT komutuyla yapabiliriz kodumuz aşağıdaki gibi olmalıdır:

SELECT CONCAT(ad, " ", soyad) as adsoyad FROM uyeler

Mysql / Sql Her Farklı Değerin Tekrar Sayısını Yazdırma

Her farklı değerin oluşum sayısını almam gerekiyordu. Kulladığım En basit SQL sorgusu şu şekilde:

SELECT kolonadi, COUNT(*) AS KayıtSayısı
FROM tabloadi
WHERE kolonadi IS NOT NULL
GROUP BY kolonadi

Tahmini Görünüm

kolonadı Tekrar Sayısı
A Seçeneği 5
B Seçeneği 15
C Seçeneği 20

Gelişniş Sorgu:
* sayıları 2den fazla olanları en çoktan aza doğru sıralamak

SELECT
kolonadi,
COUNT(*) AS sayisi,
kolonadi
FROM
tabloadi
WHERE
kolonadi IS NOT NULL 
GROUP BY
kolonadi
HAVING
sayisi > 2
ORDER BY
sayisi DESC

Excel’den Mysql’e Veri Aktarma

Bu işlemi yaparken sıkıntı çekiyorsanız bu video işinizi görebilir;

Eğer türkçe karakter sorunu yaşarsanız, yani verilerinizde türkçe karakter varsa ve aktarırken veriler eksik geliyorsa, csv formatına çevirdiğiniz dosyasyı txt ile açıp kaydederken UTF-8 formatında kaydederek import etmeyi deneyebilirsiniz.

SQL Son 1 Yıl, 1 Ay, 7 Gün, 1 Gün, 30 dakika, 15 dakika vs veri çekmek

Üyelerin son aktif olduğu tarih saati üyeler tablosunda tarih sütununda datetime formatında tuttuğumuzu varsayalım aşağıdaki örnek kod ile son 30 dakikada aktif olanları listeleyebiliriz yada farklı ihtiyaçlar için kullanabilirsiniz Verileri çekmek için kullanacağımız sql sorgusu şöyle olacak:

son 1 yıl için:

SELECT * FROM veriler WHERE tarih >= NOW() - INTERVAL 1 YEAR

son 1 ay için:

SELECT * FROM veriler WHERE tarih >= NOW() - INTERVAL 1 month

son 1 gün için:

SELECT * FROM veriler WHERE tarih >= NOW() - INTERVAL 1 day

son 1 saat için:

SELECT * FROM veriler WHERE tarih >= NOW() - INTERVAL 1 hour

son 30 dakika için:

SELECT * FROM veriler WHERE tarih >= NOW() - INTERVAL 30 minute

gibi gibi örnekleri siz artırabilirsiniz.

Veriler veritabanı tablonuzda tarih sütunundaki zaman date formatında olmalıdır.