1. 什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
2. like 模糊查询
like 匹配/模糊匹配,会与 % 和 _ 结合使用。
'%a'//以a结尾的数据'a%'//以a开头的数据'%a%'//含有a的数据'_a_'//三位且中间字母是a的'_a'//两位且结尾字母是a的'a_'//两位且开头字母是a的3.aggrate:MIN 最小值
MAX 最大值
SUM 求和
AVG 求平均
COUNT 计数
limit 限制
DISTINCT: 可选,删除结果集中重复的数据
ALL: 可选,返回所有结果集,包含重复数据。
4.UNION操作符(行数要求一致)
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNIONALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
5. 排序和分组。
SELECT* from runoob_tbl ORDERBY submission_date DESC;SELECT name ,count(name)as 数量 FROM`role`GROUPBY name order by name desc
6.连接的使用(默认是内连接,INNER 使用 JOIN)INNERJOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFTJOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHTJOIN(右连接): 与 LEFTJOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
7.NULL 值处理
ISNULL: 当列的值是 NULL,此运算符返回 true。
ISNOTNULL: 当列的值不为 NULL, 运算符返回 true。
<=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
8. Trigger触发器
//触发器是与表有关的数据库对象,可以在insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句。触发器的这种特性可以协助应用在数据库端确保数据的完整性 、日志记录 、数据校验等操作 。使用别名 NEW 和 OLD 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。9. 正则表达式regexp
mysql>SELECT name FROM person_tbl WHERE name REGEXP'^st';
查找name字段中以'ok'为结尾的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'ok$';
查找name字段中包含'mar'字符串的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'mar';
查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'^[aeiou]|ok$';10. mysql>SELECT name FROM person_tbl WHERE name REGEXP'^st';
查找name字段中以'ok'为结尾的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'ok$';
查找name字段中包含'mar'字符串的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'mar';
查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
mysql>SELECT name FROM person_tbl WHERE name REGEXP'^[aeiou]|ok$';11. 事务 主要用于处理操作量大,复杂度高的数据。
你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
事务控制语句
-BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
12. 删除,添加或修改表字段 使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:
ALTERTABLE testalter_tbl DROP i;ALTERTABLE testalter_tbl ADD i INT;ALTERTABLE tmp RENAMETO person_tbl;13.GROUPBY子句之后使用Having子句
可应用限定条件进行分组,以便系统仅对满足条件的组返回结果。因此,在GROUPBY子句后面包含了一个HAVING子句。HAVING类似于WHERE(唯一的差别是WHERE过滤行,HAVING过滤组)AVING支持所有WHERE操作符。
//查找雇员数超过2个的部门的最高和最低薪水:SELECT dept ,MAX(salary)ASMAXIMUM,MIN(salary)ASMINIMUMFROMSTAFFGROUPBY dept
HAVINGCOUNT(*)>2ORDERBY dept
14. MySQL 索引 https://www.runoob.com/mysql/mysql-index.html
15. MySQL 临时表
MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。
16. MySQL 复制表
17. MySQL 导出数据
MySQL中你可以使用SELECT...INTOOUTFILE语句来简单的导出数据到文本文件上。
SELECT*FROM role INTOOUTFILE'E:/Desktop/runoob.txt'18.SQL语言的分类
数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT<字段名表>FROM<表或视图名>WHERE<查询条件>2. 数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT2) 更新:UPDATE3) 删除:DELETE3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:
CREATETABLE/VIEW/INDEX/SYN/CLUSTER|||||
表 视图 索引 同义词 簇
DDL操作是隐性提交的!不能rollback
4. 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
技巧
1. 什么是数据库读写分离
数据库的读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主(master)数据库提供写操作,从(slave)数据库提供读操作,其实在很多系统中,主要是读的操作。当主(master)数据库进行写操作时,数据要同步到从(slave)的数据库,这样才能有效保证数据库完整性。主(master)数据库同步到从(slave)数据库,从数据库一般由多台数据库组成这样才能达到减轻压力的目的。这里还要注意处理好负载均衡。
https://blog.csdn.net/qq_39478853/article/details/80623612
可以减少数据库压力,提高性能。x
2. 索引的含义,
答:索引加快查询速度,但会降低写入速度;
3. 数据库语法
10、说明:几个简单的基本的sql语句
选择:select * fromtable1 where 范围
插入:insert into table1(field1,field2)values(value1,value2)
删除:delete from table1where 范围
更新:update table1 set field1=value1 where 范围
查找:select* from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:selectcount as totalcount from table1
求和:select sum(field1)as sumvalue from table1
平均:selectavg(field1)as avgvalue from table1
最大:select max(field1)as maxvalue from table1
最小:selectmin(field1)as minvalue from table1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)