• DML语言基础(三)


    DML语言

    插入

    语法:

    方式一

    	insert into 表名(字段名,...)
    	values(值1,...);
    

    方式二

    	insert into 表名(字段名,...)
    	set 字段=新值,字段=新值
    

    方式三

    	insert into 表名(字段名,...)
    	select 查询字段 from 表名
    

    特点:

    1、要求值的类型和字段的类型要一致或兼容
    2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致
    但必须保证值和字段一一对应
    3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值
        ①字段和值都省略
        ②字段写上,值使用null
    4、字段和值的个数必须一致
    5、字段名可以省略,默认所有列
    

    修改

    修改单表语法:

    update 表名 set 字段=新值,字段=新值
    【where 条件】
    

    修改多表语法:

    sql92语法:
    update 表1 别名1,表2 别名2
    set 字段=新值,字段=新值
    where 连接条件
    and 筛选条件
    
    sql99语法:
    update 表1 别名 
    left|right|inner join 表2 别名 
    on 连接条件  
    set 字段=值,字段=值 
    【where 筛选条件】;
    

    删除

    方式1:delete语句

    单表的删除: ★

    delete from 表名 【where 筛选条件】
    

    多表的删除:

    	delete 别名1,别名2
    	from 表1 别名1,表2 别名2
    	where 连接条件
    	and 筛选条件;
    	
        delete 别名1,别名2 from 表1 别名 
        inner|left|right join 表2 别名 
        on 连接条件
        【where 筛选条件】
    

    方式2:truncate语句

    truncate table 表名
    

    两种方式的区别【面试题】

    truncate不能加where条件 delete可以加where条件
    truncate的效率高一丢丢
    truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始 delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
    truncate删除不能回滚 delete删除可以回滚
  • 相关阅读:
    Linux GCC
    操作系统中的一些数据结构
    《C程序设计》指针部分学习记录-易混点
    操作系统原理与实践-试验2操作系统的引导记录
    输入字符串测试
    实模式和保护模式
    Unity周记: 2020.07.06-07.12
    Unity论坛问答-如何裁剪一个多边形
    Unity论坛问答-如何让Camera.ScreenToWroldPoint在XZ平面上移动
    Unity杂谈-SRP为什么不再使用CG
  • 原文地址:https://www.cnblogs.com/akiz/p/11179048.html
Copyright © 2020-2023  润新知