MySQL是一種廣泛使用的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng),它支持多種操作系統(tǒng),并提供了多種API供開發(fā)者使用。MySQL數(shù)據(jù)庫允許用戶創(chuàng)建多個(gè)庫,并且這些庫是可以共享的,這意味著不同的庫可以在同一臺(tái)MySQL服務(wù)器上共享信息和資源。
CREATE DATABASE first_db; #創(chuàng)建數(shù)據(jù)庫first_db
USE first_db; #選擇first_db數(shù)據(jù)庫
CREATE TABLE first_table ( #在first_db數(shù)據(jù)庫中創(chuàng)建first_table表
id INT PRIMARY KEY,
name VARCHAR(20),
desc TEXT
);
INSERT INTO first_table VALUES (1,"A","A_desc");
上述代碼示例中,我們創(chuàng)建了一個(gè)名為first_db的數(shù)據(jù)庫,并在其中創(chuàng)建了一個(gè)名為first_table的表格。我們使用第一個(gè)數(shù)據(jù)庫,并在該數(shù)據(jù)庫的表格中插入了一個(gè)值。這樣,我們?cè)诓煌臄?shù)據(jù)庫之間共享信息,首先通過CREATE DATABASE創(chuàng)建不同的數(shù)據(jù)庫,然后通過USE選中目標(biāo)數(shù)據(jù)庫(當(dāng)然可以通過其他操作直接操作不同的數(shù)據(jù)庫),最后我們調(diào)用不同的表格,將數(shù)據(jù)存儲(chǔ)到相應(yīng)的表格中。
CREATE DATABASE second_db; #創(chuàng)建數(shù)據(jù)庫second_db
USE second_db; #選擇second_db數(shù)據(jù)庫
CREATE TABLE second_table ( #在second_db數(shù)據(jù)庫中創(chuàng)建second_table表
id INT PRIMARY KEY,
order_id INT,
desc TEXT
);
INSERT INTO second_table VALUES (1,2,"B_desc");
接下來我們創(chuàng)建一個(gè)名為second_db的數(shù)據(jù)庫,并在其中創(chuàng)建了一個(gè)名為second_table的表格。我們?cè)俅问褂肬SE命令選中當(dāng)前數(shù)據(jù)庫,這樣我們可以向second_table表中插入數(shù)據(jù)。這次的second_table表只與當(dāng)前數(shù)據(jù)庫有關(guān),就像first_table表遵循first_db數(shù)據(jù)庫一樣。這樣就可以在不同的數(shù)據(jù)庫之間共享信息,不同的數(shù)據(jù)庫之間可以相互獨(dú)立,但是我們可以在需要時(shí)連接它們。
USE first_db;
SELECT * FROM first_table;
USE second_db;
SELECT * FROM second_table;
USE first_db;
SELECT * FROM first_table;
最后,我們可以通過SELECT指令在兩個(gè)不同的表格 (first_table和second_table) 中檢索數(shù)據(jù),然后再次選擇我們?cè)谥笆褂眠^的數(shù)據(jù)庫first_db。從這些指令中,我們可以看到不同的數(shù)據(jù)中存在不同的信息,但是我們可以像訪問單個(gè)數(shù)據(jù)庫中的表格一樣訪問這些數(shù)據(jù)庫。這就是MySQL中不同數(shù)據(jù)庫之間共享的基本原理。