使用JAVA進行數據庫部分知識的操作代碼

本周首先暫時結束了Java高級知識,進入到了數據庫的學習:

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

數據庫部分:(采用mysql5.5數據庫,以及navicat圖形工具對其操作)
? ? ? ? ? ? ? ? ? ? ?3.系統以及mysql常用命令
? ? ? ? ? ? ? ? ? ? ? ? ? 系統命令(以管理員身份運行)

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

Mysql常用命令

? : ?–顯示數據庫實例
? ? show databases;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –創建數據庫實例
? ? create database mydb;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –使用數據庫實例
? ? user mydb;
? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –顯示實例中所有數據庫表
? ? show tables;

SQL語句

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned:設置無符號列(列值不允許為負數)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?zerofill:設置零填充列(當列數據長度不到定義長度時,數值前補0)

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

? ? ? ? ? ? ? ? ? ? ? ? 6.數據類型運算符
? ? ? ? ? ? ? ? ? ? ? ? 7.查詢(重點):SELECT 查詢列1,查詢列2,…?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FROM 目標表

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【WHERE 查詢條件】
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

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

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

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

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

import?java.io.Serializable;  /** ?*?工作詳情類 ?*?@author?NIUXUYUAN ?*/ public?class?Jobs?implements?Serializable{  	/** 	?*? 	?*/ 	private?static?final?long?serialVersionUID?=?1L; 	private?String?id;??????????//id 	private?String?experience;??//工作經驗 	private?String?city;????????//工作地點 	private?String?industry;????//行業 	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"); 	 	/** 	?*?輸入數據 	?*?@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(); 	}  	/** 	?*?將數據變為Jobs對象存入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文件,將數據導入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("請輸入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("結果"); 		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>

?相關文章:

Java連接MySQL數據庫及簡單操作代碼

Java連接MySQL數據庫及簡單操作代碼

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享