MySQL’de “ORDER BY” komutu, sorgudan dönen sonuçların sıralamasını belirlemek için kullanılır. Örneğin, “SELECT * FROM users ORDER BY name” sorgusu, “users” tablosundaki kayıtların “name” alanına göre sıralanmasını sağlar.
Konu Başlıkları
“ORDER BY” komutunun iki parametresi vardır:
- alan_adi: Hangi alana göre sıralama yapmak istediğinizi belirtir.
- ASC/DESC: Sıralamanın yukarı yönlü (ASC) veya aşağı yönlü (DESC) olmasını belirtir.
PHP ile MySQL veritabanına bağlantı kurduktan sonra, “ORDER BY” komutunu sorgunun sonunda kullanabilirsiniz. Örnek olarak:
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM users ORDER BY name DESC";
$result = $conn->query($sql);
Bu örnekte, “users” tablosundaki kayıtların “name” alanına göre aşağı yönlü sıralanmasını sağlar.
MySQL Veritabanından Çekilen Veriyi Sıralamak
MySQL veritabanından çekilen veriyi sıralamak için “ORDER BY” komutunu kullanabilirsiniz.
Örnek olarak, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için aşağıdaki sorguyu kullanabilirsiniz:
SELECT * FROM users ORDER BY name
Bu sorgu, “users” tablosundan çekilen verileri “name” alanına göre artan sırada döndürür.
Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:
SELECT * FROM users ORDER BY name DESC
Bu sorgu, “users” tablosundan çekilen verileri “name” alanına göre azalan sırada döndürür.
“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için aşağıdaki sorguyu kullanabilirsiniz:
SELECT * FROM users ORDER BY name, surname
Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.
PDO İle ORDER BY Kullanımı
PHP’de PDO (PHP Data Objects) kullanarak MySQL veritabanından çekilen veriyi sıralamak için aşağıdaki adımları izleyebilirsiniz:
- Veritabanına bağlanmak için PDO nesnesini oluşturun:
$dsn = "mysql:host=$servername;dbname=$dbname";
$pdo = new PDO($dsn, $username, $password);
- Sıralama işlemi için SQL sorgusunu oluşturun. Örneğin, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name";
- SQL sorgusunu çalıştırmak için bir PDO nesnesi oluşturun:
$stmt = $pdo->query($sql);
- Sıralanmış verileri döndürmek için fetch() metodunu kullanın:
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
Bu örnekte, “users” tablosundan çekilen veriler “name” alanına göre sıralanmıştır.
Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:
$sql = "SELECT * FROM users ORDER BY name DESC";
“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name, surname";
Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.
Ayrıca, PDO ile sorguları çalıştırmak için prepare() ve execute() metodlarını kullanarak da sıralama yapabilirsiniz. Örneğin:
$sql = "SELECT * FROM users ORDER BY name, surname";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
Bu yöntemde, sorgu öncesinde parametreleri bağlamanıza gerek kalmaz.
MySQLi Kullanarak Verileri Sıralamak
PHP ve MySQLi kullanarak verileri sıralamak için aşağıdaki adımları izleyebilirsiniz:
- Veritabanına bağlanmak için MySQLi nesnesini oluşturun:
$conn = new mysqli($servername, $username, $password, $dbname);
- Sıralama işlemi için SQL sorgusunu oluşturun. Örneğin, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name";
- SQL sorgusunu çalıştırmak için query() metodunu kullanın:
$result = $conn->query($sql);
- Sıralanmış verileri döndürmek için fetch_assoc() metodunu kullanın:
while($row = $result->fetch_assoc()) {
// do something with the data
}
Bu örnekte, “users” tablosundan çekilen veriler “name” alanına göre sıralanmıştır.
Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:
$sql = "SELECT * FROM users ORDER BY name DESC";
“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name, surname";
Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.
Not: PHP ve MySQL kullanımının detaylı bilgisi için resmi PHP ve MySQL belgelerine başvurabilirsiniz.