zoukankan      html  css  js  c++  java
  • 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删除可以回滚
  • 相关阅读:
    模拟实现bind、call、apply函数
    模拟实现ECMAScript5新增的数组方法
    HBuilder mui页面间传值的几种方式
    手机端软键盘弹出挤压页面的问题
    js获取当前时间
    原生js根据class获取元素的方法
    jquery之获取select选中的值
    原生js获取元素属性值方法
    利用javascrit获取url传递的参数
    jQuery图片预加载(延迟加载)之插件Lazy Load
  • 原文地址:https://www.cnblogs.com/akiz/p/11179048.html
Copyright © 2011-2022 走看看