SQL入门
鲜鱼汤是我了
这个作者很懒,什么都没留下…
展开
-
索引相关基本知识
索引是什么,有什么用:索引相当于一个目录,通过目录可以快速找到相对应的资源。在数据库方面,查询一张表的时候有两种方式:全表扫描根据索引检索(效率很高)(提高效率的根本原理是缩小了扫描的范围)虽然可以提高索引效率,但是不能随意添加索引,因为索引也是数据库中的对象,也需要数据库不端的维护。是有维护成本的。比如,表中的数据经常被修改这样就不适合添加索引,因为数据一旦修改,索引需要重新排序,进行维护。添加索引是给某个字段,或某些字段添加索引select ename ,sal from原创 2020-08-15 17:46:46 · 268 阅读 · 0 评论 -
事务(transaction)的简单介绍
什么是事务一个事务,是一个完整的业务逻辑单元,不可再分。比如银行账户转账,从A账户向B账户转账1k,需要执行两条update语句;update t_act set balance = balance - 1000 where actno = 'act-001'update t_act set balance = balance + 1000 where actno = 'act-002'以上两条DML语句必须同时成功,或者同时失败,不允许出现一条成功,一条失败那么,就需要使用数据库的“事务机制原创 2020-08-14 15:49:25 · 1409 阅读 · 0 评论 -
sql里的非空约束,唯一约束,主键和外键约束
约束约束(Constraint)是为了保证表中数据的完整性,合法性以及有效性。例如注册账户的时候有各式各样的格式,规定和要求。非空约束(not null):指这个数据必须填写,不能为null唯一性约束(unique):这个字段的是不能重复的主键约束(primary key):既不能为null也不能重复外键约束(foreign key):检查约束(check)(mysql不支持,但是Oracle有):一般usename(唯一性约束) password(非空约束)非空约束 not null可原创 2020-08-12 15:57:35 · 3618 阅读 · 0 评论 -
mysql中的union与limit(这个是重点,分页查询)
union是一个可以将查询结果集相加例子:找出工作岗位是SALESMAN和MANAGER的员工?select ename,job from emp where job = 'salesman' or job = 'manager';如果使用union,就是:(结果是一样的)select ename,job from emp where job = 'manager'union select ename,job from emp where job = 'salesman';+--------原创 2020-08-06 17:24:48 · 581 阅读 · 0 评论 -
SQL之子查询的基本用法
什么是子查询: select语句中嵌套着select语句,被嵌套的语句就是子查询。它们可以出现在select ..(select)from ..(select)where ..(select)例子:1. 在where中嵌入找出高于平均薪资员工的信息select * from emp where sal > (select avg(sal) from emp);/*+-------+-------+-----------+------+------------+-------原创 2020-08-05 22:21:02 · 1171 阅读 · 0 评论 -
SQL里关于查询结果的去重
select distinct job from emp;这样可以去除重复记录,每种记录只显示一个但是,distinct只能出现在所有字段的最前面。按自己的理解,也知道是不行的select distinct deptno,job from emp;这是指,deptno和job联合去重。例如:统计岗位的数量select count (distinct job) from emp;...原创 2020-08-05 21:00:29 · 4160 阅读 · 0 评论 -
SQL语句之的group by 和having
group by:按照某个字段或者某些字段进行分组。having:是对分组之后的数据进行再次过滤。分组函数,一般都会和group by一起用,这也是为什么会被称为分组函数的原因。并且分组函数都会在group by执行结束之后才会执行例如:找出每个工作岗位的最高薪资select max(sal),job from emp group by job;执行顺序,按照:select 5from 1where 2group by 3having 4order by 6多个字原创 2020-07-28 11:45:50 · 937 阅读 · 0 评论 -
sql语句中的分组函数
分组函数(全部是对某一组数据进行的操作)count 记数avg 平均数,等等如max min sum找出工资总和:select sum(sal) from emp;都是这样写的,在分组函数后面加上()写要对哪组进行操作分组函数自动忽略NULL,数据中凡是有null参与了运算,不管有什么其他的元素,结果一定是null。ifnull() 空处理函数ifnull(可能是null的数据,被当做什么处理)select ename,ifnull(conn,0) as comm from emp;//原创 2020-07-28 11:47:05 · 667 阅读 · 0 评论 -
mysql里入门级别排序的查询
排序,一般就是升序与降序按照工资一定顺序,找出员工名和薪资(asc表示升序,desc表示降序)select ename,sal from emp order by sal;//order 是排序,by是通过什么什么。没有指定的话默认是升序排列select ename,sal from emp order by sal desc;按照工资的降序排列,工资相同时再按照名字的升序排列此种方法有一个优先级的顺序,先执行什么,再执行什么的select ename,sal from emp原创 2020-07-26 17:48:00 · 119 阅读 · 0 评论 -
MySQL入门级别的条件查询和模糊查询
简单的查询语句(标准sql语句中要求字符串用单引号)语法格式:(任何一条sql语句要以;结尾,且不区分大小写)select 字段名1,字段名2,字段名3,…from 表名;字段可以参与数学运算,比如查询年薪,但是表里只有月薪的字段,那么就用月薪乘12即可。如sal是月薪,那么年薪为sal*12。还可重命名,sal *12 as yearsal,as关键字可以省略条件查询语句语法格式:select 字段,字段... from 表名 where 条件;执行顺序:先from,然后wher.原创 2020-07-26 17:07:14 · 214 阅读 · 0 评论 -
MySQL最基本的概念,看看这个大致的了解一下
MySQL中常见的几个之间的关系:1.2.原创 2020-07-25 14:44:26 · 88 阅读 · 0 评论 -
sql里的连接查询
什么是连接查询:在实际开发中,大部分情况都不是从单表中查询数据,一般都是多张表联合查询取出最终的结果。在实际中,一般一个业务都会对应多张表,比如:学生和班级,起码是两张表。连接查询的分类:根据连接方法有:内连接 等值连接 非等值连接 外连接 左连接 右连接(补充) 表的一个现象,被称为:笛卡尔乘积现象如找出每个员工的部门名称,要求显示员工名和部门名(有部门名的表叫dept表,员工表是emp原创 2020-08-05 13:18:50 · 273 阅读 · 0 评论 -
数据库中简单的表的create,insert和update,以及删数据和删表
常用数据类型:char:定长字符串varchar:可变长字符串char 和 varchar 如何选择:当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char类型。当一个字段数据长度不确定,例如:简介、姓名等都是采用varchar类型。BLOB:二进制大对象(存储图片,视频等流媒体信息)CLOB:字符大对象(存储较大文本)两个类型的使用:电影表:t_movieid(int) name(varchar) playtime(date/char) poster(原创 2020-08-10 14:22:47 · 1014 阅读 · 0 评论