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删除可以回滚
  • 相关阅读:
    Linux C 使用 libmaxminddb 读取 GeoIP2 MMDB 获取 IP 的地理位置
    同时装了 Python 3 和 Python 2,怎么用 pip ?
    Linux C Socket 编程
    Shell 筛选符合条件的 ELF 文件
    Linux C 获取本机所有网卡的 IP,Mask
    【转载】VirtualBox 扩展增强包安装
    Linux 下 GCC 的使用
    Linux 基础
    MobaXterm 连接 VirtualBox 6 虚拟机中的 CentOS 7
    ruby使用ocra打包exe文件,,报错libssp-0.dll
  • 原文地址:https://www.cnblogs.com/akiz/p/11179048.html
Copyright © 2011-2022 走看看