好der,又是新的一周过去了,时间过得真快,这周六天,东西也是相当的多了,慢慢总结一下:
这周主要讲了MySQL数据库,从现有的数据存储方式入手,思考现有了解的存储方式的优缺点,逐步引出数据库的概念,,已经数据库的分类。进而引出数据库管理系统。
下面才是重点:
MySQL:一个关系型数据库管理系统,要使用也需要配置环境变量,这里略过,详细的看图片,MySQL的核心文件有bin-命令相关文件,include-库文件,lib-头文件,share-字符集,语言等信息。对于数据库的操作,需要在连接MySQL的环境下进行指令输入,并在一行的末尾使用分号;结束,有一些基本命令:show databases-显示当前MySQL中的所有数据库,create database-创建自定义数据库,drop database-删除数据库,show create database-查看数据库创建信息,use-使用数据库,select database-查看当前使用的数据库。这些指令在dos窗口下可以使用,但是不方便查看,界面不友好,所以可以使用一些数据库管理系统的可视化工具进行操作。
进入另一个重点:数据查询()
首先了解一下,关系型数据库是以表格的形式进行数据存储,表格由行和列组成,执行查询语句返回的结果集是一张虚拟表,对原表数据无影响。首先基本查询:select 列名 from 表名;可以查询所有列,查询部分列,只要控制好输入的列名即可,select什么就是查询什么。也可以对列中的数据进行运算,算数运算符只有正常的加减乘除(+ - * /)(与Java之中不同,%在数据库中,代表占位符,并非取余运算符)。觉得表中的列名不易读时,可以在查询的时候赋予别名,语法为:列 as 列名。不想要重复数据可以去重:distinct 列名。对查询的结果进行排序,用order by,select 列名 from 表名 order by 排序列名 排序规则(asc为升序,desc为降序,默认为升序),排序可以单列排序,也可以根据多列进行排序。
条件查询:select 列名 from 表名 where 条件;。在where中,可以进行等值判断(=),不等值判断,大于,小于,大于等于,小于等于,不等于,其中,不等于有两种写法,!=和<>,两种均可。进行逻辑判断,使用and,or,not,进行与或非判断(语言有问题,但是理解相同)。区间判断 between 小值 and 大值;大小值写反了是不可以的,null值判断,is null(是空的),is not null(不是空的),枚举查询,in(值1,值2,,,值n),应用在多个并列查询时候的简写。模糊查询like,分支查询 case when else end,理解的时候像Java中的switch case default,需要注意的一点是,case分支结构会生成一个新的列。时间查询,select 时间函数 (参数列表),可以或许需要的大部分时间,详细看图片。。字符串查询 select 字符串函数(参数列表),大概类似于Java中的字符串的一系列操作,,聚合函数,select 聚合函数(列名)from 表名,,聚合函数是对多条数据的单列进行统计,返回统计后的一行结果,可以进行求总行数,求和,平均值,最大值,最小值的操作。。分组过滤查询,在分组查询后面加上过滤条件,关键字为having 过滤条件,限定查询(在分页中常用),select 列名 from 表名 limit 起始行 , 查询行,注意一点,,起始行为0。
接下来,子查询,就是讲一条查询结果作为另一条查询的条件进行emmmm套娃😂,可以作为条件判断,可以作为枚举查询的条件,也可以作为一张表。
表连接查询,语法为,select 列名 from 表1 连接方式 表2 on 连接条件。有内连接查询,inner join on,其中包括多表连接查询,左外连接查询left join on,以左表为中心,右外连接查询right join on,以右表为中心,匹配到返回结果,匹配不到返回null值。dml操作,也就是增删改操作,使用insert into,delete,update进行相关操作,其中删除中还有一条,清空,,truncate table 表名,是将整张表摧毁并按照原来的结构重建一个,这个更狠更彻底,。
下面是库表操作,对数据库的一些列操作,创建create,修改alter,删除drop,语法为 操作 table 库名。其中MySQL的数据类型有三类,数值,日期时间,字符串。
对于数据库的每一列,还有特定的约束条件,实体完整性约束中的主键约束,唯一约束,域完整性约束中非空约束,默认值约束,引用完整性约束等
下面是事务,对于不可分割的原子操作,为一个事务,操作全部成功才算成功,否则,全部不成功。事务有四个特征,ACID,分别为,原子性,一致性,隔离性,持久性。
我们还可以创建新的用户,给与权限,撤销权限,删除用户等操作,这是权限操作。为了用户操作方便,保证数据库的安全,还可以创建视图,create view 视图名 as 查询数据源表的语句,对于视图也有创建修改删除一系列操作
JDBC中别的先不谈,最重要的开发步骤,6步:加载驱动,连接数据库,获取发送SQL语句的对象,编写SQL语句并执行SQL语句,处理结果,释放资源(注意先开后关,先打开的后关闭)
这周先整理到这里,还是不全,先放图吧。