1. 程式人生 > 其它 >學習MySQL小知識點彙總

學習MySQL小知識點彙總

技術標籤:mysql資料庫

##本單元目標
一、為什麼要學習資料庫
二、資料庫的相關概念
DBMS、DB、SQL
三、資料庫儲存資料的特點
四、初始MySQL
MySQL產品的介紹
MySQL產品的安裝 ★
MySQL服務的啟動和停止 ★
MySQL服務的登入和退出 ★
MySQL的常見命令和語法規範
五、DQL語言的學習 ★
基礎查詢 ★
條件查詢 ★
排序查詢 ★
常見函式 ★
分組函式 ★
分組查詢 ★
連線查詢 ★
子查詢 √
分頁查詢 ★
union聯合查詢 √

六、DML語言的學習    ★             
	插入語句						
	修改語句						
	刪除語句						
七、DDL語言的學習  
	庫和表的管理	 √				
	常見資料型別介紹  √          
	常見約束  	  √			
八、TCL語言的學習
	事務和事務處理                 
九、檢視的講解           √
十、變數                      
十一、儲存過程和函式   
十二、流程控制結構       

##資料庫的好處
1.持久化資料到本地
2.可以實現結構化查詢,方便管理

##資料庫相關概念
1、DB:資料庫,儲存一組有組織的資料的容器
2、DBMS:資料庫管理系統,又稱為資料庫軟體(產品),用於管理DB中的資料
3、SQL:結構化查詢語言,用於和DBMS通訊的語言

##資料庫儲存資料的特點
1、將資料放到表中,表再放到庫中
2、一個數據庫中可以有多個表,每個表都有一個的名字,用來標識自己。表名具有唯一性。
3、表具有一些特性,這些特性定義了資料在表中如何儲存,類似java中 “類”的設計。
4、表由列組成,我們也稱為欄位。所有表都是由一個或多個列組成的,每一列類似java 中的”屬性”

5、表中的資料是按行儲存的,每一行類似於java中的“物件”。

##MySQL產品的介紹和安裝

###MySQL服務的啟動和停止
方式一:計算機——右擊管理——服務
方式二:通過管理員身份執行
net start 服務名(啟動服務)
net stop 服務名(停止服務)

###MySQL服務的登入和退出
方式一:通過mysql自帶的客戶端
只限於root使用者

方式二:通過windows自帶的客戶端
登入:
mysql 【-h主機名 -P埠號 】-u使用者名稱 -p密碼

退出:
exit或ctrl+C

###MySQL的常見命令

1.檢視當前所有的資料庫
show databases;
2.開啟指定的庫
use 庫名
3.檢視當前庫的所有表
show tables;
4.檢視其它庫的所有表
show tables from 庫名;
5.建立表
create table 表名(

	列名 列型別,
	列名 列型別,
	。。。
);
6.查看錶結構
desc 表名;


7.檢視伺服器的版本
方式一:登入到mysql服務端
select version();
方式二:沒有登入到mysql服務端
mysql --version
或
mysql --V

###MySQL的語法規範
1.不區分大小寫,但建議關鍵字大寫,表名、列名小寫
2.每條命令最好用分號結尾
3.每條命令根據需要,可以進行縮排 或換行
4.註釋
單行註釋:#註釋文字
單行註釋:-- 註釋文字
多行註釋:/* 註釋文字 */

###SQL的語言分類
DQL(Data Query Language):資料查詢語言
select
DML(Data Manipulate Language):資料操作語言
insert 、update、delete
DDL(Data Define Languge):資料定義語言
create、drop、alter
TCL(Transaction Control Language):事務控制語言
commit、rollback

###SQL的常見命令

show databases; 檢視所有的資料庫
use 庫名; 開啟指定 的庫
show tables ; 顯示庫中的所有表
show tables from 庫名;顯示指定庫中的所有表
create table 表名(
	欄位名 欄位型別,	
	欄位名 欄位型別
); 建立表

desc 表名; 檢視指定表的結構
select * from 表名;顯示錶中的所有資料

##DQL語言的學習
###進階1:基礎查詢
語法:
SELECT 要查詢的東西
【FROM 表名】;

類似於Java中 :System.out.println(要列印的東西);
特點:
①通過select查詢完的結果 ,是一個虛擬的表格,不是真實存在
② 要查詢的東西 可以是常量值、可以是表示式、可以是欄位、可以是函式

###進階2:條件查詢
條件查詢:根據條件過濾原始表的資料,查詢到想要的資料
語法:
select
要查詢的欄位|表示式|常量值|函式
from

where
條件 ;

分類:
一、條件表示式
	示例:salary>10000
	條件運算子:
	> < >= <= = != <>

二、邏輯表示式
示例:salary>10000 && salary<20000

邏輯運算子:

	and(&&):兩個條件如果同時成立,結果為true,否則為false
	or(||):兩個條件只要有一個成立,結果為true,否則為false
	not(!):如果條件成立,則not後為false,否則為true

三、模糊查詢
示例:last_name like 'a%'

###進階3:排序查詢

語法:
select
	要查詢的東西
from
	表
where 
	條件

order by 排序的欄位|表示式|函式|別名 【asc|desc】

###進階4:常見函式
一、單行函式
1、字元函式
concat拼接
substr擷取子串
upper轉換成大寫
lower轉換成小寫
trim去前後指定的空格和字元
ltrim去左邊空格
rtrim去右邊空格
replace替換
lpad左填充
rpad右填充
instr返回子串第一次出現的索引
length 獲取位元組個數

2、數學函式
	round 四捨五入
	rand 隨機數
	floor向下取整
	ceil向上取整
	mod取餘
	truncate截斷
3、日期函式
	now當前系統日期+時間
	curdate當前系統日期
	curtime當前系統時間
	str_to_date 將字元轉換成日期
	date_format將日期轉換成字元
4、流程控制函式
	if 處理雙分支
	case語句 處理多分支
		情況1:處理等值判斷
		情況2:處理條件判斷
	
5、其他函式
	version版本
	database當前庫
	user當前連線使用者

二、分組函式

	sum 求和
	max 最大值
	min 最小值
	avg 平均值
	count 計數

	特點:
	1、以上五個分組函式都忽略null值,除了count(*)
	2、sum和avg一般用於處理數值型
		max、min、count可以處理任何資料型別
    3、都可以搭配distinct使用,用於統計去重後的結果
	4、count的引數可以支援:
		欄位、*、常量值,一般放1

	   建議使用 count(*)

##進階5:分組查詢
語法:
select 查詢的欄位,分組函式
from 表
group by 分組的欄位

特點:
1、可以按單個欄位分組
2、和分組函式一同查詢的欄位最好是分組後的欄位
3、分組篩選
		針對的表	位置			關鍵字
分組前篩選:	原始表		group by的前面		where
分組後篩選:	分組後的結果集	group by的後面		having

4、可以按多個欄位分組,欄位之間用逗號隔開
5、可以支援排序
6、having後可以支援別名

##進階6:多表連線查詢

笛卡爾乘積:如果連線條件省略或無效則會出現
解決辦法:新增上連線條件

一、傳統模式下的連線 :等值連線——非等值連線

1.等值連線的結果 = 多個表的交集
2.n表連線,至少需要n-1個連線條件
3.多個表不分主次,沒有順序要求
4.一般為表起別名,提高閱讀性和效能

二、sql99語法:通過join關鍵字實現連線

含義:1999年推出的sql語法
支援:
等值連線、非等值連線 (內連線)
外連線
交叉連線

語法:

select 欄位,...
from 表1
【inner|left outer|right outer|cross】join 表2 on  連線條件
【inner|left outer|right outer|cross】join 表3 on  連線條件
【where 篩選條件】
【group by 分組欄位】
【having 分組後的篩選條件】
【order by 排序的欄位或表示式】

好處:語句上,連線條件和篩選條件實現了分離,簡潔明瞭!

三、自連線

案例:查詢員工名和直接上級的名稱

sql99

SELECT e.last_name,m.last_name
FROM employees e
JOIN employees m ON e.`manager_id`=m.`employee_id`;

sql92

SELECT e.last_name,m.last_name
FROM employees e,employees m 
WHERE e.`manager_id`=m.`employee_id`;

##進階7:子查詢

含義:

一條查詢語句中又嵌套了另一條完整的select語句,其中被巢狀的select語句,稱為子查詢或內查詢
在外面的查詢語句,稱為主查詢或外查詢

特點:

1、子查詢都放在小括號內
2、子查詢可以放在from後面、select後面、where後面、having後面,但一般放在條件的右側
3、子查詢優先於主查詢執行,主查詢使用了子查詢的執行結果
4、子查詢根據查詢結果的行數不同分為以下兩類:
① 單行子查詢
	結果集只有一行
	一般搭配單行操作符使用:> < = <> >= <= 
	非法使用子查詢的情況:
	a、子查詢的結果為一組值
	b、子查詢的結果為空
	
② 多行子查詢
	結果集有多行
	一般搭配多行操作符使用:any、all、in、not in
	in: 屬於子查詢結果中的任意一個就行
	any和all往往可以用其他查詢代替

##進階8:分頁查詢

應用場景:

實際的web專案中需要根據使用者的需求提交對應的分頁查詢的sql語句

語法:

select 欄位|表示式,...
from 表
【where 條件】
【group by 分組欄位】
【having 條件】
【order by 排序的欄位】
limit 【起始的條目索引,】條目數;

特點:

1.起始條目索引從0開始

2.limit子句放在查詢語句的最後

3.公式:select * from  表 limit (page-1)*sizePerPage,sizePerPage
假如:
每頁顯示條目數sizePerPage
要顯示的頁數 page

##進階9:聯合查詢

引入:
union 聯合、合併

語法:

select 欄位|常量|表示式|函式 【from 表】 【where 條件】 union 【all】
select 欄位|常量|表示式|函式 【from 表】 【where 條件】 union 【all】
select 欄位|常量|表示式|函式 【from 表】 【where 條件】 union  【all】
.....
select 欄位|常量|表示式|函式 【from 表】 【where 條件】

特點:

1、多條查詢語句的查詢的列數必須是一致的
2、多條查詢語句的查詢的列的型別幾乎相同
3、union代表去重,union all代表不去重

##DML語言

###插入

語法:
insert into 表名(欄位名,…)
values(值1,…);

特點:

1、欄位型別和值型別一致或相容,而且一一對應
2、可以為空的欄位,可以不用插入值,或用null填充
3、不可以為空的欄位,必須插入值
4、欄位個數和值的個數必須一致
5、欄位可以省略,但預設所有欄位,並且順序和表中的儲存順序一致

###修改

修改單表語法:

update 表名 set 欄位=新值,欄位=新值
【where 條件】

修改多表語法:

update 表1 別名1,表2 別名2
set 欄位=新值,欄位=新值
where 連線條件
and 篩選條件

###刪除

方式1:delete語句

單表的刪除: ★
delete from 表名 【where 篩選條件】

多表的刪除:
delete 別名1,別名2
from 表1 別名1,表2 別名2
where 連線條件
and 篩選條件;

方式2:truncate語句

truncate table 表名

兩種方式的區別【面試題】

#1.truncate不能加where條件,而delete可以加where條件

#2.truncate的效率高一丟丟

#3.truncate 刪除帶自增長的列的表後,如果再插入資料,資料從1開始
#delete 刪除帶自增長列的表後,如果再插入資料,資料從上一次的斷點處開始

#4.truncate刪除不能回滾,delete刪除可以回滾

##DDL語句
###庫和表的管理
庫的管理:

一、建立庫
create database 庫名
二、刪除庫
drop database 庫名

表的管理:
#1.建立表

CREATE TABLE IF NOT EXISTS stuinfo(
	stuId INT,
	stuName VARCHAR(20),
	gender CHAR,
	bornDate DATETIME
	

);

DESC studentinfo;
#2.修改表 alter
語法:ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE COLUMN 欄位名 【欄位型別】;

#①修改欄位名
ALTER TABLE studentinfo CHANGE  COLUMN sex gender CHAR;

#②修改表名
ALTER TABLE stuinfo RENAME [TO]  studentinfo;
#③修改欄位型別和列級約束
ALTER TABLE studentinfo MODIFY COLUMN borndate DATE ;

#④新增欄位

ALTER TABLE studentinfo ADD COLUMN email VARCHAR(20) first;
#⑤刪除欄位
ALTER TABLE studentinfo DROP COLUMN email;


#3.刪除表

DROP TABLE [IF EXISTS] studentinfo;

###常見型別

整型:
	
小數:
	浮點型
	定點型
字元型:
日期型:
Blob型別:

###常見約束

NOT NULL
DEFAULT
UNIQUE
CHECK
PRIMARY KEY
FOREIGN KEY

##資料庫事務
###含義
通過一組邏輯操作單元(一組DML——sql語句),將資料從一種狀態切換到另外一種狀態

###特點
(ACID)
原子性:要麼都執行,要麼都回滾
一致性:保證資料的狀態操作前和操作後保持一致
隔離性:多個事務同時操作相同資料庫的同一個資料時,一個事務的執行不受另外一個事務的干擾
永續性:一個事務一旦提交,則資料將持久化到本地,除非其他事務對其進行修改

相關步驟:

1、開啟事務
2、編寫事務的一組邏輯操作單元(多條sql語句)
3、提交事務或回滾事務

###事務的分類:

隱式事務,沒有明顯的開啟和結束事務的標誌

比如
insert、update、delete語句本身就是一個事務

顯式事務,具有明顯的開啟和結束事務的標誌

	1、開啟事務
	取消自動提交事務的功能
	
	2、編寫事務的一組邏輯操作單元(多條sql語句)
	insert
	update
	delete
	
	3、提交事務或回滾事務

###使用到的關鍵字

set autocommit=0;
start transaction;
commit;
rollback;

savepoint  斷點
commit to 斷點
rollback to 斷點

###事務的隔離級別:

事務併發問題如何發生?

當多個事務同時操作同一個資料庫的相同資料時

事務的併發問題有哪些?

髒讀:一個事務讀取到了另外一個事務未提交的資料
不可重複讀:同一個事務中,多次讀取到的資料不一致
幻讀:一個事務讀取資料時,另外一個事務進行更新,導致第一個事務讀取到了沒有更新的資料

如何避免事務的併發問題?

通過設定事務的隔離級別
1、READ UNCOMMITTED
2、READ COMMITTED 可以避免髒讀
3、REPEATABLE READ 可以避免髒讀、不可重複讀和一部分幻讀
4、SERIALIZABLE可以避免髒讀、不可重複讀和幻讀

設定隔離級別:

set session|global  transaction isolation level 隔離級別名;

檢視隔離級別:

select @@tx_isolation;

##檢視
含義:理解成一張虛擬的表

檢視和表的區別:

	使用方式	佔用物理空間

檢視	完全相同	不佔用,僅僅儲存的是sql邏輯

表	完全相同	佔用

檢視的好處:

1、sql語句提高重用性,效率高
2、和表實現了分離,提高了安全性

###檢視的建立
語法:
CREATE VIEW 檢視名
AS
查詢語句;
###檢視的增刪改查
1、檢視檢視的資料 ★

SELECT * FROM my_v4;
SELECT * FROM my_v1 WHERE last_name='Partners';

2、插入檢視的資料
INSERT INTO my_v4(last_name,department_id) VALUES('虛竹',90);

3、修改檢視的資料

UPDATE my_v4 SET last_name ='夢姑' WHERE last_name='虛竹';


4、刪除檢視的資料
DELETE FROM my_v4;

###某些檢視不能更新
包含以下關鍵字的sql語句:分組函式、distinct、group by、having、union或者union all
常量檢視
Select中包含子查詢
join
from一個不能更新的檢視
where子句的子查詢引用了from子句中的表
###檢視邏輯的更新
#方式一:
CREATE OR REPLACE VIEW test_v7
AS
SELECT last_name FROM employees
WHERE employee_id>100;

#方式二:
ALTER VIEW test_v7
AS
SELECT employee_id FROM employees;

SELECT * FROM test_v7;

###檢視的刪除
DROP VIEW test_v1,test_v2,test_v3;
###檢視結構的檢視
DESC test_v7;
SHOW CREATE VIEW test_v7;

##儲存過程

含義:一組經過預先編譯的sql語句的集合
好處:

1、提高了sql語句的重用性,減少了開發程式設計師的壓力
2、提高了效率
3、減少了傳輸次數

分類:

1、無返回無參
2、僅僅帶in型別,無返回有參
3、僅僅帶out型別,有返回無參
4、既帶in又帶out,有返回有參
5、帶inout,有返回有參
注意:in、out、inout都可以在一個儲存過程中帶多個

###建立儲存過程
語法:

create procedure 儲存過程名(in|out|inout 引數名  引數型別,...)
begin
	儲存過程體

end

類似於方法:

修飾符 返回型別 方法名(引數型別 引數名,...){

	方法體;
}

注意

1、需要設定新的結束標記
delimiter 新的結束標記
示例:
delimiter $

CREATE PROCEDURE 儲存過程名(IN|OUT|INOUT 引數名  引數型別,...)
BEGIN
	sql語句1;
	sql語句2;

END $

2、儲存過程體中可以有多條sql語句,如果僅僅一條sql語句,則可以省略begin end

3、引數前面的符號的意思
in:該引數只能作為輸入 (該引數不能做返回值)
out:該引數只能作為輸出(該引數只能做返回值)
inout:既能做輸入又能做輸出

#呼叫儲存過程
call 儲存過程名(實參列表)
##函式

###建立函式

學過的函式:LENGTH、SUBSTR、CONCAT等
語法:

CREATE FUNCTION 函式名(引數名 引數型別,...) RETURNS 返回型別
BEGIN
	函式體

END

###呼叫函式
SELECT 函式名(實參列表)

###函式和儲存過程的區別

		關鍵字		呼叫語法	返回值			應用場景
函式		FUNCTION	SELECT 函式()	只能是一個		一般用於查詢結果為一個值並返回時,當有返回值而且僅僅一個
儲存過程	PROCEDURE	CALL 儲存過程()	可以有0個或多個		一般用於更新

##流程控制結構

###系統變數
一、全域性變數

作用域:針對於所有會話(連線)有效,但不能跨重啟

檢視所有全域性變數
SHOW GLOBAL VARIABLES;
檢視滿足條件的部分系統變數
SHOW GLOBAL VARIABLES LIKE '%char%';
檢視指定的系統變數的值
SELECT @@global.autocommit;
為某個系統變數賦值
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;

二、會話變數

作用域:針對於當前會話(連線)有效

檢視所有會話變數
SHOW SESSION VARIABLES;
檢視滿足條件的部分會話變數
SHOW SESSION VARIABLES LIKE '%char%';
檢視指定的會話變數的值
SELECT @@autocommit;
SELECT @@session.tx_isolation;
為某個會話變數賦值
SET @@session.tx_isolation='read-uncommitted';
SET SESSION tx_isolation='read-committed';

###自定義變數
一、使用者變數

宣告並初始化:

SET @變數名=值;
SET @變數名:=值;
SELECT @變數名:=值;

賦值:

方式一:一般用於賦簡單的值
SET 變數名=值;
SET 變數名:=值;
SELECT 變數名:=值;


方式二:一般用於賦表 中的欄位值
SELECT 欄位名或表示式 INTO 變數
FROM 表;

使用:

select @變數名;

二、區域性變數

宣告:

declare 變數名 型別 【default 值】;

賦值:

方式一:一般用於賦簡單的值
SET 變數名=值;
SET 變數名:=值;
SELECT 變數名:=值;


方式二:一般用於賦表 中的欄位值
SELECT 欄位名或表示式 INTO 變數
FROM 表;

使用:

select 變數名

二者的區別:

		作用域			定義位置		語法

使用者變數 當前會話 會話的任何地方 加@符號,不用指定型別
區域性變數 定義它的BEGIN END中 BEGIN END的第一句話 一般不用加@,需要指定型別

###分支
一、if函式
語法:if(條件,值1,值2)
特點:可以用在任何位置

二、case語句

語法:

情況一:類似於switch
case 表示式
when 值1 then 結果1或語句1(如果是語句,需要加分號) 
when 值2 then 結果2或語句2(如果是語句,需要加分號)
...
else 結果n或語句n(如果是語句,需要加分號)
end 【case】(如果是放在begin end中需要加上case,如果放在select後面不需要)

情況二:類似於多重if
case 
when 條件1 then 結果1或語句1(如果是語句,需要加分號) 
when 條件2 then 結果2或語句2(如果是語句,需要加分號)
...
else 結果n或語句n(如果是語句,需要加分號)
end 【case】(如果是放在begin end中需要加上case,如果放在select後面不需要)

特點:
可以用在任何位置

三、if elseif語句

語法:

if 情況1 then 語句1;
elseif 情況2 then 語句2;
...
else 語句n;
end if;

特點:
只能用在begin end中!!!!!!!!!!!!!!!

三者比較:
應用場合
if函式 簡單雙分支
case結構 等值判斷 的多分支
if結構 區間判斷 的多分支

###迴圈

語法:

【標籤:】WHILE 迴圈條件  DO
	迴圈體
END WHILE 【標籤】;

特點:

只能放在BEGIN END裡面

如果要搭配leave跳轉語句,需要使用標籤,否則可以不用標籤

leave類似於java中的break語句,跳出所在迴圈!!!

這裡寫自定義目錄標題

歡迎使用Markdown編輯器

你好! 這是你第一次使用 Markdown編輯器 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,瞭解一下Markdown的基本語法知識。

新的改變

我們對Markdown編輯器進行了一些功能拓展與語法支援,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫部落格:

  1. 全新的介面設計 ,將會帶來全新的寫作體驗;
  2. 在創作中心設定你喜愛的程式碼高亮樣式,Markdown 將程式碼片顯示選擇的高亮樣式 進行展示;
  3. 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
  4. 全新的 KaTeX數學公式 語法;
  5. 增加了支援甘特圖的mermaid語法1 功能;
  6. 增加了 多螢幕編輯 Markdown文章功能;
  7. 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定 等功能,功能按鈕位於編輯區域與預覽區域中間;
  8. 增加了 檢查列表 功能。

功能快捷鍵

撤銷:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜體:Ctrl/Command + I
標題:Ctrl/Command + Shift + H
無序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
檢查列表:Ctrl/Command + Shift + C
插入程式碼:Ctrl/Command + Shift + K
插入連結:Ctrl/Command + Shift + L
插入圖片:Ctrl/Command + Shift + G
查詢:Ctrl/Command + F
替換:Ctrl/Command + G

合理的建立標題,有助於目錄的生成

直接輸入1次#,並按下space後,將生成1級標題。
輸入2次#,並按下space後,將生成2級標題。
以此類推,我們支援6級標題。有助於使用TOC語法後生成一個完美的目錄。

如何改變文字的樣式

強調文字 強調文字

加粗文字 加粗文字

標記文字

刪除文字

引用文字

H2O is是液體。

210 運算結果是 1024.

插入連結與圖片

連結: link.

圖片: Alt

帶尺寸的圖片: Alt

居中的圖片: Alt

居中並且帶尺寸的圖片: Alt

當然,我們為了讓使用者更加便捷,我們增加了圖片拖拽功能。

如何插入一段漂亮的程式碼片

部落格設定頁面,選擇一款你喜歡的程式碼片高亮樣式,下面展示同樣高亮的 程式碼片.

// An highlighted block
var foo = 'bar';

生成一個適合你的列表

  • 專案
    • 專案
      • 專案
  1. 專案1
  2. 專案2
  3. 專案3
  • 計劃任務
  • 完成任務

建立一個表格

一個簡單的表格是這麼建立的:

專案Value
電腦$1600
手機$12
導管$1

設定內容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文字居中第二列文字居右第三列文字居左

SmartyPants

SmartyPants將ASCII標點字元轉換為“智慧”印刷標點HTML實體。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

建立一個自定義列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何建立一個註腳

一個具有註腳的文字。2

註釋也是必不可少的

Markdown將文字轉換為 HTML

KaTeX數學公式

您可以使用渲染LaTeX數學表示式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通過尤拉積分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多關於的資訊 LaTeX 數學表示式here.

新的甘特圖功能,豐富你的文章

Mon 06 Mon 13 Mon 20 已完成 進行中 計劃一 計劃二 現有任務 Adding GANTT diagram functionality to mermaid
  • 關於 甘特圖 語法,參考 這兒,

UML 圖表

可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖:

張三 李四 王五 你好!李四, 最近怎麼樣? 你最近怎麼樣,王五? 我很好,謝謝! 我很好,謝謝! 李四想了很長時間, 文字太長了 不適合放在一行. 打量著王五... 很好... 王五, 你怎麼樣? 張三 李四 王五

這將產生一個流程圖。:

連結 長方形 圓角長方形 菱形
  • 關於 Mermaid 語法,參考 這兒,

FLowchart流程圖

我們依舊會支援flowchart的流程圖:

Created with Raphaël 2.2.0 開始 我的操作 確認? 結束 yes no
  • 關於 Flowchart流程圖 語法,參考 這兒.

匯出與匯入

匯出

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章匯出 ,生成一個.md檔案或者.html檔案進行本地儲存。

匯入

如果你想載入一篇你寫過的.md檔案,在上方工具欄可以選擇匯入功能進行對應副檔名的檔案匯入,
繼續你的創作。


  1. mermaid語法說明 ↩︎

  2. 註腳的解釋 ↩︎