- 博客(37)
- 收藏
- 关注
原创 Linux基础
一、基本命令1.1 关机和重启关机shutdown -h now 立刻关机shutdown -h 5 5分钟后关机poweroff 立刻关机重启shutdown -r now 立刻重启shutdown -r 5 5分钟后重启reboot 立刻重启1.2 帮助命令--help命令shutdown --help:ifconfig --help:查看网卡信息man命令(命令说明书)man shutdown注意:man shutdown打开命令说明书之
2021-10-27 10:23:11 672
原创 MySQL的日志
二进制日志模式:作用:记录已提交的DML事务语句,并拆分为多个事件(event)来进行记录记录所有DDL,DML等语句(除了查询语句)二进制日志模式(binlog):statement:语句模式,上图中将update语句进行记录(默认模式)row:行级模式,即数据行的变化过程,上图中将age=19修改成age=20的过程事件mixed:以上俩者的混合模式企业推荐使用row模式优缺点statement:优点:简单明了,容易被看懂,就是sql语句,记录时不用太多磁盘空间缺点:记录不够严
2021-10-16 23:15:12 129
原创 MySQL存储引擎
一:MySQL引擎功能1.除了可以提供基本的存取功能,还有更多功能事务功能,锁定,备份和恢复,优化以及特殊功能总之:存储引擎的各项特性就是为了保障数据库的安全和性能设计结构二:mysql自带的存储引擎类型mysql提供以下存储引擎,重点为:1.InnoDB2.MyISAM查看当前MySQL支持的存储引擎类型show engines三:innodb存储引擎简介优点:1.事务安全(遵从ACID)2.MVCC(多版本并发控制)3.InnoDB行级别锁定4.Oracle样式一致
2021-10-16 23:14:10 132
原创 92语法之多表查询
-- 查询员工的编号,员工姓名,薪水,员工部门编号,部门名称:select e.empno,e.ename,e.sal,e.deptno,d.dnamefrom emp e,dept d-- 相当于99语法中的cross join ,出现笛卡尔积,没有意义select e.empno,e.ename,e.sal,e.deptno,d.dnamefrom emp e,dept dwhere e.deptno = d.deptno;-- 相当于99语法中的natural join -- 查询..
2021-08-31 15:29:44 144
原创 多表查询之自连接查询
-- 查询员工的编号、姓名、上级编号,上级的姓名select * from emp;select e1.empno 员工编号,e1.ename 员工姓名,e1.mgr 领导编号,e2.ename 员工领导姓名from emp e1inner join emp e2on e1.mgr = e2.empno;-- 左外连接:select e1.empno 员工编号,e1.ename 员工姓名,e1.mgr 领导编号,e2.ename 员工领导姓名from emp e1left outer...
2021-08-31 15:28:52 288
原创 多表查询之三表连接查询
-- 查询员工的编号、姓名、薪水、部门编号、部门名称、薪水等级select * from emp;select * from dept;select * from salgrade;select e.ename,e.sal,e.empno,e.deptno,d.dname,s.* from emp eright outer join dept don e.deptno = d.deptnoinner join salgrade s on e.sal between s.losal an..
2021-08-31 15:27:39 229
原创 多表查询之外连接查询
-- inner join - on子句: 显示的是所有匹配的信息select * from emp einner join dept don e.deptno = d.deptno;select * from emp;select * from dept;-- 问题:-- 1.40号部分没有员工,没有显示在查询结果中-- 2.员工scott没有部门,没有显示在查询结果中-- 外连接:除了显示匹配的数据之外,还可以显示不匹配的数据-- 左外连接: left outer join ..
2021-08-31 15:26:23 121
原创 多表查询——交叉连接,自然连接,内连接
【1】多表查询引入:实际开发中往往需要针对两张甚至更多张数据表进行操作,而这多张表之间需要使用主键和外键关联在一起,然后使用连接查询来查询多张表中满足要求的数据记录。一条SQL语句查询多个表,得到一个结果,包含多个表的数据。效率高。在SQL99中,连接查询需要使用join关键字实现。提供了多种连接查询的类型: cross natural using on交叉连接(CROSS JOIN)是对两个或者多个表进行笛卡儿积操作,所谓笛卡儿积就是关系代数里的一个概念,表示两个表中的每一行数据...
2021-08-31 15:23:10 1298
原创 Java的权限修饰符
【1】private:权限:在当前类中可以访问【2】default:缺省修饰符:权限:到同一个包下的其他类都可以访问【3】protected:权限:最大到不同包下的子类【4】public:在整个项目中都可以访问总结:属性,方法:修饰符:四种:private,缺省,protected,public类:修饰符:两种:缺省,public以后写代码一般属性:用private修饰 ,方法:用public修饰...
2021-07-29 08:51:31 154
原创 Java的继承
【1】类是对对象的抽象:举例:荣耀20 ,小米 红米3,华为 p40 pro ---> 类:手机类【2】继承是对类的抽象:举例:学生类:Student:属性:姓名,年龄,身高,学生编号方法:吃饭,睡觉,喊叫,学习教师类:Teacher:属性:姓名,年龄,身高,教师编号方法:吃饭,睡觉,喊叫,教学员工类:Emploee:属性:姓名,年龄,身高,员工编号方法:吃饭,睡觉,喊叫,工作共同的东西:人类:属性:姓名,年龄,身高方法:吃饭,睡觉,喊叫学生类/教...
2021-07-29 08:42:33 207
原创 Java的封装
【1】生活案例:ATM , 电线【2】Java中封装的理解:将某些东西进行隐藏,然后提供相应的方式进行获取。我们程序设计追求“高内聚,低耦合”。➢高内聚:类的内部数据操作细节自己完成,不允许外部干涉;➢低耦合:仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。【3】封装的好处:提高代码的安全性【4】代码:通过一个属性感受封...
2021-07-26 19:52:22 112
原创 数据库设计三范式
数据库设计三范式第一范式:要求任何一张表必须有主键,每一个字段原子性不可再分第二范式:建立在第一范式的基础上,要求所有非主键字段完全依赖主键,不要产生部分依赖第三范式:建立在第二范式的基础上,要求所有非主键字段直接依赖主键,不要产生传递依赖声明:面试官常问设计数据库表的时候,按照以上的范式进行,可以避免数据的冗余,空间的浪费总结表的设计:一对多:一对多,俩张表,多的表加外键多对多:多对多,三张表,关系表加俩个外键一对一:一对一,外键唯一...
2021-07-26 09:57:20 72
原创 DBA常用命令
数据导出:注意:在windows的dos命令窗口中: mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123456可以导出指定的表嘛 mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot -p123456数据导入:注意:需要先登录到mysql数据库服务器上创建数据库:create database bjpowernode;使用数据库:use bjpowernode;然后初始..
2021-07-26 09:56:39 131
原创 视图的学习
视图什么是视图view:站在不同得角度去看待同一份数据创建视图对象create view dept2_view as select * from emp;create view 视图名 as select * from 表名删除视图对象drop view dept2_viewdrop view 视图名视图得作用我们可以面向视图对象进行增删改查,对视图对象得增删改查,会导致原表被操作面向视图查询select * from dept2_view;面向视图插入insert into
2021-07-26 09:55:36 128
原创 索引的学习
索引创建索引create index 索引名 on 表名(字段名)create index emp_ename_index on emp(ename)删除索引drop index 索引名 on 表名drop index emp_ename_index on emp怎么查看一个sql语句是否使用索引explain select * from 表名 where 字段名 = '查的东西'explain select * from emp where ename = 'KING'然后查看row
2021-07-26 09:54:59 87
原创 事务的隔离级别
事务的隔离级别读未提交:read uncommitted(最低的隔离级别)(没有提交就能读到)事务A可以读取到事务B未提交的数据。这种隔离级别存在的问题就是:脏读现象!(Dirty Read)读已提交:read committed(提交之后才能读到)事务A智能提取到事务B提交之后的数据这种隔离解决了脏读的现象存在问题:不可重复读取数据在事务开启后,第一次读到的数据是3条,当前事务还没有结束,可能第二次再读取的时候,读到的数据是4条,3不等于4称为不可重复读取这种隔离级别是比较真实的数
2021-07-26 09:54:29 73
原创 事务的学习
什么是事务?就是一个完整的业务逻辑只有DML语句才有事务insert delete update说到底,事务就是多条DML语句同时成勾或者同时失败InnoDB存储引擎:提供一组用来记录事务性活动的日志文件提交事务?清空事务性活动的日志文件,将数据全部彻底持久化到数据库表中。提交事务标志着,事务的结束。并且是一种全部成功的结束。回滚事务?将之前所有的DML操作全部撤销,并且清空事务性活动的日志文件回滚事务标志着,事务的结束,并且是一种全部失败的结束。怎么提交事务,怎么回滚事务...
2021-07-26 09:53:48 75
原创 多表查询以及union得用法
多表查询的引入多表查询有多种查询类型:cross natural using on交叉连接(cross join):是对2个或者多个表进行笛卡尔积操作,但是笛卡尔乘积没有实际意义,只有理论意义自然连接(natural join):优点:自动匹配所有的同名列,同名列只展示一次,并且足够简单缺点:查询字段的时候,没有指定字段所属的数据库表,效率低解决:指点表名缺点:假如表名太长,不好写解决:给表起别名缺点:natural join缺点:自动匹配表中所有的同名列,但是有时候我们希望只匹配部...
2021-07-26 09:53:06 1020
原创 数据的唯一和非空约束以及默认值
唯一约束的基本格式字段名 字段类型 UNIQUE当使用UNIQUE时,输入相同的数据无法加入因为null是没有值得,所以不存在重复得问题
2021-07-18 21:19:05 322
原创 主键的约束
主键的作用用来唯一标识一条记录,每个表都应该有一个主键,并且每个表只能有一个主键哪个字段应该作为表的主键通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键,主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。不能插入重复的主键和NULL的主键删除主键ALTER TABLE 表名 DROP PRIMARY KEY;主键自增主键如果让我们自己添加很有可能重复,我们通常希望在每次插入新记录时,数据库自动生成主键字段.
2021-07-18 20:51:55 251
原创 limit语句
LIMIT是限制的意思,所以LIMIT的作用就是限制查询记录的条数。SELECT *|字段列表[as 别名] FROM 表名 [WHERE 子句] [GROUP BY子句][HAVING子句][ORDER BY子句][LIMIT 子句]为什么limit子句排在最后?因为前面所有的限制条件都处理完了,只剩下显示多少条记录的问题了LIMIT语法格式:LIMIT offset,lenght; 或者limit length;offset是指偏移量,可以认为是跳过的记录数量,默认为0(跳过几条)le
2021-07-18 17:33:59 1739
原创 查询之分组
分组查询是指使用GROUP BY语句对查询信息进行分组,相同数据作为一组SELECT 字段1,字段2...表名 GROUP BY 分组字段 [HAVING 条件]GROUP BY怎么分组的?将分组字段结果中相同内容作为一组SELECT * FROM hero GROUP BY sex;这句话会将sex相同的数据作为一组,但是会返回每组的第一条,没有任何意义分组的目的是为了统计,一般分组会根聚合函数一起使用分组后聚合函数的作用?不是操作所有数据,而是操作一组数据。SELECT SUM(lif
2021-07-18 17:06:06 478
原创 查询之聚合函数
聚合函数五个聚会函数:count:统计指定列记录数,记录为NULL的不统计sum:计算指定列的数值和,如果不是数值类型,那么计算结果为0max:计算指定列的最大值min:计算指定列的最小值avg:计算指定列的平均值,如果不是数值类型,那么计算结果为0聚合函数的使用:写在SQL语句SELECT后字段名的地方SELECT 字段名...FROM 表名;SELECT COUNT(age) FROM 表名;...
2021-07-17 00:22:46 94
原创 条件查询之排列
排序通过ORDER_BY子句,可以将查询出的结果进行排序(排序只显示方式,不会影响数据库中数据库的顺序)语法:SELECT 学段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];ASC:升序,默认是升序DESC:降序(一)单列排序单列排序就是使用一个字段排序(二)组合排序组合排序就是先按第一个字段进行排序,如果第一个字段相同,才按第二个字段进行排序,依此类推。SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段
2021-07-16 23:55:44 158
原创 LIKE模糊查询
likeLIKE表示模糊查询SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'满足通配符字符串规则的数据就会显示出来MySQL通配符有俩个:%:表示0或多个字符(任意个字符)_:表示一个字符
2021-07-16 17:45:54 102
原创 范围的查询
范围BETWEEN 值1 AND 值2 表示从值1到值2范围,包头又包尾比如:age BETWEEN 35 AND 70相当于:age>=35 && age<=70
2021-07-16 17:34:32 85
原创 DQL语言
DQL数据查询语言用了查询数据库中表的记录(数据)。关键字:select,where等注意:查询不会对数据库中的数据进行修改,只是一种显示数据的方式简单查询1.使用*表示所有列SELECT * FROM 表名;2.写出查询每列的名称SELECT 字段名1, 字段名2, 字段名3, ... FROM 表名;3.查询指定列查询指定列的数据,多个列之间以逗号分隔SELECT 字段名1, 字段名2... FROM 表名;别名查询1.查询时给列、表指定别名需要使用AS关键字SEL2.使用
2021-07-16 15:45:11 53
原创 更新表记录
1.不带条件修改数据UPDATE 表名 SET 字段名=值;2.带条件修改数据UPDATE 表名 SET 字段名=值 WHERE 字段名=值;3.关键字说明UPDATE:修改数据SET:修改哪些字段WHERE:指定条件删除表记录1.不带条件删除数据DELETE FROM 表名;2.带条件删除数据DELETE FROM 表名 WHERE 字段名=值;truncate删除表记录TRUNCATE TABLE 表名;truncate和delete的区别delete是将表中的数据一
2021-07-16 14:46:52 94
原创 DML语句
1.关键字说明INSERT INTO 表名 - 表示往哪张表中添加数据(字段名1,字段名2,...) -- 要给哪些字体设置值VALUES(值1,值2,...)-- 设置具体的值2.注意值与字段必须对应,个数相同,类型相同值的数据大小必须在字段的长度范围内除了数值类型外,其他的字段类型的值必须使用引号引起。(建议单引号)如果要插入空值,可以不写字段,或者插入null3.插入全部字段所有字段名都写出来:INSERT INTO 表名(字段名1,字段名2,字段名3,...)VALUES(值1
2021-07-16 10:41:03 99
原创 DDL操作表
DDL操作表(前提先使用某个数据库)(一)创建表CREATE TABLE 表名(字段名1 字段类型1,字段名2 字段类型2...);查看表1.查看某个数据库中的所有表SHOW TABLES;2.查看表结构DESC 表名;3.查看创建表的SQL语句SHOW CREATE TABLE 表名;(二)快速创建一个表结构相同的表CREATE TABLE 新表名 LIKE 旧表名;(三)删除表1.直接删除表DROP TABLE 表名;2.判读是否存在并删除表DROP TABLE
2021-07-15 17:21:30 162
原创 DDL操作数据库(1)
DDL操作数据库(一)1.创建数据库CREATE DATABASE 数据库名;2.判断是否存在并创建数据库CAEATE DATABASE IF NOT EXISTS 数据库名;3.创建数据库并指定字符集(编码表)CAEATE DATABASE 数据库名 CHARACTER SET 字符集;(二)查看数据库1.查看所有数据库名SHOW DATABASES;2.查看某个数据库的定义信息SHOW CREATE DATABASE 数据库名;(三)修改数据库修改数据库字符集格式AL.
2021-07-15 16:31:17 80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人