MySQL为我们提供了delete和truncate语句来删除数据。
10多年的萧山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整萧山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“萧山网站设计”,“萧山网站推广”以来,每个客户项目都认真落实执行。
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删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。
删除一条记录简单方法,应该说是最简单的入门级的了.
mysqldelete
from
表名
where
id=1;
query
ok,
这样就可以删除了,
如果你和php教程
mysql配置只要利用php连接到数据库教程再用php
mysql_query("delete
from
表名
where
id=1");就可以删除了。
?php
$con
=
mysql_connect("localhost","peter","abc123");
if
(!$con)
{
die('could
not
connect:
'
.
mysql_error());
}
mysql_select_db("my_db",
$con);
mysql_query("delete
from
person
where
lastname='griffin'");
mysql_close($con);
?
下面看一下关于mysql
delete语法.
删除数据库中的数据
delete
from
语句用于从数据库表中删除记录。
语法
delete
from
table_name
where
column_name
=
some_value
注释:sql
对大小写不敏感。delete
from
与
delete
from
等效。
为了让
php
执行上面的语句,我们必须使用
mysql_query(
函数。该函数用于向
sql
连接发送查询和命令
1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
2、truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。
注意:truncate 不能删除行数据,要删就要把表清空。
3、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
truncate与不带where的delete :只删除数据,而不删除表的结构(定义)
4、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。如果要删除表定义及其数据,请使用 drop table 语句。
5、对于由foreign key约束引用的表,不能使用truncate table ,而应使用不带where子句的delete语句。由于truncate table 记录在日志中,所以它不能激活触发器。
6、执行速度,一般来说: drop truncate delete。
7、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
扩展资料
例子:
1、查看数据库
2、切换数据库
3、查看数据库中已创建的表
//删除是记录是用sql语句,比如 delete from xxx(table) where id=1 删除 id=1的记录
//数据库操作后,手动关闭是好得习惯,不手动关闭,php程序也会最后自动关闭
1、首先在视图页面找到要删除的id:
?php
$link=mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
$q = "SELECT * FROM info";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "table";
echo "trtd部门名称/tdtd员工姓名/tdtdPC名称/td/tr";
while($row = mysql_fetch_object($rs)) echo "trtda href='dodel.php?id=$row-id'del/a/tdtd$row-depart/tdtd$row-ename/td/tr";
echo "/table";
?
2、写一个delete.php页面,代码如下:
?php
$link =mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
$del_id=$_GET["id"];
$exec="delete from info where id=$del_id";
mysql_query($exec, $link);
echo "删除成功!";
mysql_close($link);
?
说明:用于MySQL数据删除的SQL语句为:
delete from 表名 where 条件=值
这里的值通过$del_id=$_GET["id"]来接收,并传递给SQL语句,最后通过mysql_query来执行这句SQL语句删除的。