詳細については、https://www.cnblogs.com/lichihua/p/5706285.htmlを参照してください。
<?php
require_once('../config.php'); // config.php under root folder
require_once($CFG->dirroot .'/course/lib.php');
require_once($CFG->libdir .'/filelib.php');
//redirect_if_major_upgrade_required();
詳細なパラメーター
//与えられた基準に一致するレコードの数を確認します
//①count_records:$ DB-> count_records($テーブル、配列$条件= null)
相当//統計関数:mdl_userからSELECT COUNT(*);エコー$ DB-> count_records( 'ユーザー') '<BR> <BR>';ユーザーの//クエリ数。
//②$ DB-> count_records_select($ table、$ select、array $ params = null、$ countitem = "COUNT( 'x')")
//注:COUNT( 'x')はCOUNT(*)と同等ですecho $ DB-> count_records_select( 'user'、 'firstname =?'、Array( 'classmate')、 "COUNT( 'x')")。 」
データベース構造操作:
https://docs.moodle.org/dev/Data_definition_API
function xmldb_xxxx_upgrade {
global $DB;
$dbman = $DB->get_manager(); // loads ddl manager and xmldb classes
/// Your upgrade code goes here
}
運用データシート:
/// To detect if one table exists:
$dbman->table_exists($table)
/// To create one table:
$dbman->create_table($table, $continue=true, $feedback=true)
/// To drop one table:
$dbman->drop_table($table, $continue=true, $feedback=true)
/// To rename one table:
$dbman->rename_table($table, $newname, $continue=true, $feedback=true)
オペレーションデータフィールド:
/// To detect if one field exists:
$dbman->field_exists($table, $field)
/// To create one field:
$dbman->add_field($table, $field, $continue=true, $feedback=true)
/// To drop one field:
$dbman->drop_field($table, $field, $continue=true, $feedback=true)
/// To change the type of one field:
$dbman->change_field_type($table, $field, $continue=true, $feedback=true)
/// To change the precision of one field:
$dbman->change_field_precision($table, $field, $continue=true, $feedback=true)
/// To change the signed/unsigned status of one field:
$dbman->change_field_unsigned($table, $field, $continue=true, $feedback=true)
/// To make one field nullable or not:
$dbman->change_field_notnull($table, $field, $continue=true, $feedback=true)
/// To drop one enum (check constraint) from one field:
/// (note this function will be only available in Moodle 2.0 as it's needed
/// to drop any enum existing in previous Moodle releases). Will be out in Moodle 2.1
$dbman->drop_enum_from_field($table, $field, $continue=true, $feedback=true)
/// To change the default value of one field:
$dbman->change_field_default($table, $field, $continue=true, $feedback=true)
/// To rename one field:
$dbman->rename_field($table, $field, $newname, $continue=true, $feedback=true)
操作インデックス:
/// To detect if one index exists:
$dbman->index_exists($table, $index)
/// To return the name of one index in DB:
$dbman->find_index_name($table, $index)
/// To add one index:
$dbman->add_index($table, $index, $continue=true, $feedback=true)
/// To drop one index:
$dbman->drop_index($table, $index, $continue=true, $feedback=true)