MySQL为我们提供了delete和truncate语句来删除数据.
delete 语句的定义:
删除数据的时候用的大多都是 delete 语句.现在让我们来看一下 delete语句的定义.
DELETE?[LOW_PRIORITY]?[QUICK]?[IGNORE]?FROM?tbl_name
[WHERE?where_definition]
[ORDER BY?...]
[LIMIT?row_count]
delete?from?friends?where?user_name?=?'simaopig';
delete 注意事项:
从语法结构中,我们就可以看出,和 update 语法一样,我们是可以省略 where 子句的.不过这是一个很危险的行为.因为如果不指定 where 子句,delete 将删除表中所有的记录,而且是立即删除.
truncate 语句的简单说明:
这个语句之前我也没有接触过,也没有使用过.因为一般情况下,删除数据大家都在使用delete语句.其实这个truncate 命令很简单,它的意思是:删除表的所有记录.相当于 delete 语句不写 where 子句一样.其语法结构为:
TRUNCATE?[TABLE]?tbl_name
这里简单的给出个示例,我想删除 friends 表中所有的记录,可以使用如下语句:
truncate?table?friends;
truncate 和 delete的效率问题:
如果想要删除表的所有数据,truncate语句要比 delete 语句快.因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表.这也是为什么当向一个使用 delete 清空的表插入数据时,MySQL 会记住前面产生的AUTOINCREMENT序列,并且继续利用它对AUTOINCREMENT字段编号.而truncate删除表后,表是从1开始为autoincrement字段编号.
不过truncate命令快规快,却不像delete命令那样对事务处理是安全的.所以呢,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息.
什么教数据全部归0
我们假设数据库中有三张表.
a,b,c,每个表有几个字段,也有很多数据,
那么你的问题到底是如下哪种
①.:删除掉该数据库中的所有表,a,b,c
补充1:
听你的描述你可能是只有一个表,表中有很多的字段,每个字段都代表一个投票项目,而表中的数据记录,其实只有一条?
你可以通过pg_num_fields获得字段数量,在通过pg_field_name获得字段名称,依次运行update
$dbconn = pg_connect("host=localhost");
$res = pg_query($dbconn, "select * from your_talbe_name");
$i = pg_num_fields($res);
for ($j = 0; $j $i; $j++) {
$fieldname = pg_field_name($res, $j);
pg_query($dbconn, "update your_talbe_name set $fieldname=0");
}
另外,我个人认为你这样实现投票的管理不是很好,投票项目一多很难管理,建议
create table xxx
(
id serial primary key,
name text,
num int
)
把投票项目的名字也就是你原来列的名称放到name字段中,num则为投票数,这样以后再有这种问题,一个update xxx set num=0就OK了,管理起来也方便些.
delete from 表名;
truncate table 表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据.
delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表.
PHP
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext?Preprocessor)的缩写.PHP?是一种?HTML?内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用.
php
if (isset($_POST["name"])) {
$select_db = mysql_select_db("test", $conn) or die(mysql_error());
$sql = 'select * from albums where artist = "' . $_POST["name"] . '"';
$rs = mysql_query($sql);
if ($rs) {
if (mysql_num_rows($rs) 0) {
$sql = 'delete from albums where artist = "' . $_POST["name"] . '"';
echo $sql;
echo "br";
echo $_POST["name"] . " delete successfully";
} else {
echo "delete fail: " . mysql_error();
echo "the name " . $_POST["name"] . " no exist in this database";
echo 'mysql fail: ' . mysql_error();
mysql_close($conn);
htmlhead
/head
body
form enctype="multipart/form-data" action="test.php" method="POST"
label查询名字/label
input type="text" name="name" /
input type="submit" value="从数据中查询并删除"
/form
/body
/html
以上就是土嘎嘎小编为大家整理的php清空表数据sql相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!