MySQL表的增删改查(初级)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
MySQL数据库最核心的内容就是增删改查即CURD,看了这篇初级增删改查的博客之后可以解决以后工作中百分之80-90的内容这部分的知识并不是很难但是需要一定的熟练程度
Ccreate--新增
Uupdate--修改
Rretrieve--查询
Ddelete--删除

一新增操作

语法
全列插入:insert into 表名 values列列列......;
指定列插入:insert into 表名 (指定列) values列列列......;

1.单行数据全列插入

每次新增都是直接新增一行一条记录

2. 多行数据全列插入

当插入多条记录时,每条记录之间用逗号隔开即可

3. 指定列插入

当需要指定列进行插入时,只需在表名后面写上所要插入的列即可(此时插入的数据要和指定的列相匹配),未指定的列将会自动插入默认值

二,查询操作

语法:
1. 全列查询:select * from 表名;
2. 指定列查询:select 列名 from 表名;
3. 带表达式的查询:select 表达式 from 表名;
4. 带别名的查询:select 列名/表达式 as 别名 from 表名;
5. 去重查询:select distinct 列名 from 表名;
6. 排序: select 列名 from 表名 order by 列名/表达式/别名 asc/desc;
7. 条件查询:select 列名 from 表名 where 条件;

所有的查询操作生成的表均为临时表,所以对硬盘内的数据造成改写

1.全列查询

*相当于通配符,代表所有列,该操作只适合初学阶段,在生产环境中千万不能用全列查询,因为数据量太大会造成网络带宽和硬件资源的占用,导致服务器崩溃

2.指定列查询

当需要指定多个列时,只需要在不同列名之间加上逗号即可

3.带表达式的查询

这里将语文,数学,英语成绩的加和作为一个表达式进行查询

4.带别名的查询

针对3中表达式的查询,觉得chinese+math+english这样一个表达式太过于复杂,其就是为了表达总分的意思,不如将该列名改成total(总分)更易读

这里的as可以不加,但是为了增加可读性最好还是加上as

5.去重查询

未进行去重之前,李四和孙权的英语成绩相同,此时进行去重操作:

此时去重成功;这里的去重是针对一个列进行去重,如果针对多个列进行去重时,必须所对应的列必须都相同,这样才可以称为"重复"

6.排序(默认NULL为最小值)

升序:order by asc(不加asc的情况下默认为升序)

降序:order by desc(需要加上desc)

关于排序的注意事项:

  1. 如果SQL中没有显示的写order by语句,认为查询结果的顺序是不可预期的

  1. 如果排序的列中有NULL,NULL视为最小值

  1. 排序也可以针对表达式/别名进行排序(如果NULL参与计算则结果为NULL)

  1. 排序也可以指定多个列进行查询(此时的比较规则较为复杂)

此时先按语文成绩进行升序的情况下,按照数学成绩进行降序

7.条件查询

1.>, >=, <, <=:大于大于等于小于小于等于

查询语文成绩大于数学成绩的学生

2. =:等于NULL 不安全例如 NULL = NULL 的结果是 NULL

当查询结果为NULL时,则不安全:

MySQL中,NULL = NULL的结果为NULL,默认为false

3. <=>:等于NULL 不安全例如 NULL = NULL 的结果是 TRUE

4. between a0 and a1:范围匹配[a0, a1]如果 a0 <= value <= a1返回 TRUE

查询语文成绩在80~90范围之内的学生:

5.IN (option, ...):如果是 option 中的任意一个返回 TRUE

查询语文成绩为80.5,85.5,90,95.5这4个数据中其中一些数据的学生:

6.LIKE:模糊匹配,% 表示任意多个包括 0 个任意字符_ 表示任意一个字符

%:查询姓孙同学的语文成绩

_:查询姓孙但是姓名只有两个同学的语文成绩

注意:模糊查询,对于数据库来说,时间开销是比较大的

7.分页查询

limit N:N表示此次查询最大结果的数量(即显示在屏幕上的记录的个数)

offset M:M指定了从第几条记录开始查询,搭配limit使用(offset的值从0开始计算,即第一条记录的为0记录)

三,修改操作

语法:update 表名 set列名 = 值 where 条件;

所有的修改操作都是切切实实的对硬盘内的数据进行修改,改完之后会持久生效

1.对单列进行修改

将孙权同学的语文成绩设置成80分

where条件表达式是为了描述哪些记录需要修改,满足该条件则将该记录进行对应修改,否则直接pass

2.对多列进行修改

将孙权同学所有的成绩均设置为0分

对多列进行修改时,只要将所修改的列与列之间用逗号隔开即可

四,删除操作

语法:delete from表名 where 条件;

删除操作也是切切实实的在操作硬盘,删除了就没了

删除名为孙权的同学的所有成绩

删除操作十分危险,在线上生产环境中,谨慎使用!!!

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql