Mysql delete操作

以下摘自官方文档:

语法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [PARTITION (partition_name,...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

性能:   When you do not need to know the number of deleted rows, the TRUNCATE TABLE statement is a faster way to empty a table than a DELETEstatement with no WHERE clause. Unlike DELETETRUNCATE TABLE cannot be used within a transaction or if you have a lock on the table. SeeSection 14.1.34, “TRUNCATE TABLE Syntax” and Section 14.3.5, “LOCK TABLES and UNLOCK TABLES Syntax”.   简单理解是:truncate 在不锁表的情况下,很快:

如果想用delete删除快点:    The time required to delete individual rows in a MyISAM table is exactly proportional to the number of indexes. To delete rows more quickly, you can increase the size of the key cache by increasing the key_buffer_size system variable    可以配置的key_buffer_size大小多表删除:(1)不带别名
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;

Or:

DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;(2)带别名:必须写别名:

If you declare an alias for a table, you must use the alias when referring to the table:

DELETE t1 FROM test AS t1, test2 WHERE ...

Correct:

DELETE a1, a2 FROM t1 AS a1 INNER JOIN t2 AS a2
WHERE a1.id=a2.id;

DELETE FROM a1, a2 USING t1 AS a1 INNER JOIN t2 AS a2
WHERE a1.id=a2.id;
				
时间: 2024-10-11 23:31:02

Mysql delete操作的相关文章

MySQL 误操作后数据恢复(update,delete忘加where条件)

在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者DBA的我们改如何处理呢?下面我分别针对update和delete操作忘加where条件导致全表更新的处理方法. 一. update 忘加where条件误操作恢复数据(binglog格式必须是ROW) 1.创建测试用的数据表 mysql> create table t1 ( -> id int un

数据库MySQL简单操作(三)

1.3 多表查询 1.3.1连接查询: #内连接: 自连接查询: #外连接 左外连接(可以查询出表名1的所有记录,而表名2中只能查出匹配的记录) SELECT 属性名列表 FROM 表名1 LEFT JOIN 表名2 ON 表名1.属性名1=表名2.属性名2: # 右外连接(可以查询出表名2的所有记录,而表名1中只能查出匹配的记录): 先给右表插入一些值: 然后进行右外连接查询: 1.4 修改某些记录的字段 前面简单介绍了增(insert into)和 查(select * from),这里接着

MySql数据库操作

MySql数据库操作 –登录MySql:--– Windows环境进入cmd后输入mysql –h localhost –u root –p,再输入密码就可以启动mysql;其中localhost是mysql服务器所在的ip如果是本机可以用localhost. –数据库相关操作--– create database db_name(数据库名称)建名为db_name的数据库 show databases查看已经存在的数据库 drop database db_name删除名为db_name的数据库

MySql常用操作语句(1:启动、连接数据库及用户操作)

下方将个人常用的MySql操作语句(Win7下)总结如下: 1. 启动与关闭数据库 “管理员”权限, MySql安装目录下bin目录//:  1.1 启动 @>net start mysql  1.2 关闭 @>net stop mysql;  1.3 问题:服务名无效 这种情况是mysql服务没有安装,这时需要在同个目录下安装服务: @>mysqld -install 相应地,卸载命令是: @>mysqld -remove 2. 连接数据库 “管理员”权限, MySql安装目录下

Python 3 mysql 库操作

Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list,相当于一个具体的文件 记录:1 刘海龙 324245234 22,相当于文件中的一行内容 二.SQL语言简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询

mysql的操作

SQL分类 DDL DDL:Data Definition Language,数据定义语言 主要是用来定义和维护数据库的各种操作对象,比如库.表.索引.视图 也可以说,操作的层次是在数据库的库和表的逻辑结构和存储结构上面,并没有对表中的实际的数据进行操作(增删改查)! 主要的操作关键字有:create.drop.alter等 DML DML:Data Manipulation Language,数据操作语言 主要是对表中的记录进行增删改查的操作! 其中,"查询"部分,有可以叫作DQL

web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记

hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,attr(属性名,属性值)格式则是设置元素属性名的值. 控制就是获取以及设置 <h3>attr()方法设置元素属性</h3> <a href="http://127.0.0.1" id="a1">点我就变</a> <d

MYSQL常用操作函数的封装

1.mysql常用函数封装文件:mysql.func.php <?php /** * 连接MYSQL函数 * @param string $host * @param string $username * @param string $password * @param string $dbName * @param string $charset * @return resource */ function connect($host,$username,$password,$dbName,$

MySQL DML操作--------CURD最佳实战

1. 背景 * CURD 操作通常是使用关系型数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的 * CURD 定义了用于处理数据的基本原子操作 * CURD 代表创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作. 2. 创建表操作 * 创建数据库(DB)  mytest CHARACTER SET: 设置字符集 mysql> CREATE DATABASE mytest CHARACTER SET ut