JavaEE学习之走进mysql数据库

mysql数据库

引言

1.现在程序存储数据方式有哪些

  • java程序存储数据(变量,对象,数组,集合),数据保存在内存汇中,属于瞬时状态存储
  • 文件存储数据,保存在硬盘上,属于持久状态存储

2.这两种存储方式有什么缺点

  • 没有数据类型的分类
  • 存储数据量级小
  • 没有访问安全限制
  • 没有备份,恢复机制

数据库

1.概念

  • 数据库是按照数据结构来组织,存储和管理数据的仓库,是一个长期存储在计算机内的,有组织的,有共享的,统一管理的数据集合

2.数据库的分类

  • 网状结构的数据库:美国通用电气公司IDS,以节点形式存储和访问
  • 层次结构的数据库:IBM公司IMS定向有序的树状结构实现存储和访问
  • 关系结构数据库:Oracle,DB2,Mysql,SQL Server,以表格存储,多表之间建立关联关系,通过分类,合并,连接,选取等运算实现访问
  • 非关系结构数据库:ElastecSearch,MongoDB,Redis,多数使用哈希表,表中以键值(key-value)方式实现特定的键和一个指针指向的特定数据

数据库管理系统

1.概念

  • 数据库管理系统(DBMS):指一种操作和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据

2.常见数据库管理系统

  • Oracle:被认为是业界目前比较成功的关系型数据库管理系统。Oracle数据库可以运行在unix,window等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的iso标准安全性认证
  • DB2:IBM公司的产品,DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要,并灵活地服务于中小型电商解决方案
  • SQL Server:Microsoft公司推出的关系型数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点
  • SQLLite:应用在手机端的数据库

MySQL

1.简介

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下的产品,MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS关系数据库管理系统,应用之一

2.访问与下载

3.MySQL目录结构

  • 核心文件目录
    • bin 命令文件
    • lib 库文件
    • include 头文件
    • share 字符集,语言等信息

4.MySQL配置文件

  • 在MySQL安装目录中找到my.ini文件,并打开my.ini文件查看几个常用配置参数
  • default-character-set 客户端默认的字符集
  • character-set-server 服务器端默认字符集
  • port 客户端和服务端的端口号
  • default-storage-engine Mysql默认存储引擎InnoDB

SQL语言

1.概念

  • SQL结构化查询语言,用于存取数据,更新,查询和管理关系数据库系统的程序设计语言
    • 经验:通常执行对数据库的“增删改查”,简称C(Create)R(Read)U(Update)D(Delete)

2.Mysql应用

  • 对于数据库的操作,需要在进入mysql环境下进行指令输入,并在一句指令的末尾使用;结束

3.基本命令

  • show databases # 显示在mysql中所有的数据库
数据库名称 描述
information_schema 信息数据库,其中保存着关于所有数据库的信息(元数据)元数据是关于数据的数据,如数据库的表名,列的数据,访问权限等
mysql $核心数据库,主要负责存储数据库的用户,权限设置,关键字等,以及需要使用的控制和管理信息,不可以删除
performance_schema 性能优化的数据库,Mysql5.5版本中新增的一个优化引擎
sys 系统数据库,mysql5.7版本中新增的可以快速的了解元数据信息的系统库,便于发现数据库的多样信息,解决性能瓶颈问题
  • 创建自定义数据库
    • create database mydb1; #创建mydb1数据库
    • create database mydb2 character set utf8; #创建mydb2数据库并设置编码字符集
    • create database if not exists mydb3; #如果不存在mydb3数据库,创建mydb3数据库
  • 查看数据库创建信息
    • show create database mydb2; #查看创建mydb2数据库的基本信息
  • 修改数据库的信息
    • alter database mydb2 character set gbk; #修改mydb2的字符集为gbk
  • 删除数据库
    • drop database mydb3; #删除mydb3数据库
  • 查看当前所使用的数据库
    • select database(); #查看当前所使用的数据库
  • 使用数据库
    • use mydb2; #使用mydb2数据库

客户端工具

  • Navicat
    • 是一套快速,可靠并价格相宜的数据库管理系统工具,专为简化数据库的管理以及降低管理成本而设
  • SQLyog
    • 可能是世界上最流行的开源数据库引擎,但是使用基于文本的工具和配置文件可能很难进行配置

数据查询

1.数据库表的基本结构

  • 关系结构数据库是以表格(table)进行数据存储的,表格由行和列组成
    • 经验:执行查询语句返回的结果是一张虚拟表

2.基本查询

  • 语法: select 列名 from 表名
关键字 描述
select 指定要查询的列
form 指定要查询的表

2.1 查询部分列

  • select id,name from student; #查询student表中id,name列的所有信息

2.2 查询所有列

  • select * form student; #查询student表中所有列信息
    • 注意:生产环境下,优先使用列名查询,*的方式需转换成全列名,效率低,可读性差

2.3 对列数据进行计算

  • select salary*12 from student; #查询student表 salary并乘12的数据返回
    • 注意:%是占位符,而非模运算符

2.4 列的别名

  • 列 as ‘列名’
    • select salary*12 as ‘年薪’ from student; #查询student表 salary并乘12的数据返回到‘年薪’列中

2.5 查询结果去重

  • distinct 列名
    select distint id from student; #查询唯一不重复的所有学生的id

2.6 排序查询

  • select 列名 from 表名 order by 排序列【排序规则】
    • select id,name from student order by id ASC; #查询所有学生的id,name以id升序排序
排序规则 描述
asc 对前面的排序列做升序排序
desc 对前面的排序列做降序排序
2.6.1单列排序
  • select id,name ,salaryfrom student order by id ASC; #查询所有学生的id,name,salary以id升序排序
2.6.2多列排序
  • select id,name,salary from student order by id ASC ,salary desc; #查询所有学生的id,name,salary以id升序排序若id相等以salary降序排序

2.7 条件查询

  • select 列名 from 表名 where 条件
  • where 在查询结果中,筛选符合条件的查询结果,条件为布尔表达式
2.7.1 等值判断(=)<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值