《PHP动态创建MYSQL数据表实例.doc》由会员分享,可在线阅读,更多相关《PHP动态创建MYSQL数据表实例.doc(7页珍藏版)》请在三一文库上搜索。
1、PHP动态创建MYSQL数据表实例文件1:conn.php-文件2:table.php-创建数据表.bowidth:150px;height:30px;font-size:16px;color:#000000;.inpuwidth:100px;height:22px;0 or substr_count($num, )0 or !ereg(0-9,$num) or $num35 OR $numform name=tables action= method=post表 名:input name=tbname type=text ondblclick=v
2、alue= value= maxlength=12 * 英文与数字组合,并且为数字开头字段数:input name=num type=text value= maxlength=2 * 除id主键外(不计ID主键)还需创建几个字段 创建提示:数据表名只能是小写字母(并且以小写字母开头)与数字的12位组合,名称两边及中间不能留有空格; &n
3、bsp; 字段个数为135内的数字,超出限制无效,请严格按照要求说明创建数据表!input name=tbname type=hidden value=input name=num type=hidden value=创建数据表:ID字段:id 1起步长自动+1,长度为11位的默认主键?phpfor($i=1;$i字段 input name= type=text class=inpu &
4、nbsp; 长度值:input name= type=text class=inpu 数据类型:select name=CHARVARCHARVARBINARYTINYINT INTBIGINTSMALLINTMEDIUMINTTIMEDATEYEARDATETIMETIMESTAMPTEXTMEDIUMTEXTTINYTEXTLONGTEXTBOOLBINARYFLOATDOUBLETINYBLOBBLOBMEDIUMBLOBLONGBLOB 是否允许空值:select name
5、=not nullnull 是否唯一索引:select name=否是 创建提示:各字段值为小写字母(并以小写字母开头)与数字的12位字母与数字组合; 实际上,CHAR、VA
6、RCHAR、VARBINARY三项需要指明长度值(默认为250), 其他都可以不指定长度值,请按说明创建数据表!数据库?php $tables = mysql_list_tables(数据库名); /这里填要检测数据表个数的数据库名 $rows = mysql_num_rows($tables); echo 已有数据表: .$rows.个; $i
7、= 0; while($i$rows) $table_name$i = mysql_tablename($tables , $i); echo $table_name$i.; $i+; ?-文件3:creatablet.php-创建数据表?php$tbname=$_POSTtbname;$num=$_POSTnum;$zhi=zhi;$changdu=changdu;$leixin=leixin;$ifnull=ifnull;$ifunique=ifunique;/先创建基本数据表$sql=CREATE TABLE .$tbname.(id INT( 11 ) NOT NULL AUTO_IN
8、CREMENT PRIMARY KEY);$result=mysql_query($sql);/逐条添加字段for($i=1;$i$num+1;$i+)$myzhi$i= $_POST$zhi.$i;$mychangdu$i= $_POST$changdu.$i;$myleixin$i= $_POST$leixin.$i;$myifnull$i= $_POST$ifnull.$i;$myifunique$i= $_POST$ifunique.$i;if($myzhi$i=)/如果字某段值为空时$myzhi$i=$zhi.$i;if($myleixin$i=DOUBLE or $myleixin
9、$i=FLOAT or $myleixin$i=BOOL or $myleixin$i=TIME or $myleixin$i=DATE or $myleixin$i=DATETIME or $myleixin$i=TEXT or $myleixin$i=TINYBLOB or $myleixin$i=TINYTEXT or $myleixin$i=BLOB or $myleixin$i=MEDIUMBLOB or $myleixin$i=MEDIUMTEXT or $myleixin$i=LONGBLOB or $myleixin$i=LONGTEXT)/某些字符串类型不用定义长度值$msq
10、l=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i. .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($mychangdu$i= and ($myleixin$i=CHAR or $myleixin$i=VARCHAR or $myleixin$i=VARBINARY)/如果VARBINARY、CHAR、VARCHAR三项没有指明长度值时,则长度默认为250位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixi
11、n$i.(250) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=BINARY)/BINARY 类型默认为1位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(1) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=YEAR)/类型为年份的默认为4位$msql=ALTER TABLE .$tbname. ADD .$myz
12、hi$i. .$myleixin$i.(4) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=TINYINT )/TINYINT 类型默认为4位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(4) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=BIGINT)/BIGINT长整型默认为20位$msql=ALTER TAB
13、LE .$tbname. ADD .$myzhi$i. .$myleixin$i.(20) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=SMALLINT)/SMALLINT短整型默认为6位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(6) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=MEDIUMINT)/MED
14、IUMINT型默认为9位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(9) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin$i=INT)/INT整型默认为11位$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(11) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);elseif($myleixin
15、$i=TIMESTAMP)/类型为时间TIMESTAMP的默认自动添加年月日与时间$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;$mresult=mysql_query($msql);else$msql=ALTER TABLE .$tbname. ADD .$myzhi$i. .$myleixin$i.(.$mychangdu$i.) .$myifnull$i. .$myifunique$i.;$mresult=mysql_query($msql);echo alert(成功创建数据表:.$tbname.);location.href=table.php;?-