最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

 更新時(shí)間:2015年05月26日 11:53:45   投稿:goldensun  
這篇文章主要介紹了詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下

SQL SELECT命令被用來獲取數(shù)據(jù)從MySQL數(shù)據(jù)庫??梢允褂么嗣钤趍ysql>提示符下或使用腳本,如PHP。
語法:

下面是通用的SQL SELECT命令的語法來從MySQL表提取數(shù)據(jù):

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]

  •     可以使用一個(gè)或多個(gè)以逗號(hào)分隔的表,包括各種使用WHERE子句條件。但是WHERE子句的SELECT命令是一個(gè)可選部分。
  •     可以在一個(gè)單一的SELECT命令讀取一個(gè)或多個(gè)字段。
  •     可以指定星號(hào)(*)的字段的地方。在這種情況下,SELECT將返回所有的字段
  •     可以使用WHERE子句指定任何條件。
  •     可以指定偏移用SELECT將開始返回記錄的偏移量。默認(rèn)情況下,偏移量為0
  •     可以限制返回的使用LIMIT屬性的數(shù)量。

從命令提示符獲取數(shù)據(jù):

這將使用SQL SELECT命令來從MySQL表tutorials_tbl獲取數(shù)據(jù)
例子:

下面的例子將返回所有記錄tutorials_tbl表:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl 
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|      1 | Learn PHP   | John Poul    | 2007-05-21   |
|      2 | Learn MySQL  | Abdul S     | 2007-05-21   |
|      3 | JAVA Tutorial | Sanjay     | 2007-05-21   |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)

mysql>

使用PHP腳本獲取數(shù)據(jù):

您可以使用相同的SQL SELECT命令進(jìn)入PHP函數(shù)mysql_query()。這個(gè)函數(shù)是用來執(zhí)行SQL命令后,另一個(gè)PHP函數(shù)mysql_fetch_array()可以用來獲取所有選定的數(shù)據(jù)。這個(gè)函數(shù)返回的行作為一個(gè)關(guān)聯(lián)數(shù)組/數(shù)字?jǐn)?shù)組或兩者。如果沒有更多的行這個(gè)函數(shù)返回FALSE。

下面是一個(gè)簡單的例子,獲取記錄tutorials_tbl表。
例子:

試試下面的例子顯示tutorials_tbl表的所有記錄。

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title, 
        tutorial_author, submission_date
    FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
 die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
  echo "Tutorial ID :{$row['tutorial_id']} <br> ".
     "Title: {$row['tutorial_title']} <br> ".
     "Author: {$row['tutorial_author']} <br> ".
     "Submission Date : {$row['submission_date']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

這些行的內(nèi)容被分配到變量$row,行中的值,然后打印。

注: 一定要記住,當(dāng)要插入到一個(gè)字符串?dāng)?shù)組的值直接用花括號(hào)。

在上面的例子中不斷MYSQL_ASSOC作為PHP函數(shù)mysql_fetch_array()第二個(gè)參數(shù),以便它返回一個(gè)關(guān)聯(lián)數(shù)組的行為。一個(gè)關(guān)聯(lián)數(shù)組,可以使用他們的名字,而不是使用索引訪問字段。

PHP提供了另一種稱為mysql_fetch_assoc()函數(shù)也返回該行作為關(guān)聯(lián)數(shù)組。
實(shí)例:

試試下面的例子顯示從tutorial_tbl表的所有記錄,使用mysql_fetch_assoc()函數(shù)。

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title, 
        tutorial_author, submission_date
    FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
 die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
  echo "Tutorial ID :{$row['tutorial_id']} <br> ".
     "Title: {$row['tutorial_title']} <br> ".
     "Author: {$row['tutorial_author']} <br> ".
     "Submission Date : {$row['submission_date']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

也可以使用常量MYSQL_NUM,作為第二個(gè)參數(shù)的PHP函數(shù)mysql_fetch_array()。這將導(dǎo)致該函數(shù)返回一個(gè)數(shù)字索引的數(shù)組。
實(shí)例:

試試下面的例子顯示使用MYSQL_NUM參數(shù)tutorials_tbl表中的所有記錄。

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title, 
        tutorial_author, submission_date
    FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
 die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
  echo "Tutorial ID :{$row[0]} <br> ".
     "Title: {$row[1]} <br> ".
     "Author: {$row[2]} <br> ".
     "Submission Date : {$row[3]} <br> ".
     "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>

所有上述三個(gè)例子,將產(chǎn)生相同的結(jié)果。
釋放內(nèi)存:

它是一種很好的做法,在每一個(gè)SELECT語句釋放游標(biāo)內(nèi)存。這可以通過使用PHP函數(shù)了mysql_free_result()。下面的例子來說明它是如何被使用的。
實(shí)例:

試試下面的例子

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title, 
        tutorial_author, submission_date
    FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
 die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
  echo "Tutorial ID :{$row[0]} <br> ".
     "Title: {$row[1]} <br> ".
     "Author: {$row[2]} <br> ".
     "Submission Date : {$row[3]} <br> ".
     "--------------------------------<br>";
}
mysql_free_result($retval);
echo "Fetched data successfully\n";
mysql_close($conn);
?>

在獲取數(shù)據(jù)的同時(shí)可以編寫復(fù)雜的SQL,只要喜歡。程序?qū)⒈3峙c上述相同。

相關(guān)文章

  • Mysql效率優(yōu)化定位較低sql的兩種方式

    Mysql效率優(yōu)化定位較低sql的兩種方式

    通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的 SQL 語句,用 --log-slow-queries[=file_name] 選項(xiàng)啟動(dòng)時(shí), mysqld 會(huì) 寫一個(gè)包含所有執(zhí)行時(shí)間超過 long_query_time 秒的 SQL 語句的日志文件,通過查看這個(gè)日志文件定位效率較低的 SQL
    2015-10-10
  • mysql5.7.19 zip 詳細(xì)安裝過程和配置

    mysql5.7.19 zip 詳細(xì)安裝過程和配置

    本文詳細(xì)給大家介紹了mysql5.7.19 zip 詳細(xì)安裝過程和配置,感興趣的朋友一起看看吧
    2017-10-10
  • mysql 某字段插入隨機(jī)數(shù)(插入隨機(jī)數(shù)到MySQL數(shù)據(jù)庫)

    mysql 某字段插入隨機(jī)數(shù)(插入隨機(jī)數(shù)到MySQL數(shù)據(jù)庫)

    這篇文章主要介紹了mysql 某字段插入隨機(jī)數(shù)(插入隨機(jī)數(shù)到MySQL數(shù)據(jù)庫),需要的朋友可以參考下
    2016-09-09
  • Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的代碼

    Mysql命令行導(dǎo)入sql數(shù)據(jù)的實(shí)現(xiàn)方法是我們經(jīng)常會(huì)用到的,下面就為你詳細(xì)介紹Mysql命令行導(dǎo)入sql數(shù)據(jù)的方法步驟,希望對(duì)您學(xué)習(xí)Mysql命令行方面能有所幫助。
    2010-12-12
  • mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)

    mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)

    這篇文章主要介紹了mysql innodb的監(jiān)控(系統(tǒng)層,數(shù)據(jù)庫層)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問題解決

    MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問題解決

    由于安裝數(shù)據(jù)庫時(shí)將MySQL的數(shù)據(jù)目錄放在了根目錄下,現(xiàn)在存儲(chǔ)空間不足,遇到這個(gè)問題如何解決呢,下面小編給大家?guī)砹薽ysql移動(dòng)數(shù)據(jù)目錄啟動(dòng)失敗解決方法,感興趣的朋友一起看看吧
    2023-04-04
  • 阿里云下配置MySQL遠(yuǎn)程連接的步驟詳解

    阿里云下配置MySQL遠(yuǎn)程連接的步驟詳解

    大家都知道阿里云默認(rèn)是不能用客戶端遠(yuǎn)程連接的,但最近因?yàn)楣ぷ鞯男枰?,不得不?shí)現(xiàn)遠(yuǎn)程連接,下面這篇文章主要給大家介紹了在阿里云下配置MySQL遠(yuǎn)程連接的步驟,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • MySQL 8.0.18 穩(wěn)定版發(fā)布! Hash Join如期而至

    MySQL 8.0.18 穩(wěn)定版發(fā)布! Hash Join如期而至

    MySQL 8.0.18 穩(wěn)定版發(fā)布! Hash Join 如期而至,這篇文章帶大家快速瀏覽一下MySQL 8.0.18 穩(wěn)定版的各個(gè)亮點(diǎn),感興趣的小伙伴們可以學(xué)習(xí)參考一下
    2019-10-10
  • MySQL觸發(fā)器的應(yīng)用示例詳解

    MySQL觸發(fā)器的應(yīng)用示例詳解

    這篇文章主要介紹了MySQL觸發(fā)器的應(yīng)用,觸發(fā)器是與MySQL數(shù)據(jù)表有關(guān)的數(shù)據(jù)庫對(duì)象,在滿足定義條件時(shí)觸發(fā),并執(zhí)行觸發(fā)器中定義的語句集合,觸發(fā)器的這種特性可以協(xié)助應(yīng)用在數(shù)據(jù)庫端確保數(shù)據(jù)的完整性,需要的朋友可以參考下
    2022-08-08
  • MySQL/MariaDB 如何實(shí)現(xiàn)數(shù)據(jù)透視表的示例代碼

    MySQL/MariaDB 如何實(shí)現(xiàn)數(shù)據(jù)透視表的示例代碼

    這篇文章主要介紹了MySQL/MariaDB 如何實(shí)現(xiàn)數(shù)據(jù)透視表的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論

泰来县| 思南县| 闵行区| 永平县| 南召县| 隆安县| 颍上县| 乌审旗| 梓潼县| 驻马店市| 济宁市| 龙游县| 河北区| 珠海市| 新竹市| 龙胜| 松桃| 屏东县| 祁连县| 海原县| 开远市| 安福县| 克东县| 金阳县| 上杭县| 娱乐| 洪江市| 泗水县| 行唐县| 宁化县| 从化市| 县级市| 娱乐| 余姚市| 芜湖县| 双柏县| 贵德县| 延寿县| 白城市| 永新县| 海宁市|