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);
}

}


本文由 来鹏飞 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论