MySQL veritabanı bir tablodaki verileri nasıl sorgular?Sorgu İfadesi/Komut/Sözdizimi

MySQL veritabanındaki bir tablodan veri nasıl sorgulanır ? Sorgu ifadesi/komutu/sözdizimi

MySQL Verileri sorgula

MySQL veritabanları, verileri sorgulamak için SQL SELECT deyimlerini kullanır.

Veritabanındaki verileri mysql> komut istemi penceresi veya bir PHP betiği aracılığıyla sorgulayabilirsiniz.

dilbilgisi

MySQL veritabanındaki verileri sorgulamak için genel SELECT sözdizimi aşağıdadır:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Sorgu deyiminde bir veya daha fazla tablo kullanabilir, tabloları virgülle (,) ayırabilir ve sorgu koşullarını ayarlamak için WHERE deyimini kullanabilirsiniz.
  • SELECT komutu bir veya daha fazla kaydı okuyabilir.
  • Diğer alanları değiştirmek için yıldız işareti (*) kullanabilirsiniz, SELECT ifadesi tablonun tüm alan verilerini döndürür
  • Herhangi bir koşulu eklemek için WHERE ifadesini kullanabilirsiniz.
  • SELECT ifadesinin sorguyu OFFSET ile başlatacağı veri ofsetini belirtebilirsiniz.Varsayılan olarak ofset 0'dır.
  • Döndürülen kayıt sayısını ayarlamak için LIMIT özelliğini kullanabilirsiniz.

Komut istemi aracılığıyla veri alın

Aşağıdaki örnekte, chenweiliang_tbl MySQL veri tablosunun verilerini elde etmek için SQL SELECT komutunu kullanacağız:

Örnek

Aşağıdaki örnek, chenweiliang_tbl veri tablosunun tüm kayıtlarını döndürür:

Veri sayfasını okuyun:

select * from chenweiliang_tbl;

Veri almak için PHP betiğini kullanın

Verileri almak için PHP fonksiyonu mysqli_query() ve SQL SELECT komutunu kullanın.

Bu fonksiyon SQL komutlarını çalıştırmak için kullanılır ve ardından PHP fonksiyonu mysqli_fetch_array() sorgulanan tüm verilere erişmek veya bunları çıktılamak için kullanılır.

`mysqli_fetch_array()` fonksiyonu, sonuç kümesinden bir satırı ilişkisel dizi, sayısal dizi veya her ikisi olarak alır ve sonuç kümesinden alınan satırdan oluşturulan bir dizi döndürür. Başka satır yoksa, `false` değerini döndürür.

Aşağıdaki örnek, chenweiliang_tbl veri tablosundaki tüm kayıtları okur.

Örnek

chenweiliang_tbl veri tablosunun tüm kayıtlarını görüntülemek için aşağıdaki örneği deneyin.

Veri almak için mysqli_fetch_array MYSQL_ASSOC parametresini kullanın:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

 

Yukarıdaki örnekte, okunan her kayıt satırı $satır değişkenine atanır ve ardından her değer yazdırılır.

Not: Değişkeni bir metin içinde kullanmanız gerekiyorsa, onu mutlaka süslü parantezler içine almayı unutmayın.

Yukarıdaki örnekte, PHP mysqli_fetch_array() fonksiyonunun ikinci parametresi MYSQL_ASSOC'tur . Bu parametreyi ayarlamak, ilişkisel bir dizi döndürür ve alan adını dizinin indeksi olarak kullanabilirsiniz.

PHP, sonuç kümesinden bir satırı ilişkisel dizi olarak alan `mysqli_fetch_assoc()` adlı başka bir fonksiyon da sunar . Bu fonksiyon, sonuç kümesinden alınan satırlara dayalı bir ilişkisel dizi döndürür; daha fazla satır yoksa false döndürür.

Örnek

Aşağıdaki örnekte, chenweiliang_tbl tablosunun tüm kayıtlarını çıktılamak için mysqli_fetch_assoc() fonksiyonu kullanılmaktadır:

Veri almak için mysqli_fetch_assoc kullanın:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_assoc($retval))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Ayrıca, bir dizi sayı döndüren PHP mysqli_fetch_array() işlevinin ikinci parametresi olarak MYSQL_NUM sabitini de kullanabilirsiniz.

Örnek

Aşağıdaki örnek, chenweiliang_tbl tablosundaki tüm kayıtları görüntülemek için MYSQL_NUM parametresini kullanır:

Veri almak için mysqli_fetch_array MYSQL_NUM parametresini kullanın:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Yukarıdaki üç örneğin çıktı sonuçları aynıdır.


bellek sürümü

Bir SELECT ifadesi yürüttükten sonra imleç belleğini boşaltmak iyi bir uygulamadır.

Bellek, PHP işlevi mysqli_free_result() aracılığıyla serbest bırakılabilir.

Aşağıdaki örnek, bu işlevin kullanımını gösterir.

Örnek

Aşağıdaki örnekleri deneyin:

mysqli_free_result ile boş bellek:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>
 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

En gidin