Mysql 删除所有表中存在的所有记录
如何在SQL中进行查询以删除每个表中存在的所有记录 有可能使用delete命令写入每个名称表。但是,编写每个名称表需要很长时间 我已经在MySQL中尝试从*删除,但出现错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“*”附近使用的正确语法Mysql 删除所有表中存在的所有记录,mysql,sql-delete,Mysql,Sql Delete,如何在SQL中进行查询以删除每个表中存在的所有记录 有可能使用delete命令写入每个名称表。但是,编写每个名称表需要很长时间 我已经在MySQL中尝试从*删除,但出现错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“*”附近使用的正确语法 您只需对每个表执行截断查询。您也可以使用delete,但是truncate通常更适合您所做的事情 TRUNCATE TABLE table1; TRUNCATE TABLE table2; TRUNCATE TABLE tab
您只需对每个表执行截断查询。您也可以使用delete,但是truncate通常更适合您所做的事情
TRUNCATE TABLE table1;
TRUNCATE TABLE table2;
TRUNCATE TABLE table2;
没有*或all表选择器。我相信MySql有如下sql语句:
Show tables
使用Show tables
作为命令文本创建命令对象并执行
使用该语句可以执行查询并填充MySqlDataReader。迭代读取器并将表名放入格式化字符串中,如下所示
// create connection string
...
while (myDataReader.Read())
{
// execute command
string command = "TRUNCATE TABLE {0}";
MySqlCommand myCommand = new MySqlCommand();
myCommand.CommandText = string.Format(command, reader[0]);
using (MySqlConnection myConnection = new MySqlConnection(myConnString))
{
myCommand.Connection = myConnection;
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
}
}
这应该足够近,以帮助您走上正确的轨道。您可以使用迭代所有表并动态执行DELETE或TRUNCATE语句。可以使用DELETE语句 以下操作将删除所有行,但不会重置索引(例如自动增量) 从表格中删除* 以下内容将删除所有行,并且将重置索引 截断表 请用这个
<?php
mysql_connect('localhost', 'user', 'password');
$dbName = "database";
mysql_select_db($dbName)
$result_t = mysql_query("SHOW TABLES");
while($row = mysql_fetch_assoc($result_t))
{
mysql_query("TRUNCATE " . $row['Tables_in_' . $dbName]);
}
?>
最好的如果您想自动化这个,您必须在MySQL外部编写一些代码。使用
show tables
获取表名,然后对每个表名调用TRUNCATE
。那么,这是用PHP实现的吗???我用C#提供了一个答案(有点伪)…Duplicate@dboarman:不,实际上我想在删除数据库中存在的所有记录后插入记录。谢谢