MySQL基本的增删改查

介绍

CURD

C 创建

U 修改

R 查询

D 删除

  1. 增加数据

insert into 表名 values(列的值);

这里的一个括号就对应一条记录

注意事项

  • 要求values后面()中的字段的个数和表头约定的列数以及每个列的类型要匹配

  • 在SQL中表示字符串可是使用'',和可以使用"".

  • 如果一列是datetime,该如何插入那?

    1. 通过指定格式的字符串来插入一个指定的时间
    2. 通过now()函数来插入一个当前系统的时间
  • insert进行插入的时候,就可以只插入其中的某一列或者某几个列,此时其它的列将采用默认值

  • 如果想要插入中文,需要先修改配置(MySQL默认的编码方式是拉丁文)

    如何配置编码方式:

    1. 先看看当前数据库的编码方式 show variables 'character%'
    2. 通过修改MySQL配置文件的方式来处理

values后面的每一个()都对应到一行,可以一次性带有多个(),多个()之间使用逗号隔开

一次插入N条记录的速度,比一次插入一条N次插入快很多倍

查找语句是SQL中最核心也最复杂的操作

  1. 最基础的查找,全列查找,直接把一个表中所有的列和行都查询出来

select * from 表名;

*就叫做"通配符",表示一个表的所有列,把一个表里面的所有行和列都查找到,查找的结果是一个"临时表",之前所说的数据库中的表,都是在硬盘上的,而此处查询的临时表不是在硬盘上,而是在内存中,随着进行了输出之后,数据就被释放了

  1. 指定列查询,值查询自己关注的列

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

这个查询结果只是一个临时表(在客户端内存临时保存一个数据表,随着打印的进行,内存就释放了)临时表的结果对于数据库的原始数据没有任何影响

  1. 指定查询字段为表达式,在查询的时候同时进行一些运算操作(列和列之间)

这里的查询结果变了,只是数据库服务器针对查询的结果进行了加工,把加工后的数据作为临时表显示出来

  1. 查询字段指定别名,相当于查询结果的临时表,指定新的列名

  2. 针对查询结果去重distinct

如果针对多个列来进行去重,就得这多个列的值都相同的时候才视为重复

  1. 排序针对查询结果(临时表)进行排序(不会影响到数据库服务器上的原始数据)

select 列名... from 表名 order by 列名 asc/desc;

asc是升序

向数据库查询结果,如果不去指定排序,此时查询结果的顺序是不可预期(写代码的时候不能依赖默认的顺序)

  1. select中的条件查询

select后面加一个where字句,后面跟上一个具体的筛选条件

select 列名 from 表名 where 条件;

查询结果会把满足条件的记录保留,把不满足条件的记录给过滤掉

=表示相等,而不是赋值了

<=>也是比较相等,用法和=基本一致,只是使用<=>比较空值结果是真

like能根据结果进行"模糊匹配"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0rvJ1MBK-1662693789052)(/Users/zhangcu/Library/Application Support/typora-user-images/image-20220825231556628.png)]

like ,搭配通配符来使用,只要对方的字符串符合你此处描述的一个形式就可以

%代表任意个任意字符

_代表任意一个字符

模糊匹配其实就相当于描述了一个规则,但凡是符合这个规则的字符串都会被筛选出来(借助通配符来描述的)

  1. 分页查询

SQL中使用limit来实现分页查询

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TsiSaNUz-1662693789052)(/Users/zhangcu/Library/Application Support/typora-user-images/image-20220825233613274.png)]

limit同样可以搭配使用,以及order by等操作来组合使用

  1. 修改操作

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

update是会修改数据库服务器上的原始数据

主要是让大家能够意识到数据的重要性,数据绝非儿戏一定要用认真负责的态度去对待

可以使用show warnings来看到这里警告的详细内容

  1. 使用delete语句进行删除

delete from 表名 where 条件;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFx0Zn9A-1662693789053)(/Users/zhangcu/Library/Application Support/typora-user-images/image-20220825235425598.png)]

  1. 主键约束

相当于数据的唯一标识身份,类似于身份证号码/手机号码,这个是日常开发的时候最常用的约束,创建表的时候,很多时候都需要指定主键

对于一个表来说,只能有一个列被指定为主键

关于主键,最典型的用法,就是直接使用1,2,3,整数递增的方式来进行表示,MySQL里面对于这种递增的主键,是有内置支持的,称为"自增主键"

例如:

create table student(id int primary key auto_increment, name varchar(20));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值