• MySQLCRUD操作介绍


    插入语句INSERT

    MySQL中使用INSERT INTO SQL语句来插入数据

    语法

    INSERT INTO table_name(field1,field2,...fieldN)
    VALUES
    (value1,value2,...valueN);
    
    • 1
    • 2
    • 3

    意思是向指定的表插入若干字段和对应的值,比如

    INSERT INTO
      `user` (`id`, `mobile`, `nickname`, `gmt_created`)
    VALUES
      (1, '13426069530', '叶冰', now());
    
    • 1
    • 2
    • 3
    • 4
    • user是表名

    • id,mobile等是字段名

    • id的值是数字可以直接写

    • mobile值是VARCHAR要用单引号包含

    • gmt_created是datetime类型一般用now()函数获取服务器当前时间

    简化

    1. 如果主键设置为自增那么可以不插入主键和对应的数据

    2. 如果插入的是所有的字段可以省略字段名,直接插入值,但是类型必须一致,比如

    INSERT INTO table_name
    VALUES
    (value1,value2,...valueN);
    
    • 1
    • 2
    • 3

    批量插入数据

    一次性插入大量数据可以使用

    INSERT INTO table_name
    VALUES
    (value1,value2,...valueN),
    (value1,value2,...valueN);
    
    • 1
    • 2
    • 3
    • 4

    如果NOT NULL没有给到值会报错

    查询SELECT

    语法

    SELECT field1,field2,.... FROM table_name;
    
    • 1

    意思是从指定表中查询指定列的信息

    SELECT
      id,
      hero_name
    FROM
      timi_adc;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如果查询所有的字段

    SELECT * FROM timi_adc;
    
    • 1

    *表示所有的字段

    WHERE子句

    实际查询中很少直接限定字段查找,会加限定条件

    MySQL中使用WHERE语句来限定条件

    相等用=

    语法
    SELECT * FROM table_name WHERE condition;
    
    • 1

    condition是指条件

    比如

    SELECT
      *
    FROM
      timi_adc
    where
      win_rate > 0.5;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Limit子句

    语法
    SELECT * FROM table_name LIMIT parameter
    
    • 1

    parameter是LIMIT的参数,分情况:

    查询第x-y行
    SELECT
    *
    FROM
    timi_adc
    LIMIT
    5,6;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这个意思是查询timi_adc的第6-11行,第一个参数5表示从第六行开始查,第二个参数6表示一共查询6行

    数据库的表格类似数组,从第0开始,所以5表示第六行

    LIMIT语句一般是配合分页使用的

    查询第0-x行
    SELECT
    *
    FROM
    timi_adc
    LIMIT
    5;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    意思是查询timi_adc表的第0-5行,等价于

    SELECT * FROM timi_adc LIMIT 0,5

    所以从0开始查询就可以省略第一个参数

    查询第x行
    SELECT
    *
    FROM
    timi_adc
    LIMIT 
    4,1;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    限制第二个参数为1就可以

    和WHERE子句联合使用

    LIMIT语句会放在WHERE语句后面,比如

    SELECT
    *
    FROM
    timi_adc
    WHERE
    appearance_rate>0.1
    LIMIT
    5;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    排序(ORDER BY子句)

    语法
    SELECT * FROM table_name ORDER BY field_name;
    
    • 1

    比如

    SELECT
    *
    FROM
    timi_adc
    ORDER BY
    win_rate;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    默认排序按照升序排列,对于int,double是按照从小到大,对于varchar是字母A-Z,对于datetime是过去到现在

    DESC关键词

    默认是正序排列,关键词为ASC一般不写,可以加上关键词DESC将排序逆序,比如

    SELECT
    *
    FROM
    timi_adc
    ORDER BY
    win_rate DESC;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    和其他句子连用

    和LIMIT子句一样,ORDER BY子句连用:(先排序再LIMIT)

    SELECT
    *
    FROM
    timi_adc
    ORDER BY
    win_rate DESC
    LIMIT
    3;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    更新/删除

    更新UPDATE语句

    语法
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    
    • 1

    UPDATE语句必须加入WHERE限定条件,否则就会对整列起作用

    比如

    UPDATE
    timi_adc
    SET
    ban_rate = 0.01
    WHERE
    hero_name='艾琳';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    删除DELETE语句

    语法
    DELETE FROM table_name [WHERE Clause]
    
    • 1

    删除语句是不可恢复的,所以务必要添加WHERE语句否则会删除整张表的数据

    不同的情况:

    删除user表中id为4的行

    DELETE FROM user WHERE id=4

    删除user表中所有id小于20的数据

    DELETE FROM user WHERE id<20

    删除user表中的所有数据

    DELETE FROM user

    DELETE语句只会删除表中的数据,如果要删除表格,用之前的DROP TABLE +表名

  • 相关阅读:
    MySQL学习笔记27
    移动互联网进销存系统成就数智化升级
    【算法】新年好(堆优化dijkstra)
    【黑马-SpringCloud技术栈】【03】Eureka注册中心_Ribbon负载均衡
    dask读取sql数据:MySQL
    Unity 生命周期(笔记)
    思维模型 周期
    Ubuntu20.04 通过deb包方式安装微信
    11.10~11.15置信区间,均值、方差假设检验,正态,t,卡方,F分布,第一第二类错误
    23_ue4人物控制切换
  • 原文地址:https://blog.csdn.net/RicardoSimple/article/details/126204987