当前位置: 首页 > ds >正文

MySQL初阶:基础增删改查(CRUD)

创建(Create)

先创建一个表

1)单独插入一条

insert into 表名 values (列名  类型)...;

插入的记录要和表一开始创建记录的类型,个数,结构一样。

如果不一样,就会报错。

2)指定列进行插入

insert into 表名 (列名,列名...) values (值,值...); 

这里选的列名设的值要和创建表时的一样,没选择的列在插入时会被设为NULL。

3)一次性插入多行

insert into 表名 values (值,值),(值,值)....;

每一个括号里都是一行记录,每一个值都要和选定的列类型相同。

查询(Retrieve)

以这个表为例:

1)全列查询

select * from 表名;

2)指定列查询

select 列名,列名 from  表名;

3)表达式查询(可以针对列进行增删查改)

select 表达式(例如 math - 10) from 表名;

这里表达式进行的加减乘除对应的计算会对应到表上每一行相应列。

这里的运算只是针对数据库服务器查询出的数据,进行运算,临时的数据不会影响到服务器里保存的原有的数据。

4)带别名的查询

select 列名 as 别名,列名 as 别名  from 表名;

这里的as可以针对表达式,列,表名。

as也可以省略。

5)去重(distinct)

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

distinct 修饰某个列/多个列,值相同的行,只会保留一个。

如果distinct修饰多个列,要这些行的值都要相同才会触发删除操作。

6)查询时进行排序

select  列名 from 表名 order by 列名  asc(升序)/desc(降序);

这里的asc/desc可以省略,如果省略默认是asc 。

order by 后面可以有多个列,当第一个列的值相同时,就会以第二个值排序,以此类推。

mysql 是一个客户端-服务器形式的程序,客户端把请求发送给服务器之后,服务器进行查询数据,并且把插叙到的结果进行排序,再组织成相应的数据进行返回客户端,排序是针对临时数据进行的,不会影响到服务器上的数据排序。

7)条件查询

select 列名 from 表名 where 条件表达式;

遍历表里的每一条记录,带入条件,如果成立,这个记录就会被放入结果集合中。

8)分页插叙

select 列名 from 表名 limit  N  offset  M;

N表示可以查询几条记录,M表示从第几个下标开始(N后面可以不加,如果不加就默认从第一个记录开始)。

limit 可以限制这次查询可以查出来多少个结果。

条件运算符

1.比较运算符

1)>,>=,<,<=

2)= ,<=>:判断等于

3)!=,<>:不等于

4)between a1 and a2 :范围匹配,{a1,a2},如果a1<=values<=a2,就返回true

5)in(条件.....):如果满足条件中的一个,条件为真

6)is null ,is not null :判断是否为空

7)like :模糊匹配,通过一些特殊符号描述规则,%表示任意个任意字符,_表示一个任意字符;例如,name like ‘孙%’,就是孙悟空,孙权;‘孙_’只有孙权。

孙%:查询以孙为开头的内容

%孙:查询以孙为结尾的内容

%孙%:查询包含孙的

2.逻辑运算符

1)and :多个条件都要满足,才算true

2)or : 任意一个条件满足就是true

3)not :条件为true ,结果为false

=和<=>的区别:当我们想查询以空为条件的列时,会因为条件满足返回true,而null为false,就会导致查询不出来结果,这时使用<=>就可以得到结果了。

修改(Update)

1)修改

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

2)修改多列

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

不写where就是对所有列进行修改。

删除(delete)

delete from 表名 where 条件/order by /limit;

如果不指定条件,就把整张表里的纪录全部删除,和drop table不一样,前者是将表里的记录全部删除,后者是将表直接删除。

http://www.xdnf.cn/news/4390.html

相关文章:

  • docker stack deploy多服务集群堆栈搭建详细指南
  • 实现滑动选择器从离散型的数组中选择
  • Prometheus的安装部署
  • create-vue搭建Vue3项目(Vue3学习2)
  • Transformer面经
  • JavaScript性能优化实战:从瓶颈分析到解决方案
  • 0-带在线搜索和自适应的尺度组合优化神经改进启发式算法(未完)(code)
  • 连接mysql时 Public Key Retrieval is not allowed 问题
  • 前端面试每日三题 - Day 26
  • RabbitMQ 添加新用户和配置权限
  • 龙虎榜——20250506
  • python的selenium操控浏览器
  • k8s service的类型
  • 如何选择 边缘计算服务器
  • HPE推出零信任网络与私有云运维解决方案
  • javaweb-Filter
  • 黄金量化:高频实时的贵金属API
  • Python实现NOA星雀优化算法优化Catboost回归模型项目实战
  • 京东(JD)API 商品详情数据接口讲解及 JSON 示例
  • el-row el-col
  • 【基于SSM+Vue+Mysql】健身房俱乐部管理系统(附源码+数据库脚本)
  • 大模型系列(三)--- GPT1论文研读
  • ETL交通行业案例丨某大型铁路运输集团ETL数据集成实践
  • shell-流程控制-循环-函数
  • Spring Boot操作MongoDB的完整示例大全
  • 4.29 tag的完整实现和登录页面的初步搭建
  • 【Pandas】pandas DataFrame agg
  • 优化算法 - intro
  • window 显示驱动开发-线程和同步级别为零级
  • Git仓库基本操作