Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 删除所有表中存在的所有记录_Mysql_Sql Delete - Fatal编程技术网

Mysql 删除所有表中存在的所有记录

Mysql 删除所有表中存在的所有记录,mysql,sql-delete,Mysql,Sql Delete,如何在SQL中进行查询以删除每个表中存在的所有记录 有可能使用delete命令写入每个名称表。但是,编写每个名称表需要很长时间 我已经在MySQL中尝试从*删除,但出现错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“*”附近使用的正确语法 您只需对每个表执行截断查询。您也可以使用delete,但是truncate通常更适合您所做的事情 TRUNCATE TABLE table1; TRUNCATE TABLE table2; TRUNCATE TABLE tab

如何在SQL中进行查询以删除每个表中存在的所有记录

有可能使用delete命令写入每个名称表。但是,编写每个名称表需要很长时间

我已经在MySQL中尝试从*删除,但出现错误:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“*”附近使用的正确语法


您只需对每个表执行截断查询。您也可以使用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:不,实际上我想在删除数据库中存在的所有记录后插入记录。谢谢