0
点赞
收藏
分享

微信扫一扫

OSCP-Sirol(docker容器到宿主机)

互联网码农 2023-04-25 阅读 83

目录

1、新增/插入数据

1.1、给表中所有字段插入数据

1.1、给表中指定字段(列)插入数据

1.2、一次插入多条记录

1.3、时间日期数据的插入 

1.3.1、手动插入某个时间 

 1.3.2、插入当前时刻的时间

2、查找操作 

2.1、全列查找(查找表的所有行,所有列)

2.2、指定列查询

2.3、查询字段为表达式 (进行的是列和列之间的运算)

2.3.1、对查询的列加减乘除

2.3.2、 对查询的多个列进行加减乘除

 2.4、别名(使用as关键字)

2.5、去重查询 (关键字distinct)

 2.6、按照查询结果排序(order by 语句)

2.6.1、按照升序顺序排序(关键字asc)

2.6.2、按照降序顺序排序 (关键字desc——》descend)

 2.6.3、指定多个列来排序

2.7、条件查询 

 2.7.1、条件运算符

2.7.2、使用比较运算符进行条件查询

 2.7.3、使用逻辑运算符进行条件查询

2.7.4、指定范围查询(between   and   ) 

 2.7.4、判断要查询的数据在指定的集合中(in(值,值....))

 2.7.5、模糊查询(like)【重点】

2.7.6、NULL的查询

 2.8、分页查询(limit搭配offset)

 3、修改(update)

3.1、针对单个列进行修改 

 3.2、针对多个进行修改

 3.3、与where 、order by和表达式等的搭配使用

4、删除(delete)【针对表中的行】 

 4.1、删除的时候什么都不搭配


1、新增/插入数据

1.1、给表中所有字段插入数据

注意:

1.1、给表中指定字段(列)插入数据

语法格式:

insert into 表名 (列名,列名,....)values ('值','值',....);
//后面给的值,要和前面的列名顺序、个数、类型一致

 

 我们可以通过(select*from 表名)来查看结果,select语句下面会说到。

1.2、一次插入多条记录

 

1.3、时间日期数据的插入 

1.3.1、手动插入某个时间 

 

 1.3.2、插入当前时刻的时间

2、查找操作 

2.1、全列查找(查找表的所有行,所有列)

全列查询操作非常危险,下面的操作可以针对上述的问题,进行一些优化,但是还是存在一定的危险,在使用查询语句的时候一定要非常的谨慎。 

2.2、指定列查询

 

2.3、查询字段为表达式 (进行的是列和列之间的运算)

2.3.1、对查询的列加减乘除

 给表exam_result中插入数据

 对exam_result表中的每一行的数学成绩+10.

2.3.2、 对查询的多个列进行加减乘除

 2.4、别名(使用as关键字)

2.5、去重查询 (关键字distinct)

distinct针对单个列进行去重。 

 

 

 2.6、按照查询结果排序(order by 语句)

2.6.1、按照升序顺序排序(关键字asc)

按照一个列查询,将查询结果进行排序

2.6.2、按照降序顺序排序 (关键字desc——》descend)

 2.6.3、指定多个列来排序

 可以这样理解,先按照数学成绩降序排序,如果数学成绩中存在相同的,则使用语文成绩进行排序,将数学成绩重复的两个人的语文成绩进行降序排序,其他人的语文成绩排序无效。

2.7、条件查询 

 2.7.1、条件运算符

比较运算符:

运算符说明
> ,>= ,<,<=大于,大于等于,小于,小于等于
=等于,null不安全,例如null = null 结果是null
<=>等于,null安全,例如null <=> null的结果是true
!=,<>不等于
between  数值 and 数值范围匹配,[ a0,a1],如果a0 <= value <= a1,返回true
in(option,...)判断或者查找的元素如果是option中的任意一个,返回true
is null是null
is not null不是null
like

模糊匹配。%表示任意多个(包括0个)任意字符;

_表示任意一个字符

逻辑运算符:

运算符说明
and多个条件都为true,结果才是true,相当于Java当中的&&
or任意一个条件为true,结果为true,相当于Java当中的||
not条件为true,结果为false,相当于Java当中的!

2.7.2、使用比较运算符进行条件查询

1、查询语文成绩不及格的成绩(<60)

相当于将语文成绩通过遍历,将不及格的显示出来作为结果集。

 2、查询语文成绩好于英语成绩的同学

条件查询可以直接拿两个列进行的比较

 3、查询总分在200分以下的同学(条件查询,可以使用表达式作为条件)

 在条件查询的时候给总分列设置别名

sql语句存在的执行规则 

 2.7.3、使用逻辑运算符进行条件查询

1、查询语文成绩大于80并且英语成绩大于80(and)

 2、查询语文大于80或者英语大于80(or)

2.7.4、指定范围查询(between   and   ) 

 1、查询语文成绩在[80,90]之间同学的成绩

 2.7.4、判断要查询的数据在指定的集合中(in(值,值....))

1、查询数学成绩是58或者59或者98或者99的同学的数学成绩

 2.7.5、模糊查询(like)【重点】

 1、查询姓孙的同学的成绩(%)

 这样就可以查到两个同学,不论孙后边是几个字,只要是满足(孙%)规则的就会全部输出。

2、使用下划线(_)按照上述查找姓孙同学的成绩

一个下滑线,只能代表一个字。

2.7.6、NULL的查询

❗❗❗注意:

使用=比较null相等。 

 

 使用<=>比较相等。

 也可以使用is null这个比较运算符(is null 判断是否为空)

 2.8、分页查询(limit搭配offset)

这种是我们在前端中常见的分页查询,当数据特别多的时候,我们可以使用分页查询,先查询一部分,每一页查询5个数据。想要查询剩余数据,点击下一页。这样查询的好处在于系统的压力就大大减小。

limit单独使用

 

 limit与offest搭配使用

 3、修改(update)

3.1、针对单个列进行修改 

 将孙悟空同学的数学成绩变为80分

 3.2、针对多个进行修改

 3.3、与where 、order by和表达式等的搭配使用

1、将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

修改超出范围,不会执行

4、删除(delete)【针对表中的行】 

删除孙这一行的记录

 4.1、删除的时候什么都不搭配

这样的操作与删表基本没有什么区别了(drop table exam_result;)

 只不过这样写,exam_result表还存在,使用 drop table exam_result,这个表和数据都会被删除。

举报

相关推荐

0 条评论