数据库
1. 概念
数据库是“按照数据结构来组织、存储和管理的的仓库”。是一个长期存储在计算机内、有组织可共享、统一管理的大量数据的集合。
数据库是以一定方式存储在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的场所,用户可以对文件中的数据进行增删改查等操作。
2.为啥要使用数据库
一句话概括:它(╯▽╰)香~~,它好用。
java程序在运行过程中对于数据进行存储操作,数据是保存在内存中的,数据存储是瞬时的,如果发生错误导致程序退出,或者直接退出,都会导致数据丢失并且不可逆。
文件存储数据,xml,Json这个可操作性比较差,不同的文件有不同的解析方式,并且在内存占用和效率问题上很难达到两全程度。
数据库能较好的处理这些问题
3. 常见的数据库
Oracle、DB2、SQL Server 、SQLite(轻量级数据库)、Mysql(开源免费的)
4. Mysql
Mysql的基本操作
-
在cmd中进入mysql(所有操作的前提,你不进来咋操作)
cmd > mysql -uroot -p123456 -
关于数据库的操作
创建数据库
create database ccc;创建数据库过程修改编码集
create database xxx character set gbk;查看创建数据库的详细内容
show create database xxx;修改数据库的编码集
alter database ccc character set gbk;删除对应数据库
drop database ccc;选择使用数据库
use xxx;
5. 数据查找
-
基本查询
查询指定的字段
select EMPLOYEE_ID, FIRST_NAME, LAST_NAME from t_employees;查询所有
select * from t_employees; -
查询结果字段进行数据计算
select EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY * 12
from t_employees; -
去重查询 —— distinct
select distinct MANAGER_ID from t_employees; -
起别名
select EMPLOYEE_ID as ‘ID’, FIRST_NAME as ‘名’, LAST_NAME as ‘姓’, SALARY * 12 as ‘年薪’
from t_employees; -
排序 order by asc(升序)/desc(降序)
select fieldName from tbName order by fieldName asc;按照薪水和编号降序查询
select EMPLOYEE_ID, FIRST_NAME, SALARY
from t_employees
order by SALARY desc, EMPLOYEE_ID desc; -
where 查询
查询在员工表内容,工资等于11000 对应的id号,名字,和工资
select EMPLOYEE_ID, FIRST_NAME, SALARY
from t_employees
where SALARY = 11000; -
不定值查询符号
< 小于、> 大于、<= 小于等于、>= 大于等于、!= 不等于(<>)
where 条件的等号判断改成自己需要的。 -
区间
between and
薪资在8000到10000的
select EMPLOYEE_ID, FIRST_NAME, SALARY
from t_employees
where SALARY between 8000 and 10000; -
枚举 in
部门编号为60, 70 ,90
select FIRST_NAME, DEPARTMENT_ID
from t_employees
where DEPARTMENT_ID in(70, 60, 90); -
模糊查询 like
FIRST_NAME中含有d的,不区分大小写
select FIRST_NAME
from t_employees
where FIRST_NAME like ‘%D%’;