?🎉引言🎉?
在前一篇博客给大家介绍了如何去创建数据库数据表 以及一些相关基本操作的博客,如果有遗忘或者感兴趣的同学可以去看看,今天给大家介绍 MySQL表的增删查改等操作(超详细,如果对你有帮助不要忘记点赞哟😋) 博客地址 :MySQL初识数据库 : https://blog.csdn.net/Biteht/article/details/123281654?spm=1001.2014.3001.5501 👀👀👀👀👀👀👀👀👀😊😊😊😊😊😊😊😊😊😊😊😊
🚩
?增添
语法:insert into 表名 values(值,值,值....) 增加后我们查询我们的表,那就是这样子的:
?查找
?1.全列查找
最基础的查找,全列查找,直接把一个表所有的列,和所有的行都查询出来~ 语法:select * from 表名 * 叫做"通配符",表示一个表的所有列
把一个表里面的所有行和所有列都查找出到,查找的结果是一个“临时表” ,之前我们说的 数据库 的表都是在硬盘上的,而此处的这个查询结果 临时表 ,不是在硬盘上,而是在内存中,随着进行了输出之后,数据也就被释放了~ 注意:
像select * from 表名 这个操作也是一个 危险操作! 如果在生产环境的服务器上,执行,很可能带来灾难!所以我们以后出去工作的时候一i的那个要注意!!!
?2.指定列查找
语法:select 列名,列名.... from 表名;
?3.指定查询字段为表达式
在查询的时候,同时进行一些运算操作
例如:期望查询的结果中的语文成绩比真实的多10分 查询一下每个同学的总分(语文+数学+英语)
注意: 临时表中的结果的数据类型不一定和原始的表的数据类型完全一致,临时表的类型会自动的适应,保证计算结果是i正确的
?4.查询字段指定别名
查询字段指定别名,相当于是给查询的结果的临时表,指定新的列名
省略 as 之后 :
虽然执行结果完全相同,但是这里 total 这个别名和前面的表达式区别不明显,稍微一眼花,就把 total 当成数据库自身的一列。
?5.针对查询结果去重
语法:select distinct 列名 from 表名;
**注意:**如果针对多个列来进行去重,就得多个列的值都相同的时候才视为重复~
?6.排序,针对查询结果(临时表)进行排序
语法:select 列名... from 表名 order by 列名 asc/desc ;
例如:针对数学成绩进行升序排序~ 降序排序~
有的数据库记录中是带有NULL 值的,像这样的 NULL 认为是最小 的
排序也可以依据表达式 或者别名 来进行排序 依据 表达式 排序 依据 别名 排序 还可以通过 order by 来指定多个列 进行排序 先按照数学排序,如果数学成绩相同,再按照语文排序。
?7.select中的条件查询
在 selcet 的后面加上一个where 字句 ,后面跟上一个具体的筛选条件 语法;select 列名 from 表名 where 条件 ;
(>,>=,<,<= )这一组是比较熟悉的大小操作,= 表示比较相等,而不是赋值。注意:NULL = NULL 结果仍然是 NULL,条件是不成立的。 (<=> )也是比较相等,用法和 = 基本一直,只是 使用 <=> 比较空值结果是 真。NULL <=> NULL 进行比较,结果就是真。
举几个 列子,便于大家理解:
1.查询英语不及格的同于及英语成绩(<60)
2.查询语文成绩好于英语成绩的同学
3.查询总分在 200 分 已下的同学 注意:where 语句不能使用别名
4.查询语文成绩大于80,或英语成绩大于80的同学 注意:AND 的优先级高于 OR,表达式里如果同时右 AND 和 OR ,先计算 AND 后 计算 OR,如果想要打破优先级,就需要加()
5.查询语文成绩在[80,90]分的同学及语文成绩
6.查询数学成绩是 58 或者59 或者 98 或者 99 的同学及数学成绩
?8.模糊匹配
like 搭配通配符来使用,只要对方的字符串符合你此处的描述的一个形式就行. % 代表任意个任意字符~ _ 代表任意一个字符
例如:查找姓孙的同学的成绩
此处这里的'孙%' 就能匹配到任意 孙 开头的字符串,其他的类型于这样的名字也能匹配到. 比如: 孙 ,或者 孙sadsadasda 但是类似于 这种就匹配不到:aaa孙aaa ,bbb孙
_ 只能匹配带一个任意字符的
比如 只有一个 _ : 有两个 _
? 9.查询语句中,和NULL进行比较
语法:select 列名 from 表名 where 条件 查找语文成绩为空的同学信息:
注意:这里 比较 NULL 是不能用 = 的, = 是无法比较的,结果是 假,如果要比较空 只能用 <=> 比较
或者 这样写 也可以
?10.分页查询
SQL中可以通过 limit 来实现分页查询 语法:select 列名 from 表名 limt 值(数字)
注意:画红线的位置!!!
?修改操作
语法:update 表名 set 列名 = 值,列名 = 值 where 条件 注意:这里的 set 是不能省略 的,where 条件—指的是针对哪些进行修改,符合条件的就会修改,不符合条件的就不变,如果这里的 where 省略了,就是修改所有记录. update 是会修改数据库 服务器 上面原始数据的!
举几个例子:
将孙悟空同学的数学成绩变更为 80分
将曹孟德同学的数学成绩变为 60 分,语文成绩更变为 70分.
将总成绩倒数前三的 3 位同学的数学成绩加上 30分.
将所有同学的语文成绩 更新为原来的 2倍
注意:这里 超出范围了,修改失败. 如果把每个同学的语文成绩都减少两倍 就可以成功,因为没有超出数据范围.
?删除操作
sql 一般使用 delete 语句 进行删除 语法: delete from 表名 where 条件;
|