一淆储、數(shù)據(jù)庫的介紹
數(shù)據(jù)庫(Database),又稱為數(shù)據(jù)管理系統(tǒng)谱姓。就是存儲和管理數(shù)據(jù)的倉庫衩侥。
每個數(shù)據(jù)庫都有多個不同的API用來進行對數(shù)據(jù)的增刪改查操作国旷。
常見的關系型數(shù)據(jù)庫(RDBMS )
什么是關系型數(shù)據(jù)庫?
就是建立在關系模型基礎上的數(shù)據(jù)庫茫死,借助集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)跪但。
關系模型就是簡單的二維表格模型。表之間有可能存在關聯(lián)峦萎,關聯(lián)方式有一對一屡久、一對多、多對多骨杂。
- 以數(shù)據(jù)表的形式存儲數(shù)據(jù)涂身;
- 數(shù)據(jù)表由行和列的組合形式來存儲一組實例雄卷;
- 表頭是每一列的名稱(字段)搓蚪;
- 每列是對應每個字段的數(shù)據(jù)集合;
- 每行是用來描述具體人/物的具體信息丁鹉;
- 用主鍵來標識某個特定的人/物的信息妒潭,主鍵是唯一的;
-
多張表形成數(shù)據(jù)庫(database)揣钦;
常見的關系型數(shù)據(jù)庫
Oracle雳灾、MySQL、Microsoft SQL Server等等冯凹。
1谎亩、Oracle(甲骨文)
Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關系數(shù)據(jù)庫管理系。最初是一家專門開發(fā)數(shù)據(jù)庫的公司,在數(shù)據(jù)庫領域一致處于領先地位匈庭,后轉到桌面計算機上夫凸,但很多功能是收費的,很多小型公司不選擇的原因阱持。
2夭拌、MySQL
MySQL是一個開源的關系數(shù)據(jù)庫管理系統(tǒng),是最常用的數(shù)據(jù)庫管理語言衷咽。后被Sun公司收購鸽扁,Sun又被Oracle收購。特點是體積小镶骗、速度快桶现,很多公司選擇它大多因為成本低是開源的這一特點。
3鼎姊、Microsoft SQL Server
SQL Server是由微軟開發(fā)的數(shù)據(jù)庫管理系統(tǒng)巩那,是Web上最流行的用于存儲數(shù)據(jù)的數(shù)據(jù)庫,它已廣泛用于電子商務此蜈、銀行即横、保險、電力等與數(shù)據(jù)庫有關的行業(yè)裆赵。
二东囚、MySQL 安裝
系統(tǒng):Windows 10
1、在官網(wǎng)找到下載地址战授,選擇命令行的版本MySQL Community Server
2页藻、解壓至需要安裝的位置
3、配置環(huán)境變量
控制面板→系統(tǒng)和安全→系統(tǒng)→高級系統(tǒng)設置→環(huán)境變量植兰,把安裝的根目錄和根目錄/bin的路徑添加帶環(huán)境變量中去份帐。
4辐啄、安裝數(shù)據(jù)庫
?????a.找到CMD以管理員的身份運行
?????b.進入到安裝的根目錄下/bin下
?????eg:
?????c.安裝鍵入→
mysqld -install
?????d.初始化→
mysqld --initialize-insecure
?????e.啟動MySQL服務→
net start mysql
?????f.連接數(shù)據(jù)庫→
mysql -u root -p
三碳胳、MySQL 數(shù)據(jù)庫的使用
MySQL 連接數(shù)據(jù)庫
mysql -h localhost -port 3306 -u root -p
-h → host 主機名/IP地址
-port → 端口
-u → user 用戶名
-p → password 密碼
注:
①host默認是localhost,port默認是3306贰盗,可以不用寫
②登錄成功后會出現(xiàn)mysql>命令提示窗口
③使用 exit
來進行MySQL退出
MySQL 創(chuàng)建數(shù)據(jù)庫
在連接了數(shù)據(jù)庫之后筒繁,使用 create 命令創(chuàng)建數(shù)據(jù)庫噩凹,語法如下:
create database 數(shù)據(jù)庫名;
eg:
注:①數(shù)據(jù)庫名稱必須是英文
選擇數(shù)據(jù)庫
在連接到MySQL數(shù)據(jù)庫后,可能有多個可以操作的數(shù)據(jù)庫毡咏,所以選擇一個需要操作的數(shù)據(jù)庫驮宴,語法如下:
use 數(shù)據(jù)庫名;
eg:
use testdb;
MySQL 刪除數(shù)據(jù)庫
刪除數(shù)據(jù)庫需要使用最高權限,需要使用root用戶登錄連接數(shù)據(jù)庫呕缭。
刪除數(shù)據(jù)庫需要謹慎堵泽,因為在執(zhí)行珊瑚命令后修己,所有的數(shù)據(jù)都將消失。
drop database <數(shù)據(jù)庫名>;
MySQL 常用的數(shù)據(jù)類型
定義數(shù)據(jù)字段的類型有利于數(shù)據(jù)庫的優(yōu)化迎罗。
MySQL支持多種類型箩退,大致分為三類:數(shù)值、日期/時間和字符串佳谦。
MySQL 創(chuàng)建數(shù)據(jù)表
創(chuàng)建MySQL數(shù)據(jù)表需要以下信息:
- 表名
- 表字段名
- 定義每個表字段信息(設置每個字段的最大的字節(jié)數(shù)戴涝、設置字段是否為空、設置主鍵钻蔑,主鍵字段是唯一標識啥刻,不能重復)
語法如下:
create table <表名> (<字段名> <字段類型>);
注:表名稱必須是英文
MySQL 刪除數(shù)據(jù)表
語法如下:
drop table <數(shù)據(jù)表名>;
MySQL 操作數(shù)據(jù)表(增刪改查)
- 查詢
查詢整個表
select * from <表名>;
eg:
select * from students;
根據(jù)字段名查詢
select 字段名1,字段名2咪笑,... from <表名>;
eg:
select name,age,sex from students;
條件查詢
select * from <表名> where 條件;
eg:
select * from students where age > 18;
多個條件使用and(滿足所有條件)可帽、or(滿足其中一個即可)等等。
- 新增
insert into <表名> (字段名1窗怒,字段名2,...)values (值1映跟,值2,...);
eg:
insert into students (id,name,age) values (10,'小小',23);
- 修改
update <表名> set 字段名1="值1",字段名2="值2" where 條件;
eg:
update students set name="笑笑",sex=0 where name="xiaoxiao";
- 刪除
delete from 表名 where 條件;
eg:
delete from students where name="笑笑";
MySQL 多表聯(lián)查
select 字段名1,字段名2 from <表1> join <表2> on 表關系;
eg:
select c.id,s.name,c.className from classes c join students s on c.id = s.cid;
MySQL 常用的sql語句
- 查詢所有數(shù)據(jù)庫
show databases扬虚;
- 查詢當前數(shù)據(jù)庫的所有數(shù)據(jù)表
show tables努隙;
- 模糊查詢 ,關鍵字
like
和符號%
辜昵,%位置就代表是模糊的位置
select * from <表名> where 字段名 like "值%";
eg:
select * from students where name like "小%";
- 排序荸镊,關鍵字
order by
,倒序desc
select * from <表名> order by 字段名;
eg:
select * from students order by age;
倒序:
select * from students order by age desc;
- 計數(shù)/統(tǒng)計,關鍵字
count(*)
select count(*) from <表名>;
eg:
select count(*) from students;
- 字段別名堪置,關鍵字
as
select name as "姓名",sex as "性別",phone as "手機號",age as "年齡",education as "學歷",className as "班級" from students s join classes c on c.id = s.cid;
- 分組躬存,關鍵字
group by
eg:利用分組來做統(tǒng)計查詢一個班有多少人
select c.id "編號",c.className "班級",count(*) from students s join classes c on c.id=s.cid group by c.id;
- min求最小值
eg:
select min(age) from students;
- max求最大值
eg:
select max(age) from students;
- sum求和
eg:
select sum(age) from students;
MySQL 服務的停止與卸載
?????停止數(shù)據(jù)庫→net stop mysql
?????卸載數(shù)據(jù)庫→sc delete mysql
數(shù)據(jù)庫可視化管理工具
navicat、mysql workbench等舀锨。
mysql workbench下載地址:https://dev.mysql.com/downloads/workbench/