[英]How can I use PHP to delete all records in a MySQL database?
I would like to scrap all my records in a database. 我想将我的所有记录都抄录到数据库中。 I want to use just a PHP script, not PhpMyAdmin.
我只想使用PHP脚本,而不要使用PhpMyAdmin。 I have will be using a MySQL database administrator account.
我将使用MySQL数据库管理员帐户。 What SQL query should I use?
我应该使用什么SQL查询?
You could run a query: 您可以运行查询:
/* Assumes the existence of a few key variables
and further, that your user has the appropriate permissions */
mysql_connect( $host, $user, $pass ) or die( mysql_error() );
mysql_select_db( $db ) or die( mysql_error() );
mysql_query( "TRUNCATE TABLE tablename" );
Or 要么
mysql_query( "DELETE FROM tablename" );
These queries will result in all records being deleted. 这些查询将导致所有记录被删除。 If you want only certain records to be dropped, add a
where
clause: 如果只希望删除某些记录,请添加
where
子句:
mysql_query( "DELETE FROM tablename WHERE userid = 5" );
To completely empty the database, dropping all tables (if that's what you really want to do), run this PHP script. 要完全清空数据库,删除所有表(如果您确实要这样做),请运行此PHP脚本。
<?php
header('Content-Type: text/plain');
$link = mysqli_connect('host', 'username', 'password');
mysqli_select_db($link, 'database_name');
mysqli_set_charset($link, 'utf8');
$sql = 'SHOW TABLE STATUS FROM `database_name`;';
$result = mysqli_query($link, $sql);
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = $row;
}
$n = 0;
foreach ($rows as $row) {
$sql = 'DROP TABLE IF EXISTS `' . mysql_real_escape_string($row['Name']) . '`;';
mysqli_query($link, $sql);
++$n;
}
echo $n . 'tables dropped' . PHP_EOL;
exit(__FILE__ . ': ' . __LINE__);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.