zoukankan      html  css  js  c++  java
  • mysql-11-DML

    #DML语言
    /*
    数据操作语言
    插入:insert
    修改:update
    删除:delete
    */
    
    #一、插入语句
    /*
    语法:
    insert into 表名(列名...)
    values(新值...);
    */
    USE girls;
    
    INSERT INTO beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id)
    VALUES(13, '唐艺昕', '女', '1990-4-23', '18988888888', NULL, 2);
    
    SELECT * FROM beauty;
    
    #可以为null的列,如何插入null值
    #1、写列名,值为null;2、列直接不写
    
    #列的顺序随便换,只要和值一一对应上即可
    INSERT INTO beauty(NAME, sex, id, phone)
    VALUES('蒋欣', '女', 16, '111');
    
    SELECT * FROM beauty;
    
    #可以省略列名,但默认是所有列
    
    #插入的方式二
    /*
    语法:
    insert into 表名
    set 列名=值, 列名=值, ...
    */
    INSERT INTO beauty
    SET id=19, NAME='刘涛', phone='999';
    
    SELECT * FROM beauty;
    
    # 方式一可以插入多行,方式二不支持
    /*
    INSERT INTO 表名 (列名)
    VALUES (), (), ()...
    */
    
    #方式一支持子查询,方式二不支持
    #把查询结果插入
    INSERT INTO beauty(id, NAME, phone)
    SELECT 26, '宋茜', '11809866';  
    
    SELECT * FROM beauty;
    
    
    #二、修改语句
    /*
    1、修改单表的记录
    语法:
    	UPDATE 表名
    	SET 列=新值, 列=新值, ...
        WHERE 筛选条件;
    
    2、修改多表的记录
    语法:
    	UPDATE 表1 别名
        INNER|LEFT OUTTER JOIN 表2 别名
        ON 连接条件
        SET 列=值, ...
        WHERE 筛选条件;
    */
    #1、修改单表
    #案例1:修改beauty表中姓唐的电话为100000
    UPDATE beauty
    SET phone = '100000'
    WHERE NAME LIKE '唐%' AND id >= 0;  # where后的条件需要包含主键
    
    SET SQL_SAFE_UPDATES = 0;  # 或者修改模式
    
    SELECT * FROM beauty;
    
    #2、修改多表
    #案例2:修改张无忌的女朋友的手机号为114
    UPDATE beauty as b
    INNER JOIN boys as bo
    ON b.boyfriend_id = bo.id
    SET b.phone = 114
    WHERE bo.boyName = '张无忌';
    
    SELECT * FROM beauty;
    
    #案例3:修改没有男朋友的女神的男朋友编号都为2号
    #这个应该没必要连接
    UPDATE beauty as b
    LEFT OUTER JOIN boys as bo
    ON b.boyfriend_id = bo.id
    SET b.boyfriend_id = 2
    WHERE bo.id IS NULL;
    
    SELECT * FROM beauty;
    
    
    #三、删除语句
    /*
    1、delete
    语法:
    	delete from 表名
        where 筛选条件;
    筛选满足的条件的行
    
    	truncate table 表名;
    整表记录全删了,不允许用where
    
    2、多表删除
    语法:
    	DELETE 表1的别名,表2的别名
        FROM 表1 as 别名
        INNER | LEFT OUTER JOIN 表2 as 别名
        ON 连接条件
        WHERE 筛选条件;
    
    */
    #案例1:删除手机号以9结尾的信息
    # DELETE FROM beauty WHERE phone LIKE '%9';
    
    #案例2:删除张无忌的女朋友的信息
    /*
    DELETE b
    FROM beauty as b
    INNER JOIN boys as bo
    ON b.boyfriend_id = bo.id
    WHERE bo.boyName = '张无忌';
    */
    
    
    #用delete删除后再插入数据,自增长列的值从断点开始
    #用truncate删除后再插入数据,自增长列的值从1开始
    
    # truncate删除不能回滚,delete删除可以回滚
    

      

  • 相关阅读:
    C++ STL中vector应用
    cocos2dx绘制直线
    [ios] 获得ios设备具体型号
    如何制作 iTunesArtwork
    Ios AppIcon 去掉默认半弧形白色遮罩
    App运行内存打印
    C++ 文件操作
    objc 笔记
    (转)c++ oc字符操作
    cocos2dx 文本 优化
  • 原文地址:https://www.cnblogs.com/chaojunwang-ml/p/13261611.html
Copyright © 2011-2022 走看看