PHP使用代码创建mysql表
<?php
namespace app\lib;
use Exception;
class CreateTable{
protected static $hostname = 'localhost'; //服务器地址
protected static $username = 'www_wanke_com';//用户名
protected static $dbname = 'www_wanke_com';//数据库名
protected static $password = '123456';//用户密码
// SHOW DATABASES //列出 MySQL Server 数据库。
// SHOW TABLES [FROM db_name] //列出数据库数据表。
// SHOW CREATE TABLES tbl_name //导出数据表结构。
// SHOW TABLE STATUS [FROM db_name] //列出数据表及表状态信息。
// SHOW COLUMNS FROM tbl_name [FROM db_name] //列出资料表字段
// SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。
// SHOW FULL COLUMNS FROM tbl_name [FROM db_name]//列出字段及详情
// SHOW FULL FIELDS FROM tbl_name [FROM db_name] //列出字段完整属性
// SHOW INDEX FROM tbl_name [FROM db_name] //列出表索引。
// SHOW STATUS //列出 DB Server 状态。
// SHOW VARIABLES //列出 MySQL 系统环境变量。
// SHOW PROCESSLIST //列出执行命令。
// SHOW GRANTS FOR user //列出某用户权限
// DESC TABLE //获取表详细信息
/**
* 获取数据表字段
*
* @param [type] $tablename
* @return void
*/
public static function getTableFieldAll($tablename){
// 创建连接
$conn = mysqli_connect(self::$hostname, self::$username, self::$password, self::$dbname);
// 检测连接
if (!$conn) {
throw new Exception("连接失败: " . mysqli_connect_error());
}
$sql = "SHOW FULL COLUMNS FROM ".$tablename;
$result = mysqli_query($conn, $sql);
$arr = [];
while($row = mysqli_fetch_assoc($result)){
array_push($arr,$row);
}
return $arr;
}
/**
* 组治数据
*/
public static function getJson($father_json,$son_json){
$father = json_decode($father_json,true);
$son = json_decode($son_json,true);
$arr = [];
foreach($father as $k=>$v){
$new_arr = [
'name'=>'father_'.$k,
'desc'=>$v,
];
array_push($arr,$new_arr);
}
foreach($son as $k=>$v){
$new_arr = [
'name'=>'son_'.$k,
'desc'=>$v,
];
array_push($arr,$new_arr);
}
return $arr;
}
/**
* 创建数据库表
* @param $tablename 表名
* @param $data 创建的字段
*/
public static function createTable($tablename,$data=[])
{
// 创建连接
$conn = mysqli_connect(self::$hostname, self::$username, self::$password, self::$dbname);
// 检测连接
if (!$conn) {
throw new Exception("连接失败: " . mysqli_connect_error());
}
$str = '';
foreach($data as $value){
$str .= $value['name']." VARCHAR(255) NOT NULL COMMENT '{$value['desc']}',";
}
// 使用 sql 创建数据表
$sql = "CREATE TABLE wk_a$tablename (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
activity_id INT(10) NOT NULL,
user_id INT(10) NOT NULL,
$str
create_at TIMESTAMP
) COMMENT='模板表$tablename'";
// halt($sql);
if (mysqli_query($conn, $sql)) {
return true;
} else {
throw new Exception("创建数据表错误: " . mysqli_error($conn));
}
mysqli_close($conn);
}
}
还不快抢沙发