我们这一篇主要介绍数据库的增删查改~
增:insert into 表名 value ();
删:delete from 表名;
查:select from 表名;
改:update 表名;
目录
1.insert(增)
2.select(查询)
2.1 全列查询
2.2 指定列查询
2.3 查询列为“表达式”
2.4 给查询结果的列,指定别名
2.5 针对列进行去重操作(distinct)
2.6 针对查询结果进行排序
2.7 where 条件查询语句
2.8 like % —
2.9. 等于 = 和 <=>
2.10 limit offset
3.update(修改)
3.1 基础操作
3.2 使用表达式修改
3.3 同时修改多个列
3.4 搭配order by / limit 等字句来使用
4. delete (删除)
1.insert(增)
当选定一个数据库之后,用insert可以将新的表插入到数据库之中
insert into 表名 values(值,值,值...); insert into 表名 (列名,列名,列名) values(值,值,值...); insert into 表名 values(值,值,值...)(值,值,值...)(值,值,值...);
2.select(查询)
2.1 全列查询
select * from 表名;
注意:全列查询在工作中会占用较大的硬盘和网络资源,慎用!
2.2 指定列查询
selece 列名 from 表名;
select后面加上需要查询的列,并且列之间用逗号隔开
通过指定列查询,会比上面的查询全列工作量小很多~
2.3 查询列为“表达式”
select 表达式 from 表名;
表达式查询,只是针对每一行的对应列进行计算,无法进行 行与行 之间的计算。
需要注意的是,进行表达式查询的时候,查询结果是一个“临时表”,这个“临时表”并不会写入到硬盘中,临时表的类型也不和原来的表是一样的。
select只是查询,不论如何操作,select都不会修改硬盘上的数据。
2.4 给查询结果的列,指定别名
运用关键字:total
total前面的 as 可加可不加,但是加上会减少错误的产生~
但是如果出现了小数点的不匹配会是什么样的情况呢?
2.5 针对列进行去重操作(distinct)
select distinct Chinese from 列名;
第一个表中,运用了关键字distinct但是Chinese中重复的分数还是出现了,第二个表中,Chinese并没有出现重复的数据,这是因为distinct只能将select到的列中的数据,整行整行的对比,只有一整行相同才能消除相同的数据。
即当指定多个列的时候,要求所有的列都相同,才算重复。
2.6 针对查询结果进行排序
select * from 表名 order by 列名;
只使用order by 进行排序时,默认是升序
关于排序:
1.order by 默认排序是升序(asc),如果要降序,需要在后面加上desc(descend)。
2.SQL中没有显式的写order by,认为查询结果的顺序,是不可预期的,写代码不能依赖自带的顺序。
3.如果是要排序的列中,有NULL,NULL视为“最小值”。
4.NULL和任何值运算,结果还是NULL。
2.7 where 条件查询语句
select English from grades where _______________
根据查询的结果,按 行 进行筛选。通过where指定一个条件,把符合条件的,作为临时表结果显示出来~
但是想要描述这些条件,就需要有一些 关系运算符 逻辑运算符
2.8 like % —
%(百分号)和_(下划线)是搭配where使用的:
在%和_之前需要加上like
%可以表示任意个字符,例如:
孙% 代表以孙开头的内容,都能查询出来
%孙 代表以孙结尾的内容,都能查询出来
%孙% 代表无论是开头还是结尾,只要是包含孙就能查询出来
_表示一个字符,仅仅匹配一个字
_孙_ 仅仅表示前面一个字,后面一个字,孙在中间
2.9. 等于 = 和 <=>
在MySQL中,= 和 <=>意思相近,但区别是:
=是不安全的比较,在出现null = null时,结果还是null,会被当成false
但是使用 <=> 比较,就不会出现这样的情况
2.10 limit offset
查询操作中,引入了一个limit,通过这个东西来限制查询结果的数量
直接在查询语句的末尾加上limit指定N,N就代表这次查询最大结果的数量
同时limit可以搭配升序降序操作,来完成一些查询,例如分页查询
limit搭配offset就可以指定从第几条开始筛选
3.update(修改)
很多同学把目光集中在select上,但是别忽视update~这个操作会直接修改服务器中硬盘的数据
3.1 基础操作
update 表名 set 列名 = 值 where 条件;
可以看到,我们修改了price的值,条件是author为曹雪芹
3.2 使用表达式修改
例如:
update student set age = age - 5;
这里就是把age = age- 5当成表达式,要注意如果没有写where,那么该修改就是对所以的数据进行操作,但是空值不参加运算。
3.3 同时修改多个列
多个列之间,用逗号来分隔
3.4 搭配order by / limit 等字句来使用
update这里的条件是至关重要的,只要是需要条件筛选,务必保证条件正确,千万要慎重,不要把不该改的给改了。
4. delete (删除)
delete也是危险操作,只要是操作生产环境的数据库,都是非常危险的!
delete from 表名 where 条件;
后面的条件和update一样,可以支持where,order by, limit。
如果没条件,就是把整个表里所有的记录都删了。