一、判斷某數據庫是否存在
(一)單純判斷數據庫dbname是否存在
SQL語句爲:
SELECT * FROM information_schema.SCHEMATA where SCHEMA_NAME='dbname';
c#實現代碼如下:
String sqlConn = "server=10.0.0.3;port=3306;user=root;password=mypassword;";
MySqlConnection conn = new MySqlConnection(sqlConn);//
string sqlDB = "SELECT * FROM information_schema.SCHEMATA where SCHEMA_NAME='dbname';";
MySqlDataAdapter adp = new MySqlDataAdapter(sqlDB, conn);
DataSet ds = new DataSet();
adp.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
MessageBox.Show("數據庫已存在");
else
MessageBox.Show("數據庫不存在!");
(二)如果判斷數據庫dbname存在,則刪除
SQL語句如下:
DROP DATABASE IF EXISTS `test1`;
MySqlCommand cmd=new MySqlCommand(string.Format("DROP DATABASE IF EXISTS 'test';"));
cmd.ExecuteNonQuery();
(三)如果判斷數據庫dbname不存在,則創建數據庫
SQL語句如下:
CREATE DATABASE IF NOT EXISTS `test1` ;
c#執行代碼如下:
MySqlCommand cmd=new MySqlCommand(string.Format("CREATE DATABASE IF NOT EXISTS 'test';"));
cmd.ExecuteNonQuery();
二、判斷數據庫中某數據表是否存在
(一)單純判斷dbname數據庫中是否存在tbname表格
SQL語句爲:
SELECT * FROM information_schema.TABLES where table_name='tbname' and TABLE_SCHEMA='dbname';
c#實現代碼如下:
String sqlConn = "server=10.0.0.3;port=3306;user=root;password=mypassword;";
MySqlConnection conn = new MySqlConnection(sqlConn);//
string sqlTB = "SELECT * FROM information_schema.TABLES where table_name='tbname' and TABLE_SCHEMA ='dbname';";
MySqlDataAdapter adp = new MySqlDataAdapter(sqlTB, conn);
DataSet ds = new DataSet();
adp.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
MessageBox.Show("數據庫表已存在");
else
MessageBox.Show("數據庫表不存在!");
(二)如果判斷dbname數據庫中不存在tbname數據表,則創建
SQL語句爲:
CREATE TABLE IF NO NOT EXISTS `tbname` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`unit` varchar(45) DEFAULT NULL,
`name` varchar(45) DEFAULT NULL,
`phone` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=56370 DEFAULT CHARSET=utf8;
C#實現代碼如下:
MySqlCommand cmd;
cmd=new MySqlCommand(string.Format("CREATE DATABASE IF NOT EXISTS dbname;"),conn);
cmd.ExecuteNonQuery();
string sqlcreatetable = string.Format("CREATE TABLE IF NOT EXISTS dbname.tbname(id int(11) NOT NULL AUTO_INCREMENT,unit varchar(45) DEFAULT NULL,name varchar(45) DEFAULT NULL,phone varchar(45) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=56370 DEFAULT CHARSET=utf8;");
cmd = new MySqlCommand(sqlcreatetable, conn);
cmd.ExecuteNonQuery();
(三)如果判斷dbname數據庫中存在tbname數據表,則刪除
SQL語句爲:
Drop table if exists dbname.tbname;
c#實現代碼如下:
MySqlCommand cmd;
cmd=new MySqlCommand(string.Format("Drop table if exists dbname.tbname;"),conn);
cmd.ExecuteNonQuery();