MySQL基礎快速入門知識總結(附思維導圖)

前言

本文是我這段時間自學MySQL之後,自己總結的一些MySQL的入門基礎知識.我自己用的是MySQL 5.7.

一.數據庫基礎知識

1.什麼是數據庫

數據庫是按照一定數據結構,進行組織,存儲,管理數據的倉庫數據的倉庫,是一種對大量信息進行管理的高效解決方案.

數據庫系統DBS=數據庫DB+數據庫管理系統DBMS.

2.數據庫的分類

數據庫的分為關系型數據庫和分關系型數據庫.

關系型:是建立在關系模型上的數據庫,關系模型顧名思義就是二維表模型,用來記錄實體和實體與實體信息之間的關系信息.常見的關系型數據庫有Oracle ,MySQL ,SQL Server.

非關系型數據庫:不建立在關系模型上的數據庫.主要有MongoDB Redis

3.數據庫的常用語言

數據庫系統DBS

結構化查詢語言SQL

數據庫DB

數據庫管理系統DBMS

表table
行row   => 記錄record
列column  => 字段field

4.數據庫的常用操作方式

DOS命令:

連接遠程主機:mysql -h 主機名/IP地址 -P端口號 -u 用戶名 -p 密碼
連接本機主機:mysql -u用戶名 -p密碼

客戶端(可視化軟件):Navicat

代碼:

Web網頁:PHPMyAdmin

5.MySQL的架構

C/S架構:
 服務端管理和存儲數據
 客戶端發送操作請求

二.數據庫的增刪改查

1.創建數據庫

#創建數據庫的語法
create database `庫名` charset=utf8/gbk;

創建數據庫前,需要先連接進數據庫,可以用自己的本地數據庫練習.

2.查詢數據庫

#查詢所有數據庫
show databases;
#按條件查詢like ,其中%表示任意多個字符,-表示任意一個字符.
create databases like '%-';
#查詢建庫語句
show create database;

3.修改數據庫

#修改數據庫(僅能修改選項,也就是字符集這些)
alter database `庫名` [新選項];

4.刪除數據庫

#刪除數據庫(語法很簡單,但後果很嚴重.一般你也沒有權限,哈哈.)
drop database `庫名`; 

三.表的增刪改查

1.創建表

#創建表前,先指定數據庫
use `指定庫名`;
#創建表的
create table `表名`(
`字段1` 字段1類型 字段1屬性,
...
`字段N` 字段N類型 字段N屬性);[選項]

其中的選項主要包括三大類:

  1. 字符集 charset=utf8 / GBK …
  2. 數據引擎 engine=innodb / mysiam
  3. 備註 comment=’‘備註內容”

其它的字段類型和字段屬性,後面有詳細寫到.

2.查詢表

#查詢所有表
show tables;
#條件查詢
show tables like '%-';
#查詢表結構
desc `表名`;
#查詢建表語句
show create table `表名`;

3.修改表

#修改表選項
alter table `表名` [新選項];
#修改表名
rename table `舊表命` to `新表名`;
#修改表內的字段
alter table `表名` change `舊字段名` `新字段名` 新字段類型;
#添加新字段到字段末尾
alter table `表名` add `新字段名` 類型 屬性;
#添加字段到對應字段後
alter table `表名` add `新字段名` 類型 屬性 after `對應字段`
#添加字段到最前面
alter table `表名` add `新字段名` 類型 屬性 first;

4.刪除表

#如果表存在,則刪除表,否則報錯
drop table [if exists] `表名`;

四.記錄的增刪改查

1.插入記錄

#插入記錄
insert into `表名`(`字段1`,...`字段`) values('值1',...,'值N');
#當一次傳入所有值時,可以省不寫字段
insert into `表名` values('值1',...,'值N');
#當需一次傳入多條記錄時
insert into `表名`(`字段1`,...`字段`) values
('值1',...,'值N'),
('值1',...,'值N'),
...,
('值1',...,'值N');
#當需一次傳入多條記錄,且字段全傳入時
insert into `student` values(值列表1),(值列表2),(值列表n);

2.查詢記錄(最常用)

#查詢語法
select [選型] 字段列表 as 別名 from `表名` where 條件表達式;

1、條件表達式:

邏輯運算符:and or not

比較運算符:+ – * / < > = !=

2、選項:

all:查詢所有,不寫默認就是所有

distinct:去重.重復指查詢後的數據裡,記錄的所有字段全部相同,才認定為重復.

as:別名.給查詢後的字段設置一個別名,方便查閱.

常見的聚合函數:count(),Max(),Min(),Sum(),avg()

3、連表查詢 join

1.內連接 inner join 
#將參與連接的兩個表中符合連接條件的記錄查詢出來,不符合的過濾掉.
select * form `表1` inner join `表2` on 連接條件;
2.左外連接 left Join
#將參與連接的左表中即使不能匹配連接條件的記錄也會查詢出來,右表不符合的過濾掉
select * from `表1` left join `表2` on 連接條件;
3.右外連接 right join 
#將參與連接的右表中即使不能匹配連接條件的記錄也會查詢出來,左表不符合的過濾掉
select * from `表1` right join `表2` on 連接條件;

3.修改記錄

#語法
update `表名` set `字段`='新值' where 條件表達式;

4.刪除記錄

#語法
delete from `表名` where 條件表達式;

五.字段類型

1.數字型

1.1整數型

tinyint:占用一個字節,一共能表示256個數

有符號:-128~127
無符號:0~255

int:占用4個字節

有符號:-21億~21億
無字符:0~42億

1.2小數型

浮點數:

float(M,D):單精度浮點數
double(M,D):雙精度浮點數

定點數:

decimal(M,D):數據不會丟失的小數類型,常用於記錄貨幣

2.文本型

  1. char(M):定長字符,M表示最大的字符數.優勢為運算速度快.常用在255個字符內的固定長度的字符.如:身份證,電話號碼等.
  2. varchar(M):變長字符,M表示最大的字符數.優勢為節省空間.常用在255個字符以內,長度不確定的字符.
  3. text:常用在256個字符以上的文本中

3.日期時間

  1. datetime:固定的日期時間
  2. timestamp:時間戳:當新增記錄或更新記錄時自動更新為當前系統時間,用於記錄最後一次修改的時間或新插入記錄的時間

六.字段屬性

  1. not null:設置該字段的值不能為空,不寫就是默認可以為空
  2. default 默認值:設置一個默認值,沒有數據傳入就是使用默認值.有數據傳入則使用傳入的值
  3. comment:備註用漢字備註字段,方便後期維護
  4. unique key:唯一值該字段的值不能重復,但可以為空
  5. primary key 主鍵:
    用於唯一標識一條記錄
    一個表最能隻能有一個主鍵
    不能為空
    不能重復
  6. auto_increment 自動增長:在新插入記錄時,自動在本字段最大值的基礎上加1,條件本字段的類型必須為整數型.常與主鍵一起使用,但不是必須與主鍵一起使用.

總結

到此這篇關於MySQL基礎快速入門知識總結的文章就介紹到這瞭,更多相關MySQL基礎入門內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: