標題:
9-1-4 Create Select 新增資料表
[打印本頁]
作者:
小誌
時間:
2011-4-21 19:04
標題:
9-1-4 Create Select 新增資料表
9-1-4 Create Select 新增資料表
如何將篩選出來的資料錄存放到一個新的資料表內(該資料表尚未存在於資料庫中)?使用Insert Into指令是鐵定不行的,因為Insert Into指令只能將資料存入「已經」存在的資料表內。如果要將資料存入一個尚未存在的資料表中,我們可以使用Create Select指令,當我們使用Create Select指令將資料存入資料表之前,Create Select指令會先在資料庫中建立一個新的資料表後,再將資料存放進去。
Create Select指令有三種用法:
作者:
小誌
時間:
2011-4-21 19:06
新增資料表並新增一筆資料錄
新增資料錄
Creat Table新資料表名Select ‘欄位值’ As ‘欄位名’
複製代碼
例如:新增一個名為「justtest」的資料表,並於資料表內新增一筆欄位名稱為「姓名」,欄位值為「李明和」、欄位名稱為「mail」,欄位值為「
[email protected]
」的資料錄,則其指令敘述如下:
Create Table justtest select '李明和' As 姓名,'
[email protected]
' As mail
複製代碼
執行上列指令敘述後,就會在資料庫中新增一個「justtest」資料表,資料表內並存有一筆資料:
[attach]5696[/attach]
圖9-18 指令執行結果。
ex09_06.php
<?
$conn = mysql_connect("localhost", "root", "12345a");
if(mysql_select_db("STUDENTS", $conn))
{
//指定提取資料的校對字元表
mysql_query("set character set big5");
//資料庫存在,建立SQL命令字串
$SQL="CREATE TABLE justtest
select '李明和' As 姓名,'
[email protected]
' As mail";
//將回傳結果存放於變數中
$datalist=mysql_query($SQL);
}
else
{
echo "資料庫不存在";
}
?>
複製代碼
注意:
如果指定新增的資料表名稱,是已經存在於資料庫的資料表名稱,則Create Select指令敘述就會執行失敗,例如:第一次執行範例ex09_06.php後,「justtest」是一個存在於資料庫內的資料表,而我們再次使用Create Select指令敘述時,卻又將新增的資料表名稱定為「justtest」,則Create Select指令敘述就會執行失敗。
作者:
小誌
時間:
2011-4-21 19:07
複製資料表
將已經存在的資料表複製一份,並將資料存入新建的資料表內:
複製資料表
Create Table新資料表名 Select * From 已存在資料表名
複製代碼
例如:為「transcript」資料表建立一個備分資料表「transcript_bak」:
ex09_07.php
<?
$conn = mysql_connect("localhost", "root", "12345a");
if(mysql_select_db("STUDENTS", $conn))
{
//指定提取資料的校對字元表
mysql_query("set character set big5");
//資料庫存在,建立SQL命令字串
$SQL="Create Table transcript_bak Select * From transcript";
//將回傳結果存放於變數中
$datalist=mysql_query($SQL);
}
else
{
echo "資料庫不存在";
}
?>
複製代碼
作者:
小誌
時間:
2011-4-21 19:08
篩選資料並另存於新資料表
這是最常用的一種Create Select指令敘述,就是直接篩選已存在的資料表資料,然後將篩選後的資料另外建立成一個新的資料表:
新增資料表
Create Table新資料表名 Select *From 資料表 Where 條件式
複製代碼
例如:篩選「transcript」資料表內國文成績大於95分的同學資料,存入新建的「bigthen95」資料表內:
ex09_08.php
<?
$conn = mysql_connect("localhost", "root", "12345a");
if(mysql_select_db("STUDENTS", $conn))
{
//指定提取資料的校對字元表
mysql_query("set character set big5");
//資料庫存在,建立SQL命令字串
$SQL="Create Table bigthen95
Select * From transcript where 國文>95";
//將回傳結果存放於變數中
$datalist=mysql_query($SQL);
}
else
{
echo "資料庫不存在";
}
?>
複製代碼
[attach]5697[/attach]
圖9-19 另存新資料表,範例ex09_08.php。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)