為什么要使用數(shù)據(jù)據(jù)庫(kù)
·登錄界面
·用戶信息查詢
~ 對(duì)比 ~
數(shù)據(jù),集合,內(nèi)存的易失性 斷電丟失
文件 可以存,查詢不便
好處
· 實(shí)現(xiàn)數(shù)據(jù)持久化
· 使用完整的管理系統(tǒng)統(tǒng)一管理,易于查詢
數(shù)據(jù)庫(kù)的相關(guān)概念
DB
數(shù)據(jù)庫(kù)(database):存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),保存一系列有組織規(guī)范的數(shù)據(jù)。
DBMS
數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System):數(shù)據(jù)庫(kù)是通過(guò)DBMS創(chuàng)建和操作的容器。用于管理DB中的數(shù)據(jù)。
常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng):mysql(開(kāi)源),oracle(專業(yè)只做數(shù)據(jù)庫(kù)軟件,但是貴),db2(一般用于處理海量數(shù)據(jù)),sqlserver(ms)。
DBMS分兩類:
- 基于共享文件系統(tǒng)的DBBMS(Access)
- 基于客戶機(jī)——服務(wù)器(c/s架構(gòu))的DBMS
SQL
結(jié)構(gòu)化查詢語(yǔ)言(Structure Query Language):專門用來(lái)與數(shù)據(jù)庫(kù)通信的語(yǔ)言。
SQL優(yōu)點(diǎn)
· 所有數(shù)據(jù)庫(kù)語(yǔ)言基本都支持SQL。
· 簡(jiǎn)單易學(xué)
· 雖簡(jiǎn)單,但實(shí)際是一種強(qiáng)有力語(yǔ)言,靈活使用開(kāi)源進(jìn)行復(fù)雜和高級(jí)數(shù)據(jù)庫(kù)操作。
數(shù)據(jù)庫(kù)特點(diǎn)
1.將數(shù)據(jù)放到表中,表再放到庫(kù)中。

2.一個(gè)數(shù)據(jù)庫(kù)中開(kāi)源有多張表,每個(gè)表都有一個(gè)名字。表名具有唯一性。
3.表具有一些特性,這些特性定義了表如何存儲(chǔ),類似于類的設(shè)計(jì)。
4.表由列組成,也稱字段。所有都由一列或多個(gè)列組成,每一列類似屬性。
5.表中數(shù)據(jù)按行存儲(chǔ),類似于對(duì)象。
MySQL
MySQL服務(wù)的啟動(dòng)和停止
方法一:開(kāi)始-計(jì)算機(jī)-管理-服務(wù)
方法二:右鍵開(kāi)始-命令行(管理員)
net start mysql
net stop mysql
MySQL服務(wù)端的登錄和退出
方法一:mysql command line client(只限于root用戶)
方法二:右鍵開(kāi)始-命令行(管理員)
mysql(命令不是服務(wù)名) -h(代表主機(jī)) localhost -P(端口號(hào)) 如3306 -u root -p
完整(遠(yuǎn)程) mysql -h localhost -P 3306 -u ee -p12345(密碼可要可不要,中間不能有空格)
(連接本機(jī)h和P可不寫)
退出:exit
MySQL常見(jiàn)命令
1.查看當(dāng)前所有數(shù)據(jù)庫(kù)
show databases;
2.打開(kāi)指定的庫(kù)
use 庫(kù)名;
3.查看當(dāng)前庫(kù)的所有表
show tables;
4.查看其它庫(kù)的所有表
show tables from 庫(kù)名;
5.創(chuàng)建表
create table 表名(
列名 列類型;
列名 列類型;
)
6.查看表結(jié)構(gòu)
desc 表名;
MySQL語(yǔ)法規(guī)范
1.不區(qū)分大小寫,但是建議關(guān)鍵字大寫,表名,列名小寫。
2.每條命令用分號(hào)結(jié)尾。
3.每條命令根據(jù)需要,可以進(jìn)行縮進(jìn)或者換行。
4.注釋。
單行注釋:#注釋文字
單行注釋:-- 注釋文字
多行注釋:/注釋文字/
界面軟件
sqlyog,navcat
DQL語(yǔ)言學(xué)習(xí)
(Data Query Language數(shù)據(jù)查詢語(yǔ)言)
基礎(chǔ)查詢
語(yǔ)法
select 查詢列表
from 表名;
特點(diǎn)
1、查詢列表可以是字段、常量、表達(dá)式、函數(shù),也可以是多個(gè)
2、查詢結(jié)果是一個(gè)虛擬表
示例
1、查詢單個(gè)字段
select 字段名 from 表名;
2、查詢多個(gè)字段
select 字段名,字段名 from 表名;
3、查詢所有字段
select * from 表名
4、查詢常量
select 常量值;
注意:字符型和日期型的常量值必須用單引號(hào)引起來(lái),數(shù)值型不需要
5、查詢函數(shù)
select 函數(shù)名(實(shí)參列表);
6、查詢表達(dá)式
select 100/1234;
7、起別名
①as
②空格
8、去重
select distinct 字段名 from 表名;
9、+
作用:做加法運(yùn)算
select 數(shù)值+數(shù)值; 直接運(yùn)算
select 字符+數(shù)值;先試圖將字符轉(zhuǎn)換成數(shù)值,如果轉(zhuǎn)換成功,則繼續(xù)運(yùn)算;否則轉(zhuǎn)換成0,再做運(yùn)算
select null+值;結(jié)果都為null
10、【補(bǔ)充】concat函數(shù)
功能:拼接字符
select concat(字符1,字符2,字符3,...);
11、【補(bǔ)充】ifnull函數(shù)
功能:判斷某字段或表達(dá)式是否為null,如果為null 返回指定的值,否則返回原本的值
select ifnull(commission_pct,0) from employees;
12、【補(bǔ)充】isnull函數(shù)
功能:判斷某字段或表達(dá)式是否為null,如果是,則返回1,否則返回0
條件查詢
語(yǔ)法
select 查詢列表
from 表
where 篩選條件
order by 排序列表 【asc}desc】
特點(diǎn)
1、asc :升序,如果不寫默認(rèn)升序
desc:降序
2、排序列表 支持 單個(gè)字段、多個(gè)字段、函數(shù)、表達(dá)式、別名
3、order by的位置一般放在查詢語(yǔ)句的最后(除limit語(yǔ)句之外)
DML語(yǔ)言學(xué)習(xí)
(Data Manipulation Language數(shù)據(jù)增刪改)
DDL語(yǔ)言學(xué)習(xí)
(Data Define Language)
TCL語(yǔ)言學(xué)習(xí)
(Transaction Control Language事務(wù)控制語(yǔ)言)