sql >> データベース >  >> RDS >> Mysql

SQL ALTER DATABASE構文–DBMSによってリストされます

    この記事には、SQL ALTER DATABASEが含まれています さまざまなデータベース管理システム(DBMS)によって実装される構文。構文は、各ベンダーがWebサイトにリストしているとおりに正確にリストされています。特定のベンダーの構文の詳細を表示するには、該当するリンクをクリックしてください。

    対象となるDBMSは、MySQL、SQL Server、PostgreSQL、およびOracleデータベースです。

    MySQL

    MySQL 5.7リファレンスマニュアルから:

    ALTER {DATABASE | SCHEMA} [db_name]
        alter_specification ...
    ALTER {DATABASE | SCHEMA} db_name
        UPGRADE DATA DIRECTORY NAME
    
    alter_specification:
        [DEFAULT] CHARACTER SET [=] charset_name
      | [DEFAULT] COLLATE [=] collation_name

    SQL Server

    Transact-SQLリファレンスから:

    ALTER DATABASE { database_name  | CURRENT }
    {
        MODIFY NAME = new_database_name 
      | COLLATE collation_name
      | <file_and_filegroup_options>
      | <set_database_options>
    }
    [;]
    
    <file_and_filegroup_options >::=
      <add_or_modify_files>::=
      <filespec>::= 
      <add_or_modify_filegroups>::=
      <filegroup_updatability_option>::= 
    
    <set_database_options>::=
      <optionspec>::= 
      <auto_option> ::= 
      <change_tracking_option> ::=
      <cursor_option> ::= 
      <database_mirroring_option> ::= 
      <date_correlation_optimization_option> ::=
      <db_encryption_option> ::=
      <db_state_option> ::=
      <db_update_option> ::=
      <db_user_access_option> ::=
      <external_access_option> ::=
      <FILESTREAM_options> ::=
      <HADR_options> ::=  
      <parameterization_option> ::=
      <recovery_option> ::= 
      <service_broker_option> ::=
      <snapshot_option> ::=
      <sql_option> ::= 
      <termination> ::=

    PostgreSQL

    PostgreSQL 9.5マニュアルから:

    ALTER DATABASE name [ [ WITH ] option [ ... ] ]
    
    where option can be:
    
        ALLOW_CONNECTIONS allowconn
        CONNECTION LIMIT connlimit
        IS_TEMPLATE istemplate
    
    ALTER DATABASE name RENAME TO new_name
    
    ALTER DATABASE name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
    
    ALTER DATABASE name SET TABLESPACE new_tablespace
    
    ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }
    ALTER DATABASE name SET configuration_parameter FROM CURRENT
    ALTER DATABASE name RESET configuration_parameter
    ALTER DATABASE name RESET ALL

    Oracleデータベース

    Oracle Database Online Documentation 12 cから リリース1(12.1):

    ALTER DATABASE [ database ]
      { startup_clauses
      | recovery_clauses
      | database_file_clauses
      | logfile_clauses
      | controlfile_clauses
      | standby_database_clauses
      | default_settings_clauses
      | instance_clauses
      | security_clause
      } ;

    以下に、さまざまな条項の詳細の概要を示します。

    startup_clauses ::=

    { MOUNT [ { STANDBY | CLONE } DATABASE ]
    | OPEN
      { [ READ WRITE ]
          [ RESETLOGS | NORESETLOGS ]
            [ UPGRADE | DOWNGRADE ]
      | READ ONLY
      }
    }

    restorey_clauses ::=

    { general_recovery
    | managed_standby_recovery
    | BEGIN BACKUP
    | END BACKUP
    }

    general_recovery ::=

    RECOVER
    [ AUTOMATIC ]
    [ FROM 'location' ]
    { { full_database_recovery
      | partial_database_recovery
      | LOGFILE 'filename'
      }
      [ { TEST
        | ALLOW integer CORRUPTION
        | parallel_clause
        }...
      ]
    | CONTINUE [ DEFAULT ]
    | CANCEL
    }

    full_database_recovery ::=

    [ STANDBY ] DATABASE
    [ { UNTIL { CANCEL
              | TIME date
              | CHANGE integer
              | CONSISTENT
              }
      | USING BACKUP CONTROLFILE
      | SNAPSHOT TIME date
      }...
    ]

    partial_database_recovery ::=

    { TABLESPACE tablespace [, tablespace ]...
    | DATAFILE { 'filename' | filenumber }
                 [, 'filename' | filenumber ]...
    }

    parallel_clause ::=

    { NOPARALLEL | PARALLEL [ integer ] }

    managed_standby_recovery ::=

    RECOVER
    { MANAGED STANDBY DATABASE
        [ { USING ARCHIVED LOGFILE
          | DISCONNECT [FROM SESSION]
          | NODELAY
          | UNTIL CHANGE integer
          | UNTIL CONSISTENT
          | parallel_clause
          }...
        | FINISH
        | CANCEL
        ]
    | TO LOGICAL STANDBY { db_name | KEEP IDENTITY }
    }

    database_file_clauses ::=

    { RENAME FILE  'filename' [, 'filename' ]...
       TO 'filename'
    | create_datafile_clause
    | alter_datafile_clause
    | alter_tempfile_clause
    | move_datafile_clause
    }

    create_datafile_clause ::=

    CREATE DATAFILE
       { 'filename' | filenumber }
         [, 'filename' | filenumber ]...
       }
       [ AS { file_specification
              [, file_specification ]...
            | NEW
            }
       ]

    alter_datafile_clause ::=

    DATAFILE
       { 'filename' | filenumber }
         [, 'filename' | filenumber ]...
       }
       { ONLINE
       | OFFLINE [ FOR DROP ]
       | RESIZE size_clause
       | autoextend_clause
       | END BACKUP
       }

    alter_tempfile_clause ::=

    TEMPFILE
       { 'filename' [, 'filename' ]...
       | filenumber [, filenumber ]...
       }
       { RESIZE size_clause
       | autoextend_clause
       | DROP [ INCLUDING DATAFILES ]
       | ONLINE
       | OFFLINE
       }

    move_datafile_clause ::=

    MOVE DATAFILE ( 'filename' | 'ASM_filename' | file_number )
     [ TO ( 'filename' | 'ASM_filename' ) ]
     [ REUSE ] [ KEEP ]

    ASM_filename ::=

    { fully_qualified_file_name
    | numeric_file_name
    | incomplete_file_name
    | alias_file_name
    }

    autoextend_clause ::=

    AUTOEXTEND
       { OFF
       | ON [ NEXT size_clause ]
            [ maxsize_clause ]
       }

    maxsize_clause ::=

    MAXSIZE { UNLIMITED | size_clause }

    logfile_clauses ::=

    { { ARCHIVELOG [ MANUAL ]
      | NOARCHIVELOG
      }
    | [ NO ] FORCE LOGGING
    | RENAME FILE 'filename' [, 'filename' ]...
        TO 'filename'
    | CLEAR [ UNARCHIVED ]
        LOGFILE logfile_descriptor [, logfile_descriptor ]...
        [ UNRECOVERABLE DATAFILE ]
    | add_logfile_clauses
    | drop_logfile_clauses
    | switch_logfile_clause
    | supplemental_db_logging
    }

    add_logfile_clauses ::=

    ADD [ STANDBY ] LOGFILE
       { 
         { [ INSTANCE 'instance_name' ] | [ THREAD 'integer' ] }
         [ GROUP integer ] redo_log_file_spec
           [, [ GROUP integer ] redo_log_file_spec ]...
       | MEMBER 'filename' [ REUSE ] [, 'filename' [ REUSE ] ]...
            TO logfile_descriptor [, logfile_descriptor ]...
       }

    drop_logfile_clauses ::=

    DROP [ STANDBY ] LOGFILE
       { logfile_descriptor
         [, logfile_descriptor ]...
       | MEMBER 'filename'
                [, 'filename' ]...
       }

    switch_logfile_clause ::=

    SWITCH ALL LOGFILES TO BLOCKSIZE integer

    Supplemental_db_logging ::=

    { ADD | DROP } SUPPLEMENTAL LOG
    { DATA
    | supplemental_id_key_clause
    | supplemental_plsql_clause
    }

    Supplemental_id_key_clause ::=

    DATA
    ( { ALL | PRIMARY KEY | UNIQUE | FOREIGN KEY }
        [, { ALL | PRIMARY KEY | UNIQUE | FOREIGN KEY } ]...
    )
    COLUMNS

    Supplemental_plsql_clause ::=

    DATA FOR PROCEDURAL REPLICATION

    logfile_descriptor ::=

    { GROUP integer
    | ('filename' [, 'filename' ]...)
    | 'filename'
    }

    controlfile_clauses ::=

    CREATE { [ LOGICAL | PHYSICAL ] STANDBY | FAR SYNC INSTANCE }
      CONTROLFILE AS
      'filename' [ REUSE ]
    | BACKUP CONTROLFILE TO
      { 'filename' [ REUSE ]
      | trace_file_clause
      }

    standby_database_clauses ::=

    { { activate_standby_db_clause
    | maximize_standby_db_clause
    | register_logfile_clause
    | commit_switchover_clause
    | start_standby_clause
    | stop_standby_clause
    | convert_database_clause
    } [ parallel_clause ] }
    |
    { switchover_clause | failover_clause }

    activate_standby_db_clause ::=

    ACTIVATE
         [ PHYSICAL | LOGICAL ]
         STANDBY DATABASE
         [ FINISH APPLY ]

    maximize_standby_db_clause ::=

    SET STANDBY DATABASE TO MAXIMIZE
    { PROTECTION | AVAILABILITY | PERFORMANCE }

    register_logfile_clause ::=

    REGISTER [ OR REPLACE ]
      [ PHYSICAL | LOGICAL ]
    LOGFILE [ file_specification  [, file_specification ]...
      [ FOR logminer_session_name ]

    switchover_clause ::=

    SWITCHOVER TO target_db_name [ VERIFY | FORCE ]

    failover_clause ::=

    FAILOVER TO target_db_name [ FORCE ]

    commit_switchover_clause ::=

    { PREPARE | COMMIT } TO SWITCHOVER
    [ TO { { [ PHYSICAL | LOGICAL ] PRIMARY
         | [ PHYSICAL ] STANDBY
         } [ { WITH | WITHOUT } SESSION SHUTDOWN
             { WAIT | NOWAIT }
           ]
         | LOGICAL STANDBY
         }
    | CANCEL
    ]

    start_standby_clause ::=

    START LOGICAL STANDBY APPLY
    [ IMMEDIATE ]
    [ NODELAY ]
    [ NEW PRIMARY dblink
    | INITIAL [ scn_value ]
    | { SKIP FAILED TRANSACTION | FINISH }
    ]

    stop_standby_clause ::=

    { STOP | ABORT } LOGICAL STANDBY APPLY

    convert_database_clause ::=

    CONVERT TO ( PHYSICAL | SNAPSHOT ) STANDBY

    default_settings_clauses ::=

    { DEFAULT EDITION = edition_name
    | SET DEFAULT { BIGFILE | SMALLFILE } TABLESPACE
    | DEFAULT TABLESPACE tablespace
    | DEFAULT TEMPORARY TABLESPACE { tablespace | tablespace_group_name }
    | RENAME GLOBAL_NAME TO database.domain [.domain ]...
    | ENABLE BLOCK CHANGE TRACKING [ USING FILE 'filename' [ REUSE ] ]
    | DISABLE BLOCK CHANGE TRACKING
    | [NO] FORCE FULL DATABASE CACHING
    | flashback_mode_clause
    | set_time_zone_clause
    }

    set_time_zone_clause ::=

    SET TIME_ZONE =
       '{ { + | - } hh : mi | time_zone_region }'

    flashback_mode_clause ::=

    FLASHBACK { ON | OFF }

    instance_clauses ::=

    { ENABLE | DISABLE } INSTANCE 'instance_name'

    security_clause ::=

    GUARD { ALL | STANDBY | NONE }

    GUIの使用

    ほとんどのDBMSでは、GUIを使用してデータベースを変更できます。これは、製品に付属しているGUIか、サードパーティによって開発されたGUIである可能性があります。たとえば、MySQL Workbenchは、MySQLで使用できるGUIツールです。


    1. PythonでのMongoEngineによるインデックス作成の処理

    2. パフォーマンスの問題を回避するための代替によるSQLカーソルの置き換え

    3. スキーマパターン検索

    4. APPROX_COUNT_DISTINCT()がSQLServerでどのように機能するか