左連接:返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄;
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨潭免費(fèi)建站歡迎大家使用!
右連接:返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄;
全連接:返回兩個(gè)連接表的所有記錄;mysql沒有全連接
內(nèi)連接:返回兩個(gè)連接表連接字段相同的記錄;
union:對(duì)兩個(gè)結(jié)果集進(jìn)行并集,并去重,當(dāng)交換兩個(gè)select語句順序后,最終結(jié)果與不交換時(shí)無區(qū)別;
union all:對(duì)兩個(gè)結(jié)果集進(jìn)行并集,不去重,當(dāng)交換兩個(gè)select語句順序后,最終結(jié)果與不交換時(shí)有區(qū)別;
舉個(gè)例子 有一個(gè)學(xué)生表 班級(jí) 姓名 一個(gè)成績(jī)表 姓名 成績(jī) 我們需要返回X班的所有學(xué)生的成績(jī),但是班上有人缺考,也就是成績(jī)表里沒有姓名,我們先用on得到的就是有考試成績(jī)的名字,通過外連接,我們就可以得到全班人的名字以及成績(jī)。
連接方法如下:
1.建立一個(gè)web項(xiàng)目
2.把數(shù)據(jù)庫(kù)驅(qū)動(dòng)復(fù)制到lib目錄下。數(shù)據(jù)庫(kù)驅(qū)動(dòng)有:mysql,sqlserver,oracle等 是什么樣類型的數(shù)據(jù)導(dǎo)入相應(yīng)驅(qū)動(dòng)。
3.編寫一個(gè)連接數(shù)據(jù)庫(kù)的工具類,獲取一個(gè)連接。下面以mysql數(shù)據(jù)庫(kù)為例。
核心代碼:
public class DataUtils {
/**
* 從數(shù)據(jù)中獲取一個(gè)連接
* @return
*/
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
//表為test,用戶名root,密碼admin。
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "admin");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
4.獲取到與相應(yīng)數(shù)據(jù)庫(kù)的連接后,就可以做增刪改查操作了。記得做完操作后,關(guān)閉連接,釋放資源。
SQL中的 join 可以根據(jù)相應(yīng)條件把指定的表給結(jié)合起來并將數(shù)據(jù)返回。
內(nèi)連接是基于連接謂詞將倆張表(如A和B)的列組合到一起產(chǎn)生新的結(jié)果表,在表中存在至少一個(gè)匹配時(shí),INNER JOIN 關(guān)鍵字返回行
左外連接Left join關(guān)鍵字會(huì)從左表那里返回所有的行,即使是在右表中沒有匹配到的行?
右外連接關(guān)鍵字Right join會(huì)從右表那里返回所有的行,即使是在左表中沒有匹配到的行?
全連接的關(guān)鍵字Full join,只要其中某個(gè)表中存在匹配,F(xiàn)ull join 就會(huì)返回行
交叉連接一般使用的比較少,交叉連接又稱笛卡爾連接或者叉乘連接,如果,A和B是倆個(gè)集合,他們的交叉連接就是A*B?
今天介紹的是eclipse如何與MySQL相連,相信很多小伙伴和我一樣,對(duì)路徑啊,什么包放在那里啊很是頭疼,今天一下午才弄好就趕來分享啦,超詳細(xì)哦!
準(zhǔn)備工作:下載MySQL和jdbc,這里就不講了,注意的是你可能已經(jīng)下載了MySQL,但是沒有下載jdbc,它們的下載是分開的,所以你可以先看看本文后面的一些步驟,先確定自己有沒有下載jdbc,沒下載的去官網(wǎng)下載一下,只有幾兆,非??臁?/p>
1、首先打開eclipse,新建一個(gè)工程“My”,具體操作為:
點(diǎn)擊“File”----點(diǎn)擊“new”----點(diǎn)擊“java project”,得到下圖頁面,在project name填工程名字,比如“My”,然后點(diǎn)擊“finish”
2、這個(gè)時(shí)候在左邊我們可以看到工程已經(jīng)被創(chuàng)建出來了
右鍵“My”——“build path”——“configure build path”
在libraries這里點(diǎn)擊郵編第二個(gè)“add external jars”,找到你當(dāng)時(shí)下載jdbc后把它解壓縮存的位置,找到MySQL jar打開
3、點(diǎn)擊apply和apply and close即可
4、點(diǎn)擊My,點(diǎn)擊rreferenced libraries界面如下,你看到那個(gè)jar包就行了
5、打開MySQL客戶端,輸入你自己的密碼,show databases;查看自己的數(shù)據(jù)庫(kù)有哪些
6、接下來用程序測(cè)試一下src——右鍵new——class——填寫name:jdbc,把最下面的第一個(gè)也打鉤,然后finish
7、代碼如下
import java.sql.*;
public class Jdbc {
public static void main(String args[]) {
try {
Class.forName("com.mysql.jdbc.Driver"); //加載MYSQL JDBC驅(qū)動(dòng)程序
//Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","java");//java這個(gè)空填寫的是你自己設(shè)的密碼
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
//user 為你表的名稱,可以在MySQL命令行用show tables;顯示
while (rs.next()) {
System.out.println(rs.getString("name"));
}
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
}
8、正常這樣是不會(huì)出錯(cuò)的,但是由于版本問題可能會(huì)出錯(cuò)
如果出現(xiàn)這種錯(cuò)誤,則:(1)
(2) "jdbc:mysql://localhost:3306/test?serverTimezone=CTTuseUnicode=truecharacterEncoding=utf-8allowMultiQueries=true","root","java");//java這個(gè)空填寫的是你自己設(shè)的密碼改這兩處就行了,希望對(duì)大家有幫助呀!
————————————————
版權(quán)聲明:本文為CSDN博主「資本主義向茶葵」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接: