SQL ile bişiler yapmaya devam. SQL-4 Farklı tablolardan veri çekmek ve birleştirmek.

Geçen yazıdan kalan işlerimize bi göz atalım neler vardı? Yazılara eklenecek dosyaları yönetmek. Silmek ve düzenlemek. Tüm yazıların başlıklarının olduğu bir liste göstermek. Kategori eklemek, silmek, düzenlemek. Kategori içindeki yazıları göstermek Ayrıca yazı başlıklarını gösterirken, sayfalama yapmak, her sayfada 20 yazı göstermek, 2. sayfada bir sonraki 20 yazıyı yani 20 ile 40 arası yazıları göstermek Arama yapmak 1. maddedeki ekleme silme düzenleme kısımlarını siz yapabilirsiniz. Tüm yazı başlıklarının olduğu liste işi de çok kolay. SELECT posts.title FROM posts; dediğiniz anda o iş tamam. 3. maddedeki de ekleme düzenleme silme. 4. maddedeki iş biraz değişik örneğin SELECT * from posts WHERE category_id=3 diyebiliriz. Ancak istediğimiz kategorinin id’sini bilmezsek ve sadece ismini biliyorsak ne olacak? Bu durumda önce isim girip id öğreneceğiz, ve bu id bilgisini kullanıp yazılar tablosunda sorgu yapacağız. Bunu yapabilmek için üç yöntemimiz var. Birincisi Birleştirme işlemi, diğeri iç içe sorgu, üçüncüsü ise tek sorguda birden fazla alan kullanmak. Birleştirme yani basi...
Patreon üyelerine özel içerik.
To view this content, you must be a member of Mutlu's Patreon at "Merakli Bilişimci Üye..." or higher tier
Already a Patreon member? Refresh to access this post.

Veritabanı nedir? SQL-3 Veri girmek ve çekmek

Ana hedefimiz olan içerik yönetim sistemi yazmak için gereken veritabanını şu şekilde oluşturuyoruz. CREATE TABLE IF NOT EXISTS `categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8_turkish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `files` ( `id` int(11) NOT NULL AUTO_INCREMENT, `filename` varchar(255) COLLATE utf8_turkish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `posts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8_turkish_ci NOT NULL, `content` text COLLATE utf8_turkish_ci, `category_id` int(11) NOT NULL, `created` datetime NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1 ; Eğer eklemediysek merakli veritabanımıza bu alanları ekleyelim. Bir içerik yönetim sistemi ile ne yapılır? Öncelikle bunları düşünelim. Yazı eklemek Yazıları düzenlemek (Yazi...
Patreon üyelerine özel içerik.
To view this content, you must be a member of Mutlu's Patreon at "Merakli Bilişimci Üye..." or higher tier
Already a Patreon member? Refresh to access this post.

VERİTABANI NEDİR? SQL’LE BİRŞEYLER YAPMAK: SQL – 2

Bir önceki yazıda veritabanının ne olduğundan ve ne işe yaradığından, belli başlı SQL komutlarından bahsettik. SQL’in açılımı, “yapılandırılmış sorgulama dili”. Programlama dili değil, öğrenmesi kullanması inanılmaz kolay, soru sormaya, cevap almaya yarayan müthiş bir dil. Biz de en kolay işlemlerden en çok ihtiyaç duyacağımız işlemlere, sorguları anlatacağız ve derinlere dalmayı size bırakacağız, tüm yazılarda olduğu gibi. Nihai hedefimiz, içerik yönetim sistemi veya blog yazmak, yani bilgileri girmek, bilgileri almak, aslında bu mantıkla her türlü yönetim sistemi yazılımını kuracağınız yapıya göre üretebilirsiniz. Yani yazı yerine personel olursa, personel yönetim sistemi, personel yerine ürün ve satış olursa, komple bir e-ticaret sistemi de yazabilirsiniz. Dediğim gibi, derinlere dalmak, sizin merakınıza kalmış, bebek adımlarıyla ilerliyoruz, herşey çok kolay ve zevkli olmalı ki korkmayalım ve de hevesimiz kaçmasın. MySQL’i yani sistemimizde kullanacağımız veritabanı yazılımını yönetmemiz için phpMyAdmin adlı web aracına ihtiyacımız var. Önce phpMyAdmin...
Patreon üyelerine özel içerik.
To view this content, you must be a member of Mutlu's Patreon at "Merakli Bilişimci Üye..." or higher tier
Already a Patreon member? Refresh to access this post.