• MySQL中的 增 删 查 改(CRUD)


    目录

    新增

    insert into 表名 value(数据,数据),.......;

    insert into 表名(列1,列2.....) value(数据,数据),.......;

    datatime 类型的数据如何插入?

    查询

    select * from 表名;

    select 列1,列2...... from 表名;

    查询字段为表达式

    为查询结果的列 取别名

    去重:DISTINCT

    排序:ORDER BY

    条件查询

    比较运算符

    逻辑运算符

    注:select 条件查询的执行顺序

    分页查询:LIMIT

    删除

    delete from 表名 ;

    delete from 表名 where 条件;

    修改

    update 表名 set (列名=值),(列名=值).... where 条件;


    先创建一个名为: title 表:下文的所有操作都基于此表

    注:因为MySQL对大小写不敏感所以大写小写都可以。

    新增

    insert into 表名 values/value(数据,数据),.......;

    可以单行,多行插入。

    insert into 表名(列1,列2.....) value(数据,数据),.......;

    指定列插入可以单行,多行插入。

    datatime 类型的数据如何插入?

    可以用一个固定格式的字符串来表示日期

    还可以利用 now() 函数获取当前时间

    新增表字段

    alter table 表名 add 字段名和类型

    插入之后表的字段为:


    查询

    select * from 表名;

    全列查询 显示该表的所有数据

    * 表示 通配符 可以指代所有的列

    select 列1,列2...... from 表名;

    指定列查询

    查询字段为表达式

    • 查询语文成绩减20

    • 查询各科成绩总和

    注:最后两行之所以为 null 是因为在 MySQl 中 null 与任何值进行运算结果都为 null

    为查询结果的列 取别名

    select 表达式/列名 as 别名 from 表名;

    去重:DISTINCT


    select distinct 单列/多列 from 表名;

    去除查询结果中的重复项(只保留一项)

    排序:ORDER BY

    select * from 表名 order by 列名 asc/desc

    • ASC 为升序(从小到大)
    • DESC 为降序(从大到小)
    • 默认为 ASC

    列名可以是单个可以是多个

    例:select * from 表名 order by A,B ;

    在A相等的情况下按照B进行排序

    select * from 表名 order by A asc,B desc

    按照A列升序B列降序进行排列

    指定某个列按照 升序/降序 排列 

    null 被认为是最小值,但是也只是在排序中。


    条件查询

    select * from 表名 where 表达式/条件(不能是别名

    显示满足条件的数据

    比较运算符

    运算符说明
    >, >=, <, <=大于,大于等于,小于,小于等于
    =等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL -> false
    <=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
    !=, <>不等于
    BETWEEN a0 AND
    a1
    范围匹配,[a0, a1],闭区间,如果 a0 <= value <= a1,返回 TRUE(1)
    IN (option, ...)如果是 option 中的任意一个,返回 TRUE(1)
    IS NULL是 NULL
    IS NOT NULL不是 NULL
    LIKE ‘..%../.._..’模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字

    LIKE ‘..%../.._..’ 使用实例:

    select * from 表名 where 列名 like '孙%';

    在指定列中寻找满足like后面条件的记录。

    1. ‘%孙’:字符串最后一个子符为‘孙’
    2. ‘孙%’:字符串第一个字符为‘孙’
    3. ‘%孙%’:字符串中包含‘孙’ 

    逻辑运算符

    运算符说明
    AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
    OR任意一个条件为 TRUE(1), 结果为 TRUE(1)
    NOT条件为 TRUE(1),结果为 FALSE(0)

    例:满足数学成绩大于80的人

    注:select 条件查询的执行顺序

    1. 遍历表中的每个记录
    2. 把当前记录的值带入条件,根据条件进行筛选
    3. 如果这条记录满足条件,保留并进行列上的表达式的计算
    4. 如果有 order by 会在所有行都被获取到之后(表达式也算完了)在针对所有结果进行排序。

    因为第三步是定义别名,而 where 是在第二步被执行所以会报错;

    分页查询:LIMIT


    select * from 表名 limit 要查询的行数

    select * from 表名 limit 要查询的行数  offset 偏移量('下标'从 0 开始);

    删除

    delete from 表名 ;

    删除这个表中的所有数据,但不会删除表。

    delete from 表名 where 条件;

    修改

    update 表名 set 列名=值,列名=值.... where 条件;

    可以修改一列也可以修改多列。

    此处的 where 条件 是为了限定有哪些值可以被修改。

    一次修改一列:

    一次修改多列:

    MySQL中的数值类型

    数据类型大小说明
    BIT[ (M) ]M指定位
    数,默认
    为1
    二进制数,M范围从1到64,
    存储数值范围从0到2^M-1
    TINYINT1字节相当于JAVA语言的byte
    SMALLINT2字节相当于JAVA语言的short
    INT4字节
    BIGINT8字节相当于JAVA语言的Long
    FLOAT(M, D)4字节单精度,M指定长度,D指定
    小数位数。会发生精度丢失
    DOUBLE(M,
    D)
    8字节双精度,M指定长度,D指定
    小数位数。会发生精度丢失
    DECIMAL(M,
    D)
    M/D最大
    值+2
    双精度,M指定长度,D表示
    小数点位数。精确数值
    NUMERIC(M,
    D)
    M/D最大
    值+2
    和DECIMAL一样

    MySQL中的字符类型:

    数据类型大小说明
    VARCHAR (SIZE) 0-65,535字节可变长度字符串,size是字符长度
    TEXT0-65,535字节长文本数据
    MEDIUMTEXT0-16 777 215字节中等长度文本数据
    BLOB0-65,535字节二进制形式的长文本数据

    MySQL中的日期类型:

    数据类型大小说明
    DATETIME8 字 节范围从1000到9999年,不会进行时区的
    检索及转换。
    TIMESTAMP4 字 节范围从1970到2038年,自动检索当前时
    区并进行转换。

    MySQL中的约束类型

    约束类型说明示例
    NULL约束使用NOT NULL指定列不为
    name varchar(20) not null,
    UNIQUE唯一约束指定列为唯一的、不重复的name varchar(20) unique,
    DEFAULT默认值约
    指定列为空时的默认值age int default 20,
    主键约束NOT NULL 和 UNIQUE 的
    结合
    id int primary key,
    外键约束关联其他表的主键或唯一键foreign key (字段名) references 主
    表(列)
    CHECK约束(了
    解)
    保证列中的值符合指定的条
    check (sex ='男' or sex='女')

  • 相关阅读:
    搭建MyBatis以及Mybaits的相关配置与功能
    【Linux】Ubuntu20.04配置静态固定IP地址
    线程安全问题你了解多少?java中线程安全的基础防范
    SAP云集成 SAP Integration Suite启用过程,踩坑记
    自己整理的前端开发面试题
    字节跳动数据中台的 Data Catalog 系统搜索实践
    牛客月赛57
    嵌入式笔试面试刷题(day5 IIC详解)
    redis常见面试题(背诵篇)
    java计算机毕业设计在线招生系统源程序+mysql+系统+lw文档+远程调试
  • 原文地址:https://blog.csdn.net/2302_76339343/article/details/133554676