许多BUG,功能简单,代码简单,适用新手交流
创建数据表.td{width:100px;overflow:hidden}
$mydatabase="数据库名称";//写上你的数据库名称
$con =
mysql_connect('127.0.0.1','数据库名称','数据库密码');//连接MySQL
if(!$con) die(" 系统连接失败!"); header('conten-type:text/html;charset=utf-8');
mysql_query("set names utf8");
mysql_select_db($mydatabase) or
die("数据库连接失败!");//选择数据库 if($_GET['tableName']!=null)
{
$mytable =
$_GET['tableName'];
echo
"当前选择的显示数据表是:
".$mytable."
href='?deltable=".$mytable."'>删除该表
href='?inZiduan=".$mytable."'>插入字段
"
;
}
//删除表
if($_GET['deltable']!=null)
{
$deltable=$_GET['deltable'];
mysql_query("DROP TABLE $deltable");
echo"成功删除表".$deltable;
}
//插入字段
if (isset($_POST['action'])
&&$_POST['action']
== 'submitted') {
$myzhi= $_POST['zhi'];
$mytbname= $_POST['tbname'];
$mychangdu=
$_POST['changdu'];
$myleixin= $_POST['leixin'];
$myifnull= $_POST['ifnull'];
$myifunique=
$_POST['ifunique'];
if ($myleixin=="DOUBLE"or $myleixin=="FLOAT"or
$myleixin=="BOOL"or $myleixin=="TIME"or
$myleixin=="DATE"or $myleixin=="DATETIME"or
$myleixin=="TEXT"or
$myleixin=="TINYBLOB"or
$myleixin=="TINYTEXT"or
$myleixin=="BLOB"or
$myleixin=="MEDIUMBLOB"or
$myleixin=="MEDIUMTEXT"or
$myleixin=="LONGBLOB"or
$myleixin=="LONGTEXT")
{
//某些字符串类型不用定义长度值
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
//其他else
elseif ($mychangdu==""and ($myleixin=="CHAR"or
$myleixin=="VARCHAR"or
$myleixin=="VARBINARY"))
{
//如果VARBINARY、CHAR、VARCHAR三项没有指明长度值时,则长度默认为250位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(250) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
elseif ($myleixin=="BINARY")
{
//BINARY 类型默认为1位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(1) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
elseif ($myleixin=="YEAR" or $myleixin=="TINYINT")
{
//类型为年份的默认为4位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(4) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="BIGINT")
{
//BIGINT长整型默认为20位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(20) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="SMALLINT")
{
//SMALLINT短整型默认为6位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(6) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="MEDIUMINT")
{
//MEDIUMINT型默认为9位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(9) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="INT")
{
//INT整型默认为11位
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin(11) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
} }
elseif($myleixin=="TIMESTAMP")
{
//类型为时间TIMESTAMP的默认自动添加年月日与时间
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
} }
else
{
$result=mysql_query("ALTER TABLE $mytbname
ADD $myzhi $myleixin($mychangdu) $myifnull $myifunique ");
if ($result){
echo "插入字段 ok
";
}
else{
die(
mysql_error());
}
}
}
//删除字段
if($_GET['delzi']!=null)
{
$delzi=
$_GET['delzi'];
$fromtb=
$_GET['fromtb'];
$result=mysql_query("ALTER TABLE $fromtb DROP COLUMN
$delzi");
if($result){
echo "delete ok
";
//exit;
}
else{
die(
mysql_error());}
}
//修改字段
if (isset($_POST['action'])
&&$_POST['action']
== 'sub')
{ $myOldzhi= $_GET['oldName'];
$myNewzhi= $_POST['zhi'];
$mytbname= $_POST['tbname'];
$mychangdu=
$_POST['changdu'];
$myleixin= $_POST['leixin'];
$myifNull=$_POST['ifnull'];
$myifDefault=
$_POST['ifDefault'];
$myifunique=
$_POST['ifunique'];
$result=mysql_query("ALTER TABLE $mytbname CHANGE $myOldzhi $myNewzhi
$myleixin");
if ($myleixin=="DOUBLE" or
$myleixinY=="FLOAT"or $myleixin=="BOOL"or$myleixin=="TIME" or
$myleixin=="DATE" or $myleixin=="DATETIME" or $myleixin=="TEXT" or
$myleixin=="TINYBLOB" or $myleixin=="TINYTEXT" or $myleixin=="BLOB"
or $myleixin=="MEDIUMBLOB" or $myleixin=="MEDIUMTEXT" or $myleixin=="LONGBLOB" or
$myleixin=="LONGTEXT")
{
//某些字符串类型不用定义长度值
$result=mysql_query("ALTER
TABLE $mytbname MODIFY COLUMN $myNewzhi $myleixin $myifNull");
if ($result){
echo "修改字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
//其他else
elseif ($mychangdu==""and ($myleixin=="CHAR"or
$myleixin=="VARCHAR"or
$myleixin=="VARBINARY"))
{
//如果VARBINARY、CHAR、VARCHAR三项没有指明长度值时,则长度默认为250位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(250) $myifNull");
if ($result){
echo "修改字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
elseif ($myleixin=="BINARY")
{
//BINARY 类型默认为1位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(1) $myifNull");
if ($result){
echo "修改字段 ok
";
//exit;
}
else{
die(
mysql_error());
}
}
elseif ($myleixin=="YEAR" or $myleixin=="TINYINT")
{
//类型为年份的默认为4位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(4) $myifNull");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="BIGINT")
{
//BIGINT长整型默认为20位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(20) $myifNull");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="SMALLINT")
{
//SMALLINT短整型默认为6位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(6) $myifNull");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="MEDIUMINT")
{
//MEDIUMINT型默认为9位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(9) $myifNull");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
}
}
elseif($myleixin=="INT")
{
//INT整型默认为11位
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin(11) $myifNull");
if
($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
} }
elseif($myleixin=="TIMESTAMP")
{
//类型为时间TIMESTAMP的默认自动添加年月日与时间
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
} }
else
{
$result=mysql_query("ALTER TABLE $mytbname MODIFY COLUMN $myNewzhi
$myleixin($mychangdu) $myifNull");
if ($result){
echo "修改字段 ok
";
}
else{
die(
mysql_error());
}
}
///修改字段的默认值
if ($myifDefault!=''){
$result=mysql_query("ALTER TABLE $mytbname
ALTER $myNewzhi SET DEFAULT
'$myifDefault'");
if (!$result){
die(mysql_error());
}
}
///修改字段的唯一索引
if ($myifunique!=''){
$result=mysql_query("ALTER TABLE $mytbname
ADD UNIQUE ($myNewzhi)");
if (!$result){
echo "唯一索引添加失败";
die(mysql_error());
}
}
else{
$result=mysql_query("ALTER TABLE $mytbname DROP INDEX
$myNewzhi");
if (!$result){
echo "唯一索引撤销失败";
die(mysql_error());
}
}
//
}
if($_GET['xiugai']!=null)
{
$xiugaiID= $_GET['xiugai'];
$fromtb=
$_GET['fromtb'];
$i = 0 ;
$sqlColumns = mysql_query ( "SHOW COLUMNS FROM $fromtb" , $con )
or die ( "错误或该表不存在" ) ;
// 统计字段总数
$columnNum = mysql_num_rows ( $sqlColumns) ;
// 循环每个字段
while ( $i < $columnNum ) {
// 获取每个字段信息信息
$colname = mysql_fetch_array ($sqlColumns) ;
if ($i==$xiugaiID){
//echo
"
".$colname['Field'].$colname['Type'].$colname['Null'].$colname['Key'].$colname['Default'].$colname['Extra']; $Nam=$colname['Field'];
$Defa=$colname['Default'];
$patterns ="/\d+/";
$patterns2 ="^[a-za-z]+$";
$strs=$colname['Type'];
preg_match_all($patterns,$strs,$arr);
//print_r($arr);
//echo $arr[0][0];//显示字段数据类型长度
$lei=str_replace($arr[0][0],"",$strs);
$lei=str_replace("()","",$lei);
//echo $lei;
}
// 答应详细字段信息
//print_r ( $colname ) ;
//echo
"
".$colname[2].$sqlColumns;
$i ++ ;
}
//输出一段HTML代码使用下面
echo<<
action="?action=sub&oldName={$Nam}"
method="POST">
name="tbname"type="text"class="inpu"
value="{$_GET['fromtb']}"
readonly="true">
字段名称
type="text"class="inpu" value="{$Nam}">
字段长度
name="changdu"type="text"class="inpu"
value="{$arr[0][0]}">
数据类型
name="leixin">
value="{$lei}">{$lei}
value="CHAR">CHAR
value="VARCHAR">VARCHAR
value="VARBINARY">VARBINARY
value="TINYINT">TINYINT
value="INT">INT
value="BIGINT">BIGINT
value="SMALLINT">SMALLINT
value="MEDIUMINT">MEDIUMINT
value="TIME">TIME
value="DATE">DATE
value="YEAR">YEAR
value="DATETIME">DATETIME
value="TIMESTAMP">TIMESTAMP
value="TEXT">TEXT
value="MEDIUMTEXT">MEDIUMTEXT
value="TINYTEXT">TINYTEXT
value="LONGTEXT">LONGTEXT
value="BOOL">BOOL
value="BINARY">BINARY
value="FLOAT">FLOAT
value="DOUBLE">DOUBLE
value="TINYBLOB">TINYBLOB
value="BLOB">BLOB
value="MEDIUMBLOB">MEDIUMBLOB
value="LONGBLOB">LONGBLOB
允许空值
name="ifnull">
value>允许
selected value="NOT
NULL">不允许
唯一索引
value="">否
value="UNIQUE">是
默认值;
value="{$Defa}">
value="sub">
name="submit"type="submit"value="确定修改字段"class="bo">
EOT;
}
//插入字段的表单
if($_GET['inZiduan']!=null)
{
$inZtable=$_GET['inZiduan'];
//输出一段HTML代码使用下面
echo<<
method="POST">
color="#0000FF">插入新字段
已经存在默认字段ID字段:id
1起步,长自动+1,长度为11位的默认主键
name="tbname"type="text"class="inpu"
value="{$_GET['inZiduan']}"
readonly="true">
字段名称
name="zhi"type="text"class="inpu">
字段长度
name="changdu"type="text"class="inpu">
数据类型
name="leixin">
value="CHAR">CHAR
value="VARCHAR">VARCHAR
value="VARBINARY">VARBINARY
value="TINYINT">TINYINT
value="INT">INT
value="BIGINT">BIGINT
value="SMALLINT">SMALLINT
value="MEDIUMINT">MEDIUMINT
value="TIME">TIME
value="DATE">DATE
value="YEAR">YEAR
value="DATETIME">DATETIME
value="TIMESTAMP">TIMESTAMP
value="TEXT">TEXT
value="MEDIUMTEXT">MEDIUMTEXT
value="TINYTEXT">TINYTEXT
value="LONGTEXT">LONGTEXT
value="BOOL">BOOL
value="BINARY">BINARY
value="FLOAT">FLOAT
value="DOUBLE">DOUBLE
value="TINYBLOB">TINYBLOB
value="BLOB">BLOB
value="MEDIUMBLOB">MEDIUMBLOB
value="LONGBLOB">LONGBLOB
允许空值
name="ifnull">
value>允许
selected value="NOT
NULL">不允许
唯一索引
value="">否
value="UNIQUE">是
value="submitted">
name="submit"type="submit"value="确定插入字段"class="bo">
EOT;
}
//新建表
if($_POST['NewTable']!=null)
{
$mNewTable=$_POST['NewTable'];
//mysql_select_db($mydatabase, $con);
$sql = "CREATE TABLE $mNewTable (
id int NOT
NULL AUTO_INCREMENT, PRIMARY KEY(id)
);";
mysql_query($sql,$con);
echo"数据表".$mNewTable."成功建立
";
}
if($_GET['Creatable']!=null)
{
echo<<
action="?action=yes"method="post"name="checkForm"id="checkForm">新建表名称:
name="NewTable"type="text"id="NewTable">
name="sendtj"type="hidden"value="1">
type="submit"name="button"id="button"value="提交">
EOT;
}
$result = mysql_query("SHOW TABLES"); echo "【
href='?Creatable=yes'>新建表
】数据库所有数据表:";while($row = mysql_fetch_array($result))
{
echo "
href='?tableName=".$row['0']."'>"
. $row['0'] .
"
";}
mysql_free_result($result);
//下面显示某个表的所有字段属性
if($_GET['tableName']!=null)
{
$sql ="SHOW COLUMNS FROM $mytable";
if($res = mysql_query($sql)){
while($column = mysql_fetch_assoc($res)){
$columns[] = $column;
// $fields =
$column['Field'];//将数据表名称返回到数组中.
//echo
"$fields";
}
}
echo "
with=400
border='1'>
字段类型 允许空值主键默认值其他管理 ";$i=0;
foreach($columns as $column)
{ echo<<
href='?xiugai={$i}&fromtb=$mytable'>{$column['Field']}
class="td">{$column['Type']}
class="td">{$column['Null']}
class="td">{$column['Key']}
class="td">{$column['Default']}
class="td">{$column['Extra']}
href='?delzi={$column['Field']}&fromtb=$mytable'>删除
EOT;
$i++;
}
echo "
";}
mysql_close($con);
?>