1. 程式人生 > 資料庫 >資料庫MySQL學習第一天—資料庫概述與查詢語句的相關內容

資料庫MySQL學習第一天—資料庫概述與查詢語句的相關內容

標題:資料庫MySQL學習第一天—資料庫概述與查詢語句的相關內容

學習內容:

1、資料庫簡要概述
2、查詢語法


內容詳情:

1、資料庫簡要概述
資料庫的好處

1、可以持久化資料到本地
2、結構化查詢

資料庫的常見概念

1、DB:資料庫,儲存資料的容器
2、DBMS:資料庫管理系統,又稱為資料庫軟體或資料庫產品,用於建立或管理DB
3、SQL:結構化查詢語言,用於和資料庫通訊的語言,不是某個資料庫軟體特有的。而是幾乎所有的主流資料庫軟體通用的語言

資料庫儲存資料的特點

1、資料存放到表中,然後表再放到庫中
2、一個庫中可以有多張表,每張表具有唯一的表名用來標識自己
3、表中有一個或多個列,列又稱為“欄位”,相當於java中“屬性”、表中的每一行資料,相當於java中“物件”

2、查詢語法
不用專業術語來描述了,例子一看就簡單明瞭
基礎查詢

– select id from bookinfo;
– select id,name from bookinfo;
– select * from bookinfo;

起別名

– select id myid from bookinfo;空格的方式
– select id AS myid from bookinfo;AS的方式

去重

– select DISTINCT id AS myid from bookinfo;DISTINCT關鍵字

mysql中的+號

– java中的+號:
– 運算子,兩個運算元都為散值型

– 連線符,只要有一個運算元為字串
– mysql中的+號:
– 僅僅只有一個功能:運算子

– select 100+90;兩個運算元都為數值型,則做加法運算
– select ‘123’+90;其中一方為字元型,試圖將字元型數值轉換成數值型
– 如果轉換成功,則繼續做加法運算
– select 'john '+90;
– 如果轉換失敗,則將字元型數值轉換成0
– select null+10;只要其中一方為null,則結果肯定為null

– select 100+90; 190
– select ‘123’+90; 213
– select 'john '+90; 90
– select null+10; 0

條件查詢

– select id
– from bookinfo
– where id=‘1’;

一、按條件表示式篩選
簡單條件運算子:> < = != <> <=
二_按邏輯表示式篩選
邏輯運算子:&&、||、!(not)
三、模糊查詢
like
特點:
1一般和萬用字元搭配使用
萬用字元:
% 相當於任意多個字元,包含0個字元或者單個字元
_相當於任意單個字元
between and
is null
in

按條件表示式篩選

– select id
– from bookinfo
– where id<>‘1’;

按邏輯表示式篩選

– select id,name
– from bookinfo
– where id =‘1’ && name=‘資料庫’;

模糊查詢

like

– select id,code
– from idcard
– WHERE code LIKE ‘%y%’;

如果需要查詢帶_需要轉義 兩種方式
通過“ \”

– select id,code
– from idcard
– WHERE code LIKE ‘%_%’;

通過escape關鍵字

– select id,code
– from idcard
– WHERE code LIKE ‘%“符號”_%’ ESCAPE “符號”;
符號可以是自定義任何。

between and

select *
from mysqlBook
WHERE money BETWEEN 30 AND 40;

in

select *
from mysqlBook
WHERE name in(‘資料庫’,‘資料結構’);
– 等價於
select *
from mysqlBook
WHERE name=‘資料庫’ OR name=‘資料結構’;

is NULL

等號不能判斷null值,只能用is NULL
select *
from mysqlBook
WHERE name is NULL;

-排序查詢

– select *
– from mysqlBook
– WHERE name =‘資料庫’;
– ORDER BY id ASC;
– ASC是正序排序,DESC是倒序排序,不寫預設是ASC
– select *
– from mysqlBook
– WHERE name =‘資料庫’;
– ORDER BY num DESC,id ASC

函式
單行函式
1.length獲取引數值的位元組個數

– SELECT LENGTH(name)
– from mysqlbook
– WHERE id =‘1’;

2.concat拼接字串

– SELECT CONCAT(id,name) AS 拼接字串
– from mysqlbook
– WHERE name =‘資料庫’;

3.upper變大寫lower變小寫

– SELECT UPPER(‘hh’);
– SELECT LOWER(‘LLaa’) ;

4.substr或者substring

– 索引從1開始
– 擷取從指定索引處指定字元長度的字元
– SELECT SUBSTR(‘李莫愁愛上了陸展元’,1,3) ;

還有好多函式,不一一列出來了,用法就是這樣的
分組函式

– SELECT SUM(money) FROM mysqlbook;
– SELECT AVG(money) FROM mysqlbook;
– SELECT MIN(money) FROM mysqlbook;
– SELECT MAX(money) FROM mysqlbook;
– SELECT COUNT(money) FROM mysqlbook

分組查詢

– select
– from
– where
– group by
– HAVING 分組後的篩選
– order by
– 關鍵字的順序是這樣的
select id
from idcard
group by id
HAVING id>‘2’;

連線查詢
Sql92語法

select
from
where
group by分組
having篩選條件
order by排序列表

Sql99語法

select
from表1
join表2
on連線條件
where篩選條件
group by分組
having篩選條件
order by排序列表

子查詢

就是在
select(select from where)
from(select from where)
where id in(any,all)(select from where)
後面加括號,括號裡面又是這樣的結構
IN/NOT IN:等於列表中的任意一個
ANY|SOME:和子查詢返回的某一個值比較
ALL:和子查詢返回的所有值比較

分頁查詢

select
from
join
on
where
limit offset, size;
offsel要顯示條目的起始索引(起始索引從0開始)size要顯示的條目個數

聯合查詢

查詢語句1(select from where)
union
查詢語句2(select from where)