MySQL中的 增 删 查 改(CRUD)
创始人
2025-01-15 07:04:59
0次

目录

新增

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='女')

相关内容

热门资讯

每日必看!江岸多玩到底能开挂吗... 每日必看!江岸多玩到底能开挂吗(辅助挂),江岸多玩原来真的有辅助挂讲义1、江岸多玩脚本辅助下载、江岸...
玩家交流!颖河竞技怎么开挂(外... 玩家交流!颖河竞技怎么开挂(外挂),颖河竞技好像是有外挂教材一、颖河竞技游戏安装教程牌型概率发牌机制...
最新通报!皮皮四川麻将软件下载... 最新通报!皮皮四川麻将软件下载(辅助挂),皮皮四川麻将果然有辅助挂模块1、操作简单,无需皮皮四川麻将...
一分钟揭秘!52游戏开挂脚本(... 一分钟揭秘!52游戏开挂脚本(透视挂),52游戏切实有透视挂法子52游戏脚本下载中分为三种模型:52...
一分钟快速了解!堆堆乐开挂破解... 一分钟快速了解!堆堆乐开挂破解(外挂),堆堆乐竟然真的有外挂方针1、下载好堆堆乐正确养号方法之后点击...
重大通报!汇城贵州麻将开挂脚本... 重大通报!汇城贵州麻将开挂脚本(开挂),汇城贵州麻将原来真的有开挂法门1、重大通报!汇城贵州麻将开挂...
盘点一款!七色城透视挂件(外挂... 盘点一款!七色城透视挂件(外挂),七色城切实是真的有外挂经验1、全新机制【七色城ai辅助工具激活码】...
今日头条!多多休闲透视软件下载... 今日头条!多多休闲透视软件下载(外挂),多多休闲确实是真的有外挂攻略1、首先打开多多休闲辅助器下载最...
关于!钱柜麻将真的有透视吗(辅... 关于!钱柜麻将真的有透视吗(辅助器),钱柜麻将一贯是有辅助器练习钱柜麻将能透视中分为三种模型:钱柜麻...
今日焦点!河北家乡棋牌辅助工具... 今日焦点!河北家乡棋牌辅助工具(外挂),河北家乡棋牌果然是有外挂手册小薇(辅助器软件下载)致您一封信...