需要到Eclipse來實現(xiàn)。
目前成都創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、宿州網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、首先我們使用數(shù)據(jù)庫連接工具HeiDiSQL來連接本機(jī)的mysql數(shù)據(jù)庫,
2、使用該工具創(chuàng)建一個test數(shù)據(jù)庫,
3、在該數(shù)據(jù)庫中創(chuàng)建一張student表,該表中有id、name和age字段,我們同時給數(shù)據(jù)庫添加數(shù)據(jù),如下圖所示。
4、我們創(chuàng)建一個Student類,并為該類分別創(chuàng)建id、name和age屬性,并用private修飾符進(jìn)行限定。接下來我們?yōu)檫@些屬性創(chuàng)建getter和setter方法,如下圖所示。
5、我們創(chuàng)建一個數(shù)據(jù)庫連接類,用于配置數(shù)據(jù)庫連接的屬性,如數(shù)據(jù)庫的驅(qū)動、URL、用戶名和密碼。
6、我們創(chuàng)建完數(shù)據(jù)庫的連接后,使用getConnection()方法獲取連接,
7、使用close()方法關(guān)閉連接。我們在使用mysql時需要添加smysql驅(qū)動的jar包。
8、接下來我們創(chuàng)建MVC模式中的數(shù)據(jù)持久化層,首先我們創(chuàng)建一個TestDao接口,用于定義獲取數(shù)據(jù)的方法。
9、接下來我們創(chuàng)建TestDaoImpl實現(xiàn)類,并且實現(xiàn)TestDao接口,重寫該接口中的方法,如下圖所示。
10、我們將數(shù)據(jù)以集合的形式返回,此時需要創(chuàng)建TestSverlet類進(jìn)行業(yè)務(wù)邏輯處理。我們首先創(chuàng)建一個構(gòu)造方法,并在構(gòu)造方法中獲取數(shù)據(jù)庫的連接。
11、我們創(chuàng)建的TestServlet類繼承了HttpServlet類,并重寫了父類的doGet()方法,我們在該方法中創(chuàng)建TestDaoImpl的對象,并調(diào)用getAllStudent()方法進(jìn)行數(shù)據(jù)的查詢,并將查詢的結(jié)果放入到request的屬性中,同時使用RequestDispatcher將請求轉(zhuǎn)發(fā)到student.jsp。
12、我們創(chuàng)建一個student.jsp的文件,在該文件中使用EL表達(dá)式和JSTL標(biāo)簽來獲取request范圍的屬性數(shù)據(jù),即上一步驟的查詢結(jié)果。
13、最后我們需要在web.xml文件中配置該Servlet的請求路徑等信息,如下圖所示。
14、以上步驟完成后我們使用Tomcat啟動該項目,按照請求路徑訪問便可在頁面表格中獲取到數(shù)據(jù)庫的查詢結(jié)果。
方法和操作步驟如下:
1、首先,創(chuàng)建一個測試表,如下圖所示,然后進(jìn)入下一步。
2、其次,插入測試數(shù)據(jù),如下圖所示,然后進(jìn)入下一步。
3、接著,完成上述步驟后,查詢表中的數(shù)據(jù),“select t.* from test_tbl2 t?”,如下圖所示,然后進(jìn)入下一步。
4、最后,完成上述步驟后,編寫sql,兩個表通過pid與id關(guān)聯(lián), “select t1.*, t2.* from test_tbl1 t1 join test_tbl2 t2 on t1.p_id = t2.id;”,如下圖所示。這樣,問題就解決了。
left join
join
主外鍵是兩種對表的約束。
例如:
學(xué)生表student(學(xué)號(id),姓名(name),性別(sex))
表內(nèi)有:1,aa,女
課程表subject(課程編號(id),課程名(name))
表內(nèi)有:1,語文
成績表grade(成績編號(id),學(xué)號(stu_id),課程號(sub_id),成績(grade))
表內(nèi)有:1,1,1,90
成績表的學(xué)號就是學(xué)生表的學(xué)號相對應(yīng),并且為學(xué)生表的主鍵,這樣就稱成績表中的學(xué)號是學(xué)生表的外鍵,同理,成績表中的課程號是課程表的外鍵。
select * from ?student as s inner join subject as su on su.stu_id=s.id inner join grade as g on g.sub_id=su.id where 1.
擴(kuò)展資料:
注意事項
SQL 連接(JOIN) 子句用于把來自兩個或多個表的行結(jié)合起來,基于這些表之間的共同字段。連接的結(jié)果可以在邏輯上看作是由SELECT語句指定的列組成的新表。
左連接與右連接的左右指的是以兩張表中的哪一張為基準(zhǔn),它們都是外連接。外連接就好像是為非基準(zhǔn)表添加了一行全為空值的萬能行,用來與基準(zhǔn)表中找不到匹配的行進(jìn)行匹配。
假設(shè)兩個沒有空值的表進(jìn)行左連接,左表是基準(zhǔn)表,左表的所有行都出現(xiàn)在結(jié)果中,右表則可能因為無法與基準(zhǔn)表匹配而出現(xiàn)是空值的字段。
不同的 SQL JOIN可以使用的不同的 SQL JOIN 類型:
INNER JOIN:如果表中有至少一個匹配,則返回行
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個表中存在匹配,則返回行(MySQL不支持FULL JOIN)
例如:
mysql select * from access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date? ? ? ?|
+-----+---------+-------+------------+
|? ?1 |? ? ? ?1 |? ? 45 | 2016-05-10 |
|? ?2 |? ? ? ?3 |? ?100 | 2016-05-13 |
|? ?3 |? ? ? ?1 |? ?230 | 2016-05-14 |
|? ?4 |? ? ? ?2 |? ? 10 | 2016-05-14 |
|? ?5 |? ? ? ?5 |? ?205 | 2016-05-14 |
|? ?6 |? ? ? ?4 |? ? 13 | 2016-05-15 |
|? ?7 |? ? ? ?3 |? ?220 | 2016-05-15 |
|? ?8 |? ? ? ?5 |? ?545 | 2016-05-16 |
|? ?9 |? ? ? ?3 |? ?201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set
什么系統(tǒng)?兩個庫是不是在同一臺機(jī)?
linux下個人做法:
1.同一臺機(jī)
用mysqldump導(dǎo)出表數(shù)據(jù)(具體使用可以查一下)
mysqldump -h host -P port -p password -u user database --default-character-set=utf8 --add-drop-table tablename -r /tmp/table.sql
再導(dǎo)入數(shù)據(jù)
mysqldump -h host -P port -p password -u user database tablename /tmp/tablename.sql
或者在進(jìn)入mysql后用source命令導(dǎo)入。
2.不同的機(jī),就需要先把數(shù)據(jù)文件導(dǎo)出,然后復(fù)制到另外一臺機(jī),再進(jìn)行1的導(dǎo)入操作。
windows下沒試過,一般都直接用phpMyAdmin來操作了,界面操作沒什么說的。