テーブルを削除するサンプルです。
テーブルが存在するか、information_schema(テーブルの名前、カラムのデータ型、アクセス権限などの MySQL Server に関する情報が格納されているテーブル)を検索して調べます。存在している場合にテーブルを削除するサンプルです。
プログラミング
言語:C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace SQLiteサンプル
{
public partial class Form1 : Form
{
/// <summary>
/// button1クリック時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
// MySQLへの接続情報
string connectionString = "server=localhost;" +
"uid=root;" +
"pwd=Develop_000;" +
"database=test_schema";
// 接続先データベースを指定する
MySqlConnection con = new MySqlConnection(connectionString);
try
{
// データベースと接続する
con.Open();
// SQLコマンドを宣言する
MySqlCommand cmd = con.CreateCommand();
// sampleテーブルが存在するか確認する
cmd.CommandText = " SELECT COUNT(*) from information_schema.tables " +
" WHERE table_schema = 'test_schema' " +
" AND TABLE_NAME = 'sample' ";
int cnt = Convert.ToInt32(cmd.ExecuteScalar());
if (cnt > 0)
{
// サンプルテーブルが存在する場合にはテーブルをドロップする
cmd.CommandText = "drop table sample";
cmd.ExecuteNonQuery();
}
}
finally
{
// データベースを切断する
con.Close();
}
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
実行結果
予めsampleテーブルを用意します。(カラムはなんでもOK)
buttonをクリックします。
SCHEMASのリフレッシュをクリックすると、テーブルからsampleが削除されていることが確認できます。
以上