使用JAVA進(jìn)行數(shù)據(jù)庫(kù)部分知識(shí)的操作代碼

本周首先暫時(shí)結(jié)束了Java高級(jí)知識(shí),進(jìn)入到了數(shù)據(jù)庫(kù)的學(xué)習(xí):

java高級(jí)部分:
? ? ? ? ? ? ? ? ? ?1.線程:線程并發(fā)(多個(gè)線程操作共享變量);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?鎖機(jī)制,關(guān)鍵字有synchronize(并發(fā)線程安全,可鎖對(duì)象和方法),wait,notify
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(悲觀)死鎖,,wait,notify,notifyAll;
? ? ? ? ? ? ? ? ? ? 2.網(wǎng)絡(luò)編程:udp數(shù)據(jù)廣播(數(shù)據(jù)發(fā)送者只需向交換機(jī)發(fā)送一個(gè)拷貝,交換機(jī)負(fù)責(zé)將這個(gè)信息制作n個(gè)拷貝發(fā)送給所有機(jī)器)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http協(xié)議(HyperText Transfer Protocol)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? json數(shù)據(jù)格式,語(yǔ)法規(guī)則:JSON對(duì)象{“屬性名”:”屬性值”}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? JSON數(shù)組[“元素1”,”元素2″…]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? JSON插件:- Json-lib
– Gson
– Jackson
– FastJSON – alibaba

數(shù)據(jù)庫(kù)部分:(采用mysql5.5數(shù)據(jù)庫(kù),以及navicat圖形工具對(duì)其操作)
? ? ? ? ? ? ? ? ? ? ?3.系統(tǒng)以及mysql常用命令
? ? ? ? ? ? ? ? ? ? ? ? ? 系統(tǒng)命令(以管理員身份運(yùn)行)

: ? #啟動(dòng)服務(wù)
? ? net start mysql
? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#停止服務(wù)
? ? net stop mysql
? ??
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#進(jìn)入mysql命令行
? ? mysql -uroot -p密碼 ??
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#退出mysql命令行
? ? exit
? ??
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #修改密碼
? ? mysqladmin -uroot -p123456 password 密碼
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #備份數(shù)據(jù)庫(kù)實(shí)例 ?mysqldump -uroot -proot mydb > d:/mydb.sql
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #備份表 ?mysqldump -uroot -proot mydb tbuser > d:/tbuser.sql ? ?
? ? ? ? ? ? ? ? ? ? ? ? ??

Mysql常用命令

? : ?–顯示數(shù)據(jù)庫(kù)實(shí)例
? ? show databases;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例
? ? create database mydb;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –使用數(shù)據(jù)庫(kù)實(shí)例
? ? user mydb;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –顯示實(shí)例中所有數(shù)據(jù)庫(kù)表
? ? show tables;

SQL語(yǔ)句

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? auto_increment:設(shè)置列自增,可用于主鍵列以及非空唯一列(not NULL unique)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned:設(shè)置無符號(hào)列(列值不允許為負(fù)數(shù))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?zerofill:設(shè)置零填充列(當(dāng)列數(shù)據(jù)長(zhǎng)度不到定義長(zhǎng)度時(shí),數(shù)值前補(bǔ)0)

? ? ? ? ? ? ? ? ? ? ? ? 4.SQL語(yǔ)句:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DDL(數(shù)據(jù)庫(kù)定義語(yǔ)言:用來建立數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)對(duì)象和定義其列):create、desc(查看表結(jié)構(gòu))、alter、drop
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DML (數(shù)據(jù)庫(kù)操縱語(yǔ)言:增刪改查):select、insert、delete、update;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DCL(數(shù)據(jù)庫(kù)控制語(yǔ)言:控制權(quán)限)revork,grant;
? ? ? ? ? ? ? ? ? ? ? ? 5.(完整性條件)約束:1. 主鍵約束
2. 外鍵約束
3. 不為空約束
4. 唯一約束
5. 檢查約束(mysql暫不支持)

? ? ? ? ? ? ? ? ? ? ? ? 6.數(shù)據(jù)類型運(yùn)算符
? ? ? ? ? ? ? ? ? ? ? ? 7.查詢(重點(diǎn)):SELECT 查詢列1,查詢列2,…?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FROM 目標(biāo)表

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【W(wǎng)HERE 查詢條件】
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【GROUP BY 列名稱】

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【HAVING 查詢條件】
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【ORDER BY 列名稱 ASC|DESC】

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【LIMIT [偏移行,]記錄行數(shù)】
??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 單表查詢:模糊查詢(“%”,“_”),聚合函數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 多表查詢:等值連接,外連接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mysql函數(shù)的使用。

import?java.io.Serializable;  /** ?*?工作詳情類 ?*?@author?NIUXUYUAN ?*/ public?class?Jobs?implements?Serializable{  	/** 	?*? 	?*/ 	private?static?final?long?serialVersionUID?=?1L; 	private?String?id;??????????//id 	private?String?experience;??//工作經(jīng)驗(yàn) 	private?String?city;????????//工作地點(diǎn) 	private?String?industry;????//行業(yè) 	private?String?detail;??????//工作詳情 	private?String?company;?????//公司 	private?String?jobname;?????//職位 	public?Jobs(String?id,?String?experience,?String?city,?String?industry,?String?detail,?String?company, 			String?jobname)?{ 		super(); 		this.id?=?id; 		this.experience?=?experience; 		this.city?=?city; 		this.industry?=?industry; 		this.detail?=?detail; 		this.company?=?company; 		this.jobname?=?jobname; 	} 	 	@Override 	public?String?toString()?{ 		return?"Jobs?[id="?+?id?+?",?experience="?+?experience?+?",?city="?+?city?+?",?industry="?+?industry 				+?",?detail="?+?detail?+?",?company="?+?company?+?",?jobname="?+?jobname?+?"]"; 	} 	 	public?String?toString(int?i)?{ 		return?experience+city+industry+detail+company+jobname; 	}  	public?Jobs()?{ 		//?TODO?Auto-generated?constructor?stub 	}  	public?String?getId()?{ 		return?id; 	}  	public?void?setId(String?id)?{ 		this.id?=?id; 	}  	public?String?getExperience()?{ 		return?experience; 	}  	public?void?setExperience(String?experience)?{ 		this.experience?=?experience; 	}  	public?String?getCity()?{ 		return?city; 	}  	public?void?setCity(String?city)?{ 		this.city?=?city; 	}  	public?String?getIndustry()?{ 		return?industry; 	}  	public?void?setIndustry(String?industry)?{ 		this.industry?=?industry; 	}  	public?String?getDetail()?{ 		return?detail; 	}  	public?void?setDetail(String?detail)?{ 		this.detail?=?detail; 	}  	public?String?getCompany()?{ 		return?company; 	}  	public?void?setCompany(String?company)?{ 		this.company?=?company; 	}  	public?String?getJobname()?{ 		return?jobname; 	}  	public?void?setJobname(String?jobname)?{ 		this.jobname?=?jobname; 	} 	 }
import?java.io.BufferedReader; import?java.io.File; import?java.io.FileInputStream; import?java.io.FileNotFoundException; import?java.io.FileOutputStream; import?java.io.IOException; import?java.io.InputStreamReader; import?java.io.ObjectInputStream; import?java.io.ObjectOutputStream; import?java.util.ArrayList; import?java.util.List;  public?class?AddJobs?{  	static?List<jobs>?list?=?new?ArrayList(); 	File?file?=?new?File("jobs"); 	 	/** 	?*?輸入數(shù)據(jù) 	?*?@throws?IOException 	?*/ 	public?void?input()?throws?IOException?{ 	?????BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in)); 	?????System.out.println("以id/experience/education/city/industry/detail/company/jobname格式填入:"); 	?????String?msg?=?""; 	?????while(!(msg?=?br.readLine()).equalsIgnoreCase("quit"))?{ 	????	?add(msg); 	?????} 	?????br.close(); 	}  	/** 	?*?將數(shù)據(jù)變?yōu)镴obs對(duì)象存入list集合 	?*?@param?msg 	?*/ 	private?void?add(String?msg)?{ 		String[]?s?=?msg.split("/"); 		Jobs?job?=?new?Jobs(s[0],?s[1],?s[2],?s[3],?s[4],?s[5],?s[6]); 		list.add(job); 	} 	 	private?void?checkFile()?throws?FileNotFoundException,?IOException,?ClassNotFoundException?{ 		if(file.length()&gt;0)?{ 		ObjectInputStream?ois?=?new?ObjectInputStream(new?FileInputStream(file)); 		List<jobs>?temp?=?(List<jobs>)ois.readObject(); 		if(temp!=null)?{ 			list.clear(); 			for(Jobs?t:temp)?{ 				list.add(t); 			} 		} 		ois.close(); 		} 	} 	public?static?void?main(String[]?args)?throws?FileNotFoundException,?IOException,?ClassNotFoundException?{ 		AddJobs?aj?=?new?AddJobs(); 		if(!aj.file.exists())?{ 			aj.file.createNewFile(); 		} 		aj.checkFile(); 		aj.input(); 		ObjectOutputStream?oos?=?new?ObjectOutputStream(new?FileOutputStream(aj.file)); 		oos.writeObject(list); 		oos.close(); 	}  }</jobs></jobs></jobs>
import?java.io.BufferedReader; import?java.io.File; import?java.io.FileInputStream; import?java.io.FileNotFoundException; import?java.io.IOException; import?java.io.InputStreamReader; import?java.io.ObjectInputStream; import?java.util.ArrayList; import?java.util.List;  public?class?Query?{  	static?List<jobs>?list?=?new?ArrayList(); 	File?file?=?new?File("jobs");  	/** 	?*?查看file文件,將數(shù)據(jù)導(dǎo)入list集合 	?*?@throws?FileNotFoundException 	?*?@throws?IOException 	?*?@throws?ClassNotFoundException 	?*/ 	private?void?checkFile()?throws?FileNotFoundException,?IOException,?ClassNotFoundException?{ 		if(file.length()&gt;0)?{ 		ObjectInputStream?ois?=?new?ObjectInputStream(new?FileInputStream(file)); 		List<jobs>?temp?=?(List<jobs>)ois.readObject(); 		if(temp!=null)?{ 			list.clear(); 			for(Jobs?t:temp)?{ 				list.add(t); 			} 		} 		ois.close(); 		} 	} 	 	public?void?check()?throws?IOException?{ 		BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in)); 		System.out.println("請(qǐng)輸入experience/education/city/industry/detail/company/jobname的某些信息"); 		String?msg?=?br.readLine(); 		String[]?s?=?msg.split("/"); 		String?regex?=?""; 		for?(String?str?:?s)?{ 			regex?+=?"[sS]*"?+?str?+?"[sS]*"; 		} 		List<jobs>?temp?=?new?ArrayList(); 		for?(Jobs?j?:?list)?{ 			msg?=?j.toString(1); 			if(msg.matches(regex))?{ 				temp.add(j); 			} 		} 		System.out.println("結(jié)果"); 		for?(Jobs?jobs?:?temp)?{ 			System.out.println(jobs); 		} 	} 	public?static?void?main(String[]?args)?throws?FileNotFoundException,?ClassNotFoundException,?IOException?{ 		Query?q?=?new?Query(); 		q.checkFile(); 		q.check(); 	} }</jobs></jobs></jobs></jobs>

?相關(guān)文章:

Java連接MySQL數(shù)據(jù)庫(kù)及簡(jiǎn)單操作代碼

Java連接MySQL數(shù)據(jù)庫(kù)及簡(jiǎn)單操作代碼

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享