Kako MySQL baza podataka postavlja upite podacima u tablici?Izjava upita/naredba/sintaksa

MySQL baza podatakaKako postaviti upit za podatke u tablici?Izjava upita/naredba/sintaksa

MySQL Podaci upita

MySQL baze podataka koriste SQL SELECT naredbe za upit podataka.

Podacima u bazi podataka možete postavljati upite kroz prozor naredbenog retka mysql> ili putem PHP skripte.

gramatika

Slijedi opća SELECT sintaksa za upit podataka u MySQL bazi podataka:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • U izjavi upita možete koristiti jednu ili više tablica, odvojiti tablice zarezima (,) i koristiti izjavu WHERE za postavljanje uvjeta upita.
  • Naredba SELECT može čitati jedan ili više zapisa.
  • Možete koristiti zvjezdicu (*) za zamjenu drugih polja, naredba SELECT vratit će sve podatke polja tablice
  • Možete koristiti naredbu WHERE da uključite bilo koji uvjet.
  • Možete odrediti pomak podataka na kojem SELECT naredba pokreće upit s OFFSET.Prema zadanim postavkama pomak je 0.
  • Svojstvo LIMIT možete koristiti za postavljanje broja vraćenih zapisa.

Dobivanje podataka putem naredbenog retka

U sljedećem primjeru koristit ćemo SQL SELECT naredbu za dobivanje podataka MySQL podatkovne tablice chenweiliang_tbl:

primjer

Sljedeći primjer će vratiti sve zapise podatkovne tablice chenweiliang_tbl:

Pročitajte podatkovnu tablicu:

select * from chenweiliang_tbl;

Koristite PHP skriptu za dobivanje podataka

koristeći PHP funkcije mysqli_query() i SQL SELECT naredba za dobivanje podataka.

Ova se funkcija koristi za izvršavanje SQL naredbi i prosljeđivanje PHP funkcija mysqli_fetch_array() za korištenje ili izlaz podataka za sve upite.

mysqli_fetch_array() Funkcija uzima redak iz skupa rezultata kao asocijativni niz, ili niz brojeva, ili oboje. Vraća niz generiran iz redaka preuzetih iz skupa rezultata ili false ako više nema redaka.

Sljedeći primjer čita sve zapise iz podatkovne tablice chenweiliang_tbl.

primjer

Pokušajte sa sljedećim primjerom prikazati sve zapise podatkovne tablice chenweiliang_tbl.

Koristite mysqli_fetch_array MYSQL_ASSOC parametar za dohvaćanje podataka:

<?
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);
?>

 

U gornjem primjeru, svaki redak pročitanih zapisa dodijeljen je varijabli $row, a zatim se svaka vrijednost ispisuje.

Napomena:Zapamtite da ako trebate koristiti varijablu u nizu, stavite varijablu u vitičastu zagradu.

U gornjem primjeru, drugi parametar funkcije PHP mysqli_fetch_array() je MYSQL_ASSOC, postavite ovaj parametar za upit rezultata za vraćanje asocijativnog niza, možete koristiti naziv polja kao indeks niza.

PHP nudi još jednu funkciju mysqli_fetch_assoc(), funkcija uzima redak iz skupa rezultata kao asocijativno polje.Vraća asocijativni niz generiran iz redaka preuzetih iz skupa rezultata ili false ako više nema redaka.

primjer

Isprobajte sljedeći primjer koji koristi mysqli_fetch_assoc() funkcija za izlaz svih zapisa podatkovne tablice chenweiliang_tbl:

Koristite mysqli_fetch_assoc za dohvaćanje podataka:

<?
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);
?>

Također možete koristiti konstantu MYSQL_NUM kao drugi parametar funkcije PHP mysqli_fetch_array(), koja vraća niz brojeva.

primjer

Sljedeći primjeri koriste MYSQL_NUM Parametar prikazuje sve zapise podatkovne tablice chenweiliang_tbl:

Koristite mysqli_fetch_array MYSQL_NUM parametar za dohvaćanje podataka:

<?
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);
?>

Ishod gornja tri primjera je isti.


oslobađanje memorije

Dobro je osloboditi memoriju kursora nakon što smo izvršili naredbu SELECT.

Memorija se može osloboditi pomoću PHP funkcije mysqli_free_result().

Sljedeći primjer pokazuje korištenje ove funkcije.

primjer

Isprobajte sljedeće primjere:

Oslobodite memoriju pomoću mysqli_free_result:

<?
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);
?>
 

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) podijelio je "Kako MySQL baza podataka postavlja upite podacima u tablici?Izjava upita/naredba/sintaksa" da vam pomogne.

Dobrodošli da podijelite vezu ovog članka:https://www.chenweiliang.com/cwl-461.html

Dobro došli na Telegram kanal Chen Weiliangovog bloga da dobijete najnovija ažuriranja!

🔔 Budite prvi koji će dobiti vrijedan "Vodič za korištenje AI alata za marketing sadržaja ChatGPT" u direktoriju na vrhu kanala! 🌟
📚 Ovaj vodič ima veliku vrijednost, 🌟 Ovo je rijetka prilika, nemojte je propustiti! ⏰⌛💨
Podijelite i lajkajte ako vam se sviđa!
Vaše dijeljenje i lajkovi naša su stalna motivacija!

 

发表 评论

Vaša email adresa neće biti objavljena. Koriste se obavezna polja * Označiti

pomaknite se na vrh