欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL 增删改查

程序员文章站 2022-09-05 13:37:42
目录1. 简单 增删改查2. 增2.1. replace into1. 简单 增删改查命令实例/* 数据操作 */ -------------------- 增 INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表), ...] -- 如果要插入的值列表包含所有字段并且顺序一致,则可以省略字段列表。 -- 可同时插入多条数据记录! REPLACE 与 INSERT 完全一样,可互换。...

目录

1. 简单 增删改查

  • 命令实例
    
    /* 数据操作 */ ------------------
    -- 增
        INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表), ...]
            -- 如果要插入的值列表包含所有字段并且顺序一致,则可以省略字段列表。
            -- 可同时插入多条数据记录!
            REPLACEINSERT 完全一样,可互换。
        INSERT [INTO] 表名 SET 字段名=[, 字段名=, ...]
    -- 查
        SELECT 字段列表 FROM 表名[ 其他子句]
            -- 可来自多个表的多个字段
            -- 其他子句可以不使用
            -- 字段列表可以用*代替,表示所有字段
    -- 删
        DELETE FROM 表名[ 删除条件子句]
            没有条件子句,则会删除全部
    -- 改
        UPDATE 表名 SET 字段名=新值[, 字段名=新值] [更新条件]
    
    --------------------------- 使用实例  -------------------------------
    
    # 数据库的基本操作:增删改查 (CRUD: create retrieve update delete)
    # 创建表
        create table info(_id integer primary key,name varchar(20),age varchar(20))
    # 增
        insert into info(name,age) values('zs',18)
    # 删
        delete from info (全部删除)               // db1.tb1;
        delete from info where age = 18(删除年纪18的数据)
    # 改
        update info set name = 'ls' where age >15 and age < 18(修改年纪在1518之间的名字为ls)
    
    # 查       数据过滤
        select * from info where age > 16 order by age desc limit 2(查询年纪在16岁以上,按年纪降序排列,限制数量为2## 过滤数据  where  --
            -- 注意:
                1. orderwhere 之后;
                2. 条件操作符: = < <=  > >=    != <> (不等于)  between...and...3. 操作符:and  or  (andor 优先级高)4. innot in  `where id in (1101, 1002) order by xxx`
                5.
            -- or 或  and
            select * from student where date<'1988-11-2' or date>'1988-12-1';
            -- null 检测
            ...... where prod_price is null;
    
        ## 排序  多列  限制条数;
            select prod_id, prod_price, prod_name
            from product
            order by prod_price desc, prod_name
            limit 6;
                -- 选取3列
                -- 以 'prod_price 降序desc,再以prod_name升序asc' 排序;
                -- 限制显示前 6 条;
    
        ## 通配符(wildcard)过滤  --通配符% _
        -- 概述: 为使用通配符,必须使用 like 操作符;
            1. % : 任意字符出现任意次数;--0,1 或 多次;
                -- null 无法匹配;
                -- xxx%: 可以避免 '尾部空格' 问题;
                -- 可匹配 0 个字符;
                -- 包含某些文本的任意字符;
            2. _ : 仅匹配 1个字符(必须是1)(下划线) ----1次;
    
            select xx from tablexx where xx like 'x%x%';  -- 查找含该字符的 table;
            select prod_name from products where prod_name LIKE '%anvil%';  
                -- 1 ton anvil 等;
    
        ##
    
    
    

2. 增

2.1. replace into

  1. replace你函数

    1. 语法:replace(object,search,replace)
    2. 语义:把object对象中出现的的search全部替换成replace。
    3. 实例:
      update hellotable set 'helloCol' = replace('helloCol','helloSearch','helloReplace')
      
  2. replace into

    1. 解释:
      1. 如果给定行数据不存在,那么MySQL REPLACE语句会插入一个新行。如果给定行数据存在,则REPLACE语句首先删除旧行,然后插入一个新行。
      2. 根据表中的主键或唯一索引来判断,如果表中没有主键或唯一索引,那么REPLACE INTO 就相当于 INSERT INTO,会直接插入一条数据。
    2. 用法:
      INSERT INTO student(name,age) VALUES('张三',18)
      
      REPLACE INTO student(name,age) VALUES('张三',18)  --没有该数据, 则插入该数据;
      

参考:

  1. MySQL replace语句
  2. MySQL的replace方法

,

本文地址:https://blog.csdn.net/baidu_34170531/article/details/108987143

相关标签: # MySQL