數據庫(上)
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%’;