• 14、DML语言(数据操作语言)


    一、数据操作语言
    插入:insert
    修改:update
    删除:delete
     
    二、插入语言
    语法一:
    insert into 表名(列名,......) values(值1,.....);
    1、插入的值的类型要与列的类型一致或兼容
    2、不可以为null的列必须插入值,可以为null的列可以通过以下方式插入值
    方法一:
    直接给该列赋值为NULL
    方法二:
    在插入声明表字段时不声明该列
    3、列的顺序在声明时可以调换,但是值插入时必须和列对应
    4、列数和值的个数必须一致
    5、可以省略列名,默认所有列,而且列的顺序和表中列的顺序是一致的
    语法二:
    insert into 表名 set 列名1=值,列名2=值,......;
     
    三、修改
    1、修改单表记录
    语法:
    update 表名
    set 列1=新值,列2=新值,......
    where 筛选条件;
    2、修改多表记录
    语法:
    sql92:
    update 表1 别名,表2 别名
    set 列=值,......
    where 连接条件
    and 筛选条件;
     
    sql99:
    update 表1 别名
    inner | left | right join 表2 别名
    on 连接条件
    set 列=值,......
    where 筛选条件;
     
    三、删除语句
    方式一:delete
    语法:
    1、单表删除
    delete from 表名 where 筛选条件;
    2、多表删除
    sql92语法:
    delete 表1的别名,表2的别名
    from 表1 别名,表2 别名
    where 连接条件
    and 筛选条件
     
    sql99语法:
    delete 表1的别名,表2的别名
    from 表1 别名
    inner | left | right join 表2 别名
    on 连接条件
    where 筛选条件
    limit 条目数;
     
    方式二:truncate
    语法:truncate table 表名;
     
    区别:
    1、delete 可以加where条件,truncate不可以加where条件
    2、truncate删除,效率比delete高一点点
    3、假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,二truncate删除后,再插入数据,自增长列的值从1开始
    4、truncate删除没有返回值(无法得知影响的行数),delete删除有返回值
    5、truncate删除不能回滚,delete删除可以回滚
     
    -- 1、显示表my_employees的结构
    desc my_employees;
    -- 2、向表中插入下列数据
    方法一:
    insert into my_employees values(1,'patel','Ralph','Rpatel',899),(2,'Dancs','Betty','Bdancs',860),(3,'Biri','Ben','Bbiri',1100),(4,'Newman','Chad','Cnewman',750),(5,'Ropeburn','Audrey','Aropebur',1550);
    DELETE from my_employees;
    方法二:
    insert into my_employees 
    select 1,'patel','Ralph','Rpatel',899 union 
    select 2,'Dancs','Betty','Bdancs',860 union 
    select 3,'Biri','Ben','Bbiri',1100 union 
    select 4,'Newman','Chad','Cnewman',750 union 
    select 5,'Ropeburn','Audrey','Aropebur',1550;
    
    -- 3、向users表中插入数据
    insert into USER values(1,'Rpatel',10),(2,'Bdancs',10),(3,'Bbiri',20),(4,'Cnewman',30),(5,'Aropebur',40);
    -- 4. 将3号员工的last_name修改为drelxer
    update my_employees set last_name='drelxer' where id=3;
    -- 5. 将所有工资少于900的员工的工资修改为1000 
    update my_employees set salary='1000' where salary<900;
    -- 6.将userid为Bbiri的USER表和my_employees表的记录全部删除 
    delete m,u from user u join my_employees m on u.userid=m.userid where u.userid='Bbiri';
    -- 7. 删除所有数据 
    DELETE FROM user;
     
     
     
  • 相关阅读:
    单词 统计
    第十周学习记录
    梦断代码阅读笔记03
    梦断代码阅读笔记02
    梦断代码阅读笔记01
    用户模板和用户场景
    第九周学习记录
    分享好友-分享朋友圈
    生命周期函数-页面刷新
    底部导航的设置
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/16488654.html
Copyright © 2020-2023  润新知