sql
Khalil Fang@1010
这个作者很懒,什么都没留下…
展开
-
SQL性能优化
SQL性能优化针对关系型数据库 Mysql先简单梳理下 Mysql 的基本概念,然后分创建时和查询时这两个阶段的优化展开。1. 基本概念简述1.1 逻辑架构第一层:客户端通过连接服务,将要执行的 sql 指令传输过来。第二层:服务器解析并优化 sql,生成最终的执行计划并执行第三层:存储引擎,负责数据的存储和提取。1.2 锁数据库通过锁机制来解决并发场景,共享锁(读锁) 和 排他锁(写锁)。读锁是不阻塞的,多个客户端可以在同一时刻读取同一个资源。写锁是排他的,并且会阻塞其他的读锁和写原创 2020-11-30 16:31:55 · 76 阅读 · 0 评论 -
mysql 中topN的求法
mysql中提供 了limit和offsetlimit 和 offset 用法 mysql里分页一般用limit来实现 1.select * from article limit 1,3 2.select * from article limit 3 offset 1 #以上两种写法都表示取2,3,4三条数据--当limit后面跟两个参数的时候,该参数表示要取的数据的数量例如 select * from article LIMIT 1,3 就是跳过1条数据,从第2条开始取,原创 2020-08-30 00:03:48 · 309 阅读 · 0 评论 -
SQL DML和DDL
1.可以把SQL分为两个部分:数据操作语言(DML)和数据定义语言(DDL)。SQL(结构化查询语言)是用于执行查询的语言。但是SQL语言也包含用于更新,插入和删除记录的语法。查询和更新指令构成了SQL的DML部分: - SELECT - 从数据库表中获取数据 - UPDATE - 更新数据库表中的数据 - DELETE - 从数据表中删除数据 - INSERT INTO - 向数据库表中插入数据2.SQL的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表原创 2020-08-29 15:07:29 · 129 阅读 · 0 评论 -
SQL练习题
1. 运动会比赛信息的数据库,有如下三个表: 运动会ATHLETE(运动源编号Ano,性能Aname,性别Asex,所属系名Adep),项目ITEM(项目编号Ino,名称lname,比赛地点llocation),成绩Score(运动员编号Ano,项目编号lno,积分Score)。--ASelect Adep,SUM(Score) From ATHLETE,ScoreWhere ATHLETE.Ano = Score.Ano GROUP BY AdepHAVING SUM(Score) >=原创 2020-08-28 21:47:38 · 2245 阅读 · 0 评论 -
sql增删改查
Insert into 语句用于向表格中插入新的行Insert into table_name Values(值1,值2,....)-指定所要插入数据的列:Insert into table_name(列1,列2,...) Values (值1,值2,....)Select into语句从一个表中选取数据,然后把数据插入另一个表中。常用于创建表的备份复件或者用于对于记录进行存档。-把所有的列插入新表select *into new_table_name [IN externaldatabas原创 2020-08-27 19:12:53 · 66 阅读 · 0 评论 -
字符串函数
常用SQL函数函数用法concat(S1,S2,…,Sn)连接S1,S2,…,Sn为一个字符串concat_ws(s,S1,S2,…,Sn)同concat(s1,s2,…)函数,但是每个字符串之间要加上schar_length(s)返回字符串s的字符数length(s)返回字符串s的字节数,和字符集有关insert(str,index,len,instr)将字符串str从第index位置开始,len个字符长的子串替换为字符串instrupper(原创 2020-08-27 18:34:40 · 54 阅读 · 0 评论 -
分页查询
分页MySQL中使用limit实现分页背景:查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?分页原理所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。--前10条记录:select * from table limit 0,10;--第11至20条记录:select * from table limit 10,10;--第21至30条记录:select * from table limit 20,10;公式:(当前页数-1)*每页条数,每页条数原创 2020-08-27 12:25:30 · 67 阅读 · 0 评论 -
列的别名几种实现方式
1.as实现select last_name AS name,commission_pct commfrom employess;2. "双引号"select last_name "Name",salary*12 "Annual Salary"from employees;3.实体名称(基本可以忽略,没人用它)select last_name "Name" salary*12 "Annual Salary"fro原创 2020-08-26 23:46:52 · 253 阅读 · 0 评论 -
组函数的使用
组函数组函数介绍什么是分组函数分组函数作用于一组数据,并对一组数据返回一个值组函数类型-AVG()-SUM()-MAX()-MIN()-COUNT()组函数语法AVG和SUM函数可以对数值型数据使用AVG和SUM函数Select AVG(salary),MAX(salary),MIN(salary),SUM(salary)FROM employeesWHERE job_id LIKE '%REP%';3.MIN和MAX函数可以对任意数据类型的数据使用MIN原创 2020-08-26 22:08:25 · 313 阅读 · 0 评论 -
case when用法
Casecase具有两种格式。简单case函数和case搜索函数第一种 格式:Case搜索函数:格式说明:*case when 列名=条件1 then 选项1 else 选项2 end*eg: ***result表*| Date | Win ||2017-07-12|胜||2017-07-12|负||2017-07-15|胜||2017-07-15|负|求如下结果|比赛日期|胜|负 ||2017-07-12|1|1||2017-07-15|1|1|要执行的sql原创 2020-08-26 19:35:12 · 180 阅读 · 0 评论