本文主要是介绍Mysql,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySql
DML
- 增加、删除、修改的合集。
- insert into user () values(),(),()
- values代表可以同时插入多条数据。
truncate
delete
- 删除表中内容,不删除表结构,但是不释空间。delete可以条件删除,drop和truncate则不可以,只能整个表删除。
drop
- 删除表结构和内容,且无法回滚,属于DDL,隐式提交,虽然也可以找回,但是很麻烦。
delete属于DML语句,而truncate和drop都属于DDL语句,这造成了它们在事务中的不同现象
1.delete在事务中,因为属于DML语句,所以可以进行回滚和提交操作(由操作者)
2.truncate和drop则属于DDL语句,在事务中,执行后会自动commit,所以不可以回滚;
DQL
通用查询
列的别名
decimal数字类型的数据类型
- decimal 10,2 代表总共可以有10个数,8个整数+两个小数,比float好点,金融方面要求比较多
MYsql查询关键字
- in
枚举查询
select* from 表名 where 列名 in(值1,值2) //值可以多个 - between and
- is null
- and 或者or 关键字
模糊查询
- like关键字,关键字在前,在后,在中间。
- lik%关键字%"//%代表任一个字符
- like"关键字_" //一个下划线代表一个字符
分支结构查询
SELECT NAME,age, score,
CASE
WHEN score <80 THEN '学渣'
WHEN score >80 AND score <90 THEN '学霸'
ELSE '超级学霸'
END AS '成绩'
FROM student
时间函数
SELECT SYSDATE()
SELECT NOW() "时间"
字符串处理
- Lower
- Upper
- concat 拼接字符串
- Substring 截取字符串
聚合函数
- sum()
- avg()
- min()
- max()
- count() 每个查询结果的总个数。
分组查询
- where 是对整张表的数据的筛选
- group by 根据一个字段分组,
分组查询之条件过滤
子查询
- 第一个查询结果作为第二个查询的条件(只能返回一个结果)
- 子查询可以作为一个临时表,作为第二次查询的主表。
合并查询
- 两张表的结果一起查看
- union 会去重
- union all 会把两张表的数据都展示出来
连接查询
- 内连接 inner join
- 左连接 left join
主表和从表的区别,左连接就是左表为主表。 - 右连接 right join
这篇关于Mysql的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!