精华内容
下载资源
问答
  • 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。 一、delete语句 (1)有条件删除 语法格式:delete [from] table_name [where ...
  • 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。 一、delete语句 (1)有条件删除 语法格式:delete [from] table_name [where ...

    oracle数据库删除数据Delete语句和Truncate语句的对比

     

    当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。

    一、delete语句

    (1)有条件删除

       语法格式:delete [from]  table_name  [where condition];

    如:删除users表中的userid为‘001’的数据:delete from users where userid='001';

    (2)无条件删除整个表数据

         语法格式:delete  table_name;

    如:删除user表中的所有数据:delete users ;

    二、Truncate语句

    使用Truncate语句是删除表中的所有记录。

    语法格式: Truncate [table]  table_name;

    (1)删除所有记录不保留记录占用空间

         Truncate [table]  table_name  [drop storage];

        如:删除users表中的所有数据并不保存占用空间: Truncate table users drop storage; 由于默认使用drop storage关键字,所以可以省略 drop storage;

    (2)删除所有记录保留记录占用空间

         Truncate [table]  table_name  [reuse storage];

         如:删除users表中的所有数据并保存占用空间: Truncate table users reuse storage;

    三、两种删除语句的对比

          由于delete语句删除记录时候,记录是逐条删除的,而Truncate 语句删除数据时不产生回退信息;所以如果需要删除大量数据的时候使用delete则占用较多的系统资源,而如果使用Truncate 则会快的多。

         下面通过实例说明一下:

         1、首先建立user表:

    create table users
    (
    userid   varchar2(20) ,
    username varchar2(30),
    userpass varchar2(30)
     );

    复制代码

        2、接着插入一条数据

     insert into users values('001','GavinDream','123456');

       3、使用复制插入方法插入几万条数据

     insert into users(userid,username,userpass) select * from users;

    我插入了 4194304条数据,使用delete删除花费时间为:90.964 seconds,然后又插入了二倍的数据,但使用truncate花费时间仅仅为2.215 seconds,如下图所示:

       

    转载于:https://www.cnblogs.com/lcword/p/5463547.html

    展开全文
  • 数据库删除语句delete用于删除表的一行或者多行数据,语法格式“DELETE FROM [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]”;在不使用WHERE子句为删除操作限定删除条件时,将删除所有数据。删除语句deleteDELETE ...

    数据库删除语句delete用于删除表的一行或者多行数据,语法格式“DELETE FROM [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]”;在不使用WHERE子句为删除操作限定删除条件时,将删除所有数据。

    835e13dc90b91304ce54e6cc0107a6a0.png

    删除语句delete

    DELETE 语句可以删除表的一行或者多行数据。

    语法格式为:DELETE FROM [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

    语法说明如下::指定要删除数据的表名。

    ORDER BY 子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除。

    WHERE 子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行。

    LIMIT 子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。

    示例1:删除表中的全部数据

    删除 tb_courses 表中的全部数据mysql> DELETE FROM tb_students;

    Query OK, 3 rows affected (0.12 sec)

    mysql> SELECT * FROM tb_students;

    Empty set (0.00 sec)

    示例2:根据条件删除表中的数据

    在 tb_students 表中,删除 id 为 4 的记录mysql> DELETE FROM tb_students

    -> WHERE id=4;

    Query OK, 1 row affected (0.00 sec)

    mysql> SELECT * FROM tb_students;

    +----+-------+---------+------+------+--------+------------+

    | id | name | dept_id | age | sex | height | login_date |

    +----+-------+---------+------+------+--------+------------+

    | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 |

    | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 |

    | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 |

    | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 |

    | 6 | John | 2 | 21 | M | 172 | 2015-11-11 |

    | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 |

    | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 |

    +----+-------+---------+------+------+--------+------------+

    4 rows in set (0.00 sec)

    由运行结果可以看出,id 为 4 的记录已经被删除。

    展开全文
  • 如何使用delete语句删除数据发布时间:2021-01-15 10:57:41来源:亿速云阅读:83作者:小新栏目:数据库这篇文章主要介绍如何使用delete语句删除数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们...

    如何使用delete语句删除数据

    发布时间:2021-01-15 10:57:41

    来源:亿速云

    阅读:83

    作者:小新

    栏目:数据库

    这篇文章主要介绍如何使用delete语句删除数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    怎么使用delete语句删除数据?

    创建一个临时表,用于演示sqlserver语法中delete删除的使用方法IF OBJECT_ID('tempdb..#tblDelete') IS NOT NULL DROP TABLE #tblDelete;

    CREATE TABLE #tblDelete(

    Code varchar(50),

    Total int

    );

    9417be665edeb88609ccf34b114c8cad.png

    往临时表#tblDelete中插入几行测试,用于演示如何删除数据insert into #tblDelete(Code, Total) values('Code1', 30);

    insert into #tblDelete(Code, Total) values('Code2', 40);

    insert into #tblDelete(Code, Total) values('Code3', 50);

    insert into #tblDelete(Code, Total) values('Code4', 6);

    79a14bce3333992a49d2b81e81332356.png

    查询临时表#tblDelete中的测试数据select * from #tblDelete;

    9f0b708899fadf21e1a64841498cf4ee.png

    删除临时表#tblDelete中Code栏位=Code3的记录,使用下面的delete语句delete #tblDelete where Code = 'Code3'

    51a736dea0736a1a9ca514cd941df8c9.png

    再次查询临时表#tblDelete的结果,可以看到Code3的记录没有了select * from #tblDelete;

    f57ff472829d974164f5adf0a629b872.png

    删除临时表#tblDelete中Code栏位=Code2的记录,使用下面的delete语句。

    注意,下面的delete语句后面有一个from关键字,这个关键字是可以省略的,但是建议不要省略delete from #tblDelete where Code = 'Code2'

    d53178a12fba4eb164045dce468ab71e.png

    再次查询临时表#tblDelete的结果,可以看到Code2的记录没有了select * from #tblDelete;

    f2bf7aef7d9253ba6d569cc94909de34.png

    最后,如果想要快速的删除表中的所有数据,有下面两种方式。第二种方式速度更快delete from #tblDelete;

    truncate table #tblDelete;

    772119c90d79b4bca685e6c26a155422.png

    以上是“如何使用delete语句删除数据”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

    展开全文
  • } }//crud: create read updata delete//插入语句 public static void insert(String username,String password) throwsSQLException {//注册驱动 使用驱动连接数据库 Connection con = null; PreparedStatement ...

    importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;public classJDBC01 {public static void main(String[] args) throwsSQLException {

    delete(2);

    }public static void selectAll() throwsSQLException {//注册驱动 使用驱动连接数据库

    Connection con = null;

    Statement stmt= null;

    ResultSet rs= null;try{//数据库的连接

    con =JDBCUtils.getConnection();//数据库的增删改查

    stmt =con.createStatement();//返回一个结果集

    rs =stmt.executeQuery("select * from garytb");while(rs.next()) {//System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));

    System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));

    }

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{

    JDBCUtils.close(rs, stmt, con);

    }

    }//校验用户

    public static boolean selectByUernamePassword(String username,String password) throwsSQLException {

    Connection con=null;

    Statement stmt= null;

    ResultSet rs= null;try{

    Class.forName("com.mysql.jdbc.Driver");

    String url="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";

    con= DriverManager.getConnection(url,"root","123456");

    stmt=con.createStatement();

    String sql= "select * from garytb where username = '"+username+"' and password = '"+password+"'";//System.out.println(sql);

    rs =stmt.executeQuery(sql);if(rs.next()) {return true;

    }else{return false;

    }

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{if(rs!=null)

    rs.close();if(stmt!=null)

    stmt.close();if(con!=null)

    con.close();

    }return false;

    }public static boolean selectByUP2(String username,String password) throwsSQLException{

    Connection con=null;

    Statement stmt= null;

    ResultSet rs= null;try{

    Class.forName("com.mysql.jdbc.Driver");

    String url="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";

    con= DriverManager.getConnection(url,"root","123456");

    String sql= "select * from garytb where username = ? and password = ?";

    PreparedStatement pstmt=con.prepareStatement(sql);//添加参数

    pstmt.setString(1, username);

    pstmt.setString(2, password);//进行查询

    rs =pstmt.executeQuery();if(rs.next()) {return true;

    }else{return false;

    }

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{if(rs!=null)

    rs.close();if(stmt!=null)

    stmt.close();if(con!=null)

    con.close();

    }return false;

    }//pageNumber是页数,第几页,pageCount是每页显示多少个数据

    public static void selectUserByPage(int pageNumber,int pageCount) throwsSQLException {//注册驱动 使用驱动连接数据库

    Connection con = null;

    PreparedStatement stmt= null;

    ResultSet rs= null;try{

    Class.forName("com.mysql.jdbc.Driver");//String url ="jdbc:mysql://localhost:3306/garysql";//指定编码查询数据库

    String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";

    String user= "root";

    String password= "123456";//建立和数据库的连接

    con =DriverManager.getConnection(url,user,password);

    stmt= con.prepareStatement("select * from garytb limit ?,?");

    stmt.setInt(1, (pageNumber-1)*pageCount );

    stmt.setInt(2, pageCount);

    rs=stmt.executeQuery();while(rs.next()) {//System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));

    System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));

    }

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{if(rs!=null)

    rs.close();if(stmt!=null)

    stmt.close();if(con!=null)

    con.close();

    }

    }//crud: create read updata delete//插入语句

    public static void insert(String username,String password) throwsSQLException {//注册驱动 使用驱动连接数据库

    Connection con = null;

    PreparedStatement stmt= null;

    ResultSet rs= null;try{

    con=JDBCUtils.getConnection();

    String sql= "insert into garytb(username,password) values(?,?)";

    stmt=con.prepareStatement(sql);

    stmt.setString(1, username);

    stmt.setString(2, password);int result =stmt.executeUpdate();//返回值代表收到影响的行数

    System.out.println("插入成功"+username);

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{

    JDBCUtils.close(rs, stmt, con);

    }

    }public static void delete(int id) throwsSQLException {//注册驱动 使用驱动连接数据库

    Connection con = null;

    PreparedStatement stmt= null;

    ResultSet rs= null;try{

    con=JDBCUtils.getConnection();

    String sql= "delete from garytb where id = ?";

    stmt=con.prepareStatement(sql);

    stmt.setInt(1, id);int result =stmt.executeUpdate();//返回值代表收到影响的行数

    if(result>0) {

    System.out.println("删除成功");

    }else{

    System.out.println("删除失败");

    }

    }catch(Exception e) {

    e.printStackTrace();

    }finally{

    JDBCUtils.close(rs, stmt, con);

    }

    }

    }

    展开全文
  • 1.删除数据库 格式如下: DROP DATABASE { database_name|database_snapshot_name}[,...n] 例如: DROP DATABASE Publish GO 2.删除数据 格式如下: DELETE [FROM] table_name [WHERE <search_condition>] ...
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":7,"count":7}]},"card":[{"des":"提供基于开源Elasticsearch及商业版X-Pack插件,致力于数据分析、数据搜索等场景服务...
  • 使用 DELETE 语句从表中删除数据。 DELETE [FROM] table [WHERE condition]; 删除数据 使用WHERE 子句指定删除的记录。 DELETE FROM departments  WHERE department_name = 'Finance'; 1 row deleted.   ...
  • DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 ...
  • 83.Oracle数据库SQL开发之 修改表内存——DELETE语句删除行 欢迎转载,转载请标明出处: DELETE语句用于从表中删除行,通常应该使用WHERE子句来限定想要删除哪些行。如果不指定WHERE子句,那么就会删除所有的行。 ...
  • 在MySQL数据库中,DELETE语句和TRUNCATE TABLE语句都可以用来删除数据,但是这两种语句还是有着其区别的,下文就为您介绍这二者的差别所在
  • oracle数据库删除数据Delete语句和Truncate语句的使用比较作者:oracle当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍当表中的数据不...
  • (3)掌握使用DELETE语句删除数据表中记录。 实验内容和步骤: 1.使用INSERT语句添加记录 2.使用UPDATE语句修改记录 3.使用DELETE语句删除记录 需要word文件请关注该公众号,回复对应内容即可。 ...
  • 使用 DROP 语句,可以删除索引、表和数据库。DROP INDEX 语句我们可以使用 DROP INDEX 命令删除表的索引。不同的数据库其具体应用略有区别,如下MySQL 的DROP INDEX 语法Oracle 的DROP INDEX 语法SQL Server 的DROP ...
  • 没想到delete还有这种用法:就是删除两个连接以后的表其中的一个表。 按照这个思路,使用join进行两个表的自连接, 连接条件是【邮箱相同的条件下,表1的所有Id号码都大于表2的Id】,从而得到的结果就是:P2表保留了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,272
精华内容 508
关键字:

删除数据库使用delete语句