Як база дадзеных MySQL запытвае дадзеныя ў табліцы?Запыт/Каманда/Сінтаксіс

База дадзеных MySQLЯк запытаць дадзеныя ў табліцы?Запыт/Каманда/Сінтаксіс

MySQL Запыт дадзеных

Базы дадзеных MySQL выкарыстоўваюць аператары SQL SELECT для запыту даных.

Вы можаце запытваць дадзеныя ў базе дадзеных праз акно каманднага радка mysql> або праз скрыпт PHP.

граматыка

Ніжэй прыводзіцца агульны сінтаксіс SELECT для запыту даных у базу дадзеных MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • У аператары запыту вы можаце выкарыстоўваць адну або некалькі табліц, падзяляючы табліцы коскамі (,), і выкарыстоўваць аператар WHERE, каб задаць умовы запыту.
  • Каманда SELECT можа чытаць адзін або некалькі запісаў.
  • Вы можаце выкарыстоўваць зорачку (*), каб замяніць іншыя палі, аператар SELECT верне ўсе даныя палёў табліцы
  • Вы можаце выкарыстоўваць аператар WHERE, каб уключыць любую ўмову.
  • Вы можаце задаць зрушэнне даных, пры якім аператар SELECT пачынае запыт з OFFSET.Па змаўчанні зрушэнне роўна 0.
  • Вы можаце выкарыстоўваць уласцівасць LIMIT, каб усталяваць колькасць вяртаемых запісаў.

Атрымаць дадзеныя праз камандны радок

У наступным прыкладзе мы будзем выкарыстоўваць каманду SQL SELECT, каб атрымаць дадзеныя табліцы дадзеных MySQL chenweiliang_tbl:

Інстанцыя

Наступны прыклад верне ўсе запісы табліцы даных chenweiliang_tbl:

Прачытайце табліцу дадзеных:

select * from chenweiliang_tbl;

Выкарыстоўвайце скрыпт PHP для атрымання даных

Выкарыстанне функцый PHP mysqli_query() і SQL SELECT каманда для атрымання дадзеных.

Гэтая функцыя выкарыстоўваецца для выканання каманд SQL і перадачы функцый PHP mysqli_fetch_array() выкарыстоўваць або выводзіць дадзеныя для ўсіх запытаў.

mysqli_fetch_array() Функцыя бярэ радок з набору вынікаў як асацыятыўны масіў, або масіў лікаў, або і тое, і іншае. Вяртае масіў, створаны з радкоў, узятых з набору вынікаў, або вяртае false, калі радкоў больш няма.

У наступным прыкладзе чытаюцца ўсе запісы з табліцы даных chenweiliang_tbl.

Інстанцыя

Паспрабуйце наступны прыклад, каб адлюстраваць усе запісы табліцы даных chenweiliang_tbl.

Выкарыстоўвайце параметр mysqli_fetch_array MYSQL_ASSOC для атрымання дадзеных:

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

 

У прыведзеным вышэй прыкладзе кожны прачытаны радок запісаў прысвойваецца зменнай $row, а затым кожнае значэнне друкуецца.

Заўвага:Памятайце, што калі вам трэба выкарыстоўваць зменную ў радку, пастаўце зменную ў фігурныя дужкі.

У прыведзеным вышэй прыкладзе другім параметрам функцыі PHP mysqli_fetch_array() з'яўляецца MYSQL_ASSOC, усталюйце гэты параметр для запыту выніку для вяртання асацыятыўнага масіва, вы можаце выкарыстоўваць назву поля ў якасці індэкса масіва.

PHP забяспечвае іншую функцыю mysqli_fetch_assoc(), функцыя бярэ радок з выніковага набору ў выглядзе асацыятыўнага масіва.Вяртае асацыятыўны масіў, створаны з радкоў, узятых з выніковага набору, або false, калі радкоў больш няма.

Інстанцыя

Паспрабуйце наступны прыклад, які выкарыстоўвае mysqli_fetch_assoc() функцыя для вываду ўсіх запісаў табліцы дадзеных chenweiliang_tbl:

Выкарыстоўвайце mysqli_fetch_assoc для атрымання дадзеных:

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

Вы таксама можаце выкарыстоўваць канстанту MYSQL_NUM у якасці другога параметра функцыі PHP mysqli_fetch_array(), якая вяртае масіў лікаў.

Інстанцыя

Наступныя прыклады выкарыстання MYSQL_NUM Параметр адлюстроўвае ўсе запісы табліцы дадзеных chenweiliang_tbl:

Выкарыстоўвайце параметр mysqli_fetch_array MYSQL_NUM для атрымання дадзеных:

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

Выніковыя вынікі трох прыведзеных вышэй прыкладаў аднолькавыя.


вызваленне памяці

Гэта добрая практыка - вызваліць памяць курсора пасля таго, як мы выканалі аператар SELECT.

Памяць можа быць вызвалена праз PHP-функцыю mysqli_free_result().

Наступны прыклад дэманструе выкарыстанне гэтай функцыі.

Інстанцыя

Паспрабуйце наступныя прыклады:

Вызваліце ​​памяць з дапамогай 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);
?>
 

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) падзяліўся "Як база дадзеных MySQL запытвае даныя ў табліцы?Аператар запыту/Каманда/Сінтаксіс", каб дапамагчы вам.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-461.html

Сардэчна запрашаем на канал Telegram у блогу Чэнь Вэйляна, каб атрымліваць апошнія абнаўленні!

🔔 Будзьце першым, хто атрымае каштоўнае "Кіраўніцтва па выкарыстанні інструмента AI для маркетынгу кантэнту ChatGPT" у верхнім каталогу канала! 🌟
📚 Гэты дапаможнік мае вялікую каштоўнасць, 🌟Гэта рэдкая магчымасць, не прапусціце яе! ⏰⌛💨
Падзяліцеся і лайкайце, калі хочаце!
Ваш абмен і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш адрас электроннай пошты не будзе апублікаваны. 必填 项 已 用 * Этыкетка

пракруціць ўверх