zoukankan      html  css  js  c++  java
  • DQL和DML更多操作

    DML更多操作

    select * from class    

    select * from student2    

    -- 1.快速创建数据库表  结构和数据完全相同    

    create table class2      

    AS    

    select * from class    

    select * from class2    

    -- 2.快速创建数据库表  只要结构相同,不要数据    

    create table class3    

    AS    

    select * from class where 1=2    

    select * from class3    

    -- 3.快速创建数据库表,只要部分结构    

    create table student3    

    as     

    select sno,name,sex from student2  -- where 1=2    

    select * from student3    

    -- 添加数据    

    insert into student3 values (5,'tianqi',''),(6,'zhaoliu',''), (7,'lisi','')    

    insert into student3 set sno = 8,name = 'lisi2' ;    

    -- 删除所有数据    

    delete from student3     

    -- 删除所有数据时,更推荐使用该方式,效率高    

    truncate table student3

    从最终的结果来看,虽然使用TRUNCATE操作和使用DELETE操作都可以删除表中的全部记录,但是两者还是有很多区别的,其区别主要体现在以下几个方面:

    (1)DELETE为数据操作语言DMLTRUNCATE为数据定义语言DDL。

    (2) DELETE操作是将表中所有记录一条一条删除直到删除完;TRUNCATE操作则是保留了表的结构,重新创建了这个表,所有的状态都相当于新表。因此,TRUNCATE操作的效率更高。 

    (3)DELETE操作可以回滚;TRUNCATE操作会导致隐式提交,因此不能回滚(在第十章中会讲解事务的提交和回滚)。

    (4)DELETE操作执行成功后会返回已删除的行数(如删除4行记录,则会显示“Affected rows:4”);截断操作不会返回已删除的行量,结果通常是“Affected rows:0”。DELETE操作删除表中记录后,再次向表中添加新记录时,对于设置有自增约束字段的值会从删除前表中该字段的最大值加1开始自增;TRUNCATE操作则会重新从1开始自增。

  • 相关阅读:
    空间统计笔记之三(度量地理分布工具集,Measuring Geographic Distributions)
    空间统计笔记之四(空间关系建模工具集,Modeling Spatial Relationships)
    黑苹果WiFi&蓝牙驱动
    Hackintosh问题集结
    macOS读写NTFS磁盘分区
    Windows10 无法打开此计算机上的组策略对象。你可能没有相应的权限
    电脑C盘容量扩容
    Windows配置定时休眠和唤醒
    macOS Windows添加静态路由
    macOS使用技巧
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14251616.html
Copyright © 2011-2022 走看看