データベース内のすべてのテーブルを変更する単一または1行のコマンドはありますか?データベース内のすべてのテーブルでこのコマンドを発行したいと思います。
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8;
私の目的は、文字セットをlatin1からutf8にすべてのテーブルに変更することです。
PDATE: RDBMSはMySQLです
いいえ、そのようなコマンドはありません。しかし、あなたができることはあなたのためにあなたのためにSQLを生成するための簡単なクエリを書くことです:
USE INFORMATION_SCHEMA;
SELECT
CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` CONVERT TO CHARACTER SET UTF8;")
AS MySQLCMD FROM TABLES
WHERE TABLE_SCHEMA = "your_schema_goes_here";
次に、これからの出力を実行して、必要なことを実行できます。
出典:
http://forums.mysql.com/read.php?20,244395,244421#msg-244421
最も簡単な方法:データベースをエクスポートします。エクスポートしたデータベースをテキストエディターで開き、「UTF8」などで検索/置換を実行します。修正したデータベースを再インポートします。
MS SQL Serverを使用している場合は、ドキュメント化されていないストアドプロシージャms_foreachtableを使用できます。テーブル名を?に置き換えます。ステートメントで。
だからあなたの例では
EXEC ms_foreachtable 'ALTER TABLE [?] .....'