寮鍙戠郴缁燂細Android4.4.2
寮鍙戝钩鍙帮細骞垮窞寰祵瀹夊崜宸ヤ笟骞虫澘
寮鍙戝伐鍏凤細eclipse
寮鍙戣瑷锛欽ava
浣跨敤鐨勬暟鎹簱锛歁ySql
鍦ㄦ棩甯哥殑寮鍙戝畨鍗撶▼搴忎腑锛屽緢澶氭椂鍊欓兘娑夊強鍒板ぇ閲忕殑鏁版嵁绠$悊锛岃櫧鐒跺畨鍗撶郴缁熸湁鑷甫鐨勬暟鎹簱sqlite,浣唖qlite鏄交閲忕骇鐨勶紝鏈夋椂鍊欐弧瓒充笉浜嗕娇鐢ㄧ殑闇姹傦紝杩欐椂鍊欏氨闇瑕佽繛鎺ヨ繙绋嬬殑鏁版嵁搴撹繘琛屽鏁版嵁鐨勭鐞嗭紝涓嬮潰鎴戜滑灏辨潵瀛︿範涓嬪湪瀹夊崜涓婃槸濡備綍杩炴帴杩滅▼鏁版嵁搴撲娇鐢ㄧ殑锛屾湰娆℃墍浣跨敤鐨勮繙绋嬫暟鎹簱鏄疢ySql,瀹夎鍦ㄧ數鑴戜笂闈紝閫氳繃缃戠粶杩炴帴MySql鏈嶅姟鍣紝浠庤屽彲浠ヨ繙绋嬫搷浣滄暟鎹簱銆
鍦ㄦ暟鎹簱鎿嶄綔涓娇鐢ㄧ殑涓涓被Connection锛氳繛鎺ヨ〃绀轰粠Java搴旂敤绋嬪簭鍒版暟鎹簱鐨勯摼鎺
1銆佹坊鍔犳暟鎹簱鐨勯┍鍔細鍦ㄥ畨鍗撲笂杩炴帴杩滅▼鏁版嵁搴撻渶瑕佸厛鍔犺浇鏁版嵁搴撻┍鍔紝涓嶅悓鐨勬暟鎹簱鐨勫姞杞界暐鏈変笉鍚岋紝杩欓噷浠ySql涓轰緥锛屼互涓嬬殑鎵鏈夋搷浣滈兘鏄拡瀵筂ySql鐨.
try{
Class.forName("com.mysql.jdbc.Driver");
Toast.makeText(this, "鏁版嵁搴撳姞杞芥垚鍔", Toast.LENGTH_LONG).show();}catch(ClassNotFoundException e){
Toast.makeText(this, "鏁版嵁搴撳姞杞藉け璐n"+e, Toast.LENGTH_LONG).show();}
娣诲姞mysql椹卞姩璇存槑锛氫笅杞絤ysql鐨勯┍鍔ㄦ枃浠垛漨ysql-connector-java-5.0.8-bin.jar鈥濓紝鍦ㄩ」鐩牴鐩綍涓嬫柊寤烘枃浠跺すlib,灏唌ysql鐨勯┍鍔ㄦ枃浠垛漨ysql-connector-java-5.0.8-bin.jar鈥濇嫹璐濆埌lib涓
2銆佽繛鎺ヨ繙绋嬫暟鎹簱锛屽湪杩炴帴鍓嶅厛纭繚杩滅▼鏁版嵁鏁版嵁搴撳厑璁稿叾瀹冭繛鎺
try{
String ip = sqlipedit.getText().toString();
/*杩滅▼鏈嶅姟鍣ㄧ殑ip璺熺鍙e彿锛屼娇鐢ㄨ处鍙枫佸瘑鐮侊紝涓嶅悓鐨勬暟鎹簱浣跨敤鐨勮繛鎺ョ鍙c佸懡浠ら兘涓嶅悓
mysql浣跨敤鐨勮繛鎺ュ懡浠わ細jdbc:mysql//192.168.1.xxx:3306
*/
Connection con = DriverManager.getConnection("jdbc:mysql:"+"//192.168.1.64:3306", "admin","admin");
System.out.println("杩炴帴鎴愬姛"); }catch(SQLException e){
e.printStackTrace();
System.out.println("澶辫触");}
3銆佽幏鍙栨暟鎹簱鏈嶅姟鍣ㄤ腑宸插瓨鍦ㄧ殑鎵鏈夋暟鎹簱
浣跨敤鐨勫懡浠わ細show databases
Statement statement = null;
ResultSet result = null;
try {
//鏄剧ず鏁版嵁搴撳懡浠
String sql = "show databases";
statement = (Statement) conn.createStatement();
//鎵ц鑾峰彇鏁版嵁搴撶殑鍛戒护
result = statement.executeQuery(sql);
//鑾峰彇鏁版嵁搴撶殑鏁伴噺
int size = result.getRow();
//鑾峰彇鏁版嵁搴撶殑鍚嶅瓧
while(result.next()){
Log.d("DatabaseName", result.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (result != null) {
result.close();
result = null;
}
if (statement != null) {
statement.close();
statement = null;
}
} catch (SQLException sqle) {
}
}
4銆佸垏鎹㈠綋鍓嶈繛鎺ユ墍浣跨敤鐨勬暟鎹簱锛
try { if(!con.isClosed()){ //鏂规硶璇存槑锛氳缃杩炴帴鐨勭洰褰曞悕绉帮紝鍙傛暟灏辨槸鍓嶉潰鑾峰彇鍒扮殑鏁版嵁搴撶殑鍚嶅瓧
con.setCatalog((String)databasename);
}
} catch (SQLException e) { // TODO 鑷姩鐢熸垚鐨 catch 鍧
e.printStackTrace();
}
5銆佹墽琛宻ql鍛戒护鐨勬柟娉曟湁涓ょ锛
涓銆丼tatement.excuteQuery(String sqlcmd)锛氫笉瀵规暟鎹簱涓殑鍐呭鍋氫慨鏀癸紝鍙敤浜庢煡璇
浜屻丼tatement.excuteUpdate()String sqlcmd)瀵规暟鎹簱涓殑鍐呭鍋氫慨鏀癸紝鍖呮嫭澧炲垹鏀圭瓑锛屽皢璇ユ搷浣滃皝瑁呮垚涓涓柟娉曟墍鏈夌殑鎿嶄綔鍙互鐩存帴浣跨敤
/*鎵цmysql鐨勪慨鏀瑰懡浠わ紝鍖呮嫭澧炪佸垹銆佹敼绛夊懡浠
*鍙傛暟锛歝onn锛氳繛鎺ユ暟鎹簱鐨勯摼鎺ワ紝sql:鏁版嵁搴撶殑鎿嶄綔鍛戒护
*杩斿洖鍊硷細涓烘垚鍔熸搷浣滅殑鏁版嵁涓暟锛屽锛氭墽琛屼慨鏀规暟鎹殑鍛戒护鍚庯紝鏈塶鏉″垪鐨勬暟鎹鎴愬姛淇敼锛岃繑鍥炲煎氨鏄痭.
*/public int query_l(Connection conn, String sql) {
int row = -1; if (conn == null) {
return -1;
}
Statement statement = null;
ResultSet result = null;
try {
statement = (Statement) conn.createStatement();
//璇ユ柟娉曠敤浜庝慨鏀规暟鎹簱鍐呭鐨勩
row = statement.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (result != null) {
result.close();
result = null;
}
if (statement != null) {
statement.close();
statement = null;
}
} catch (SQLException sqle) {
}
}
return row;
}
6銆佽幏鍙栨暟鎹簱涓嬬殑鎵鏈夋暟鎹〃
//浣跨敤鍛戒护锛歴how tables from databasename//浣跨敤璇ュ懡浠ゅ彲浠ヨ幏鍙栨煇涓鏁版嵁搴撲笅鐨勬墍鏈夋暟鎹〃String sql = "show tables from databasename";
Statement statement = null;
ResultSet result = null;try {
statement =(Statement)con.createStatement();
result = statement.executeQuery(sql);
while(result.next()){
Log.d("TableName",result.getString(1));
}
} catch (SQLException e) {
}
7銆佽幏鍙栨暟鎹〃涓嬬殑鎵鏈夊瓧娈佃窡鏁版嵁
//鑾峰彇瀛楁璺熷瓧娈电被鍨嬶紝浣跨敤鍛戒护锛歴elect from tableString sql = "select * from " + tablename;
String ss = "";
java.sql.PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
java.sql.ResultSetMetaData meta = rs.getMetaData();
//瀛楁鏁伴噺int columeCount = meta.getColumnCount();int[] data = new int[columeCount];
//鑾峰彇瀛楁鍚嶈窡瀛楁绫诲瀷for (int i = 1; i < columeCount + 1; i++) {
data[i-1] = rs.findColumn(meta.getColumnName(i));
Log.d("瀛楁鍚",meta.getColumnName(i));
Log.d("瀛楁绫诲瀷",meta.getColumnType(i));
}
//鏍规嵁瀛楁鍚嶈幏鍙栬瀛楁鐨勬墍鏈夋暟鎹甋tatement statement = null;
ResultSet result = null;
System.out.println(sql);
List list = new ArrayList();try {
statement = (Statement) conn.createStatement();
result = statement.executeQuery(sql);
if (result != null && result.first()) {
while (!result.isAfterLast()) {
String str = ""; //璇ュ鐨刣ata灏辨槸鍓嶉潰鐨刣ata,涓涓猣or寰幆缁撴潫鑾峰彇鍒扮殑鏄竴鏉″畬鏁寸殑鏁版嵁
for(int i:data){ //鏍规嵁瀛楁鍚嶈幏鍙栫浉搴旂殑鏁版嵁鍐呭
str += result.getString(i)+"\t\t";
}
result.next();
}
}
} catch (SQLException e) {
e.printStackTrace();
}
8銆佹柊寤烘暟鎹簱
浣跨敤鍛戒护锛歝reate database databasename
String sql = "create database databasename";query_l(con,sql);
9銆佸垹闄ゆ暟鎹簱
浣跨敤鍛戒护锛歞rop database databasename
String sql = "drop database databasename";query_l(con,sql);
10銆佸垹闄ゆ暟鎹簱涓殑鏁版嵁琛
浣跨敤鍛戒护锛歞rop table tablename
String sql = "drop table tablename";query_l(con,sql);
11銆佹柊寤烘暟鎹〃
浣跨敤鍛戒护锛歝reate table tablename(瀛楁鍚1 瀛楁绫诲瀷, 瀛楁鍚2 瀛楁绫诲瀷锛屽瓧娈靛悕3...);String sql = "create table tablename(name char(20),sex int(4),number int(4))";
query_l(con,sql);
//鍒涘缓鎴愬姛鍚庤琛ㄤ腑鏈変笁涓瓧娈碉細name銆乻ex銆乶umber,瀛楁绫诲瀷鍒嗗埆鏄細char(20)銆乮nt(4)銆乮nt(4)
12銆佹竻绌鸿〃涓暟鎹
浣跨敤鍛戒护锛歞elete from tablename
String sql = "delete from tablename";query_l(con,sql);
13銆佸悜琛ㄤ腑鎻掑叆鏁版嵁
浣跨敤鍛戒护锛歩nsert into table value(name1 ,sex1, number1),(name2,sex2,number2),...璇ュ鎻掑叆鏁版嵁搴斾笌鏁版嵁琛ㄤ腑鐨勫瓧娈典竴涓瀵瑰簲
String sql = 鈥渋nsert into tablename value('寮犱笁',1,1002),('鏉庡洓',1,1003),('鐜嬩簲',0,1004)鈥;
query_l(con,sql);
14銆佸垹闄ゆ煇涓瀛楁
浣跨敤鐨勫懡浠わ細alter table tablename drop 瀛楁鍚
String sql = 鈥渁lter table tablename drop sex鈥;query_l(con,sql);
//鎵ц瀹屽悗璇ヨ〃涓氨娌℃湁sex鐨勫瓧娈典簡
15銆佹洿鏀瑰瓧娈靛悕璺熺被鍨
浣跨敤鍛戒护锛歛lter table tablename change 瀛楁鍚 鏂板瓧娈靛悕 鏂板瓧娈电被鍨
String sql = "alter table tablename change number age int(4)";query_l(con,sql);
//鎵ц瀹屽悗璇ヨ〃涓璶umber瀛楁灏卞彉鎴愪簡age
16銆侀噸鍛藉悕琛
浣跨敤鍛戒护锛歳ename table tablename to newtablename
String sql = "rename table tablename to newtablename";query_l(con,sql);
//鎵ц瀹屽悗灏卞彲灏嗗師琛╰ablename閲嶅懡鍚嶄负newtablename
17銆佷慨鏀规暟鎹〃涓殑鏁版嵁
浣跨敤鍛戒护锛歶pdate tablename set name='aaa' where num=1005鍛戒护璇存槑锛氬鏋滄暟鎹〃涓湁鏁版嵁num=1005,灏卞皢璇ュ垪鏁版嵁涓殑name淇敼鎴恆aa
String sql = "update tablename set name='aaa' where num=1005";query_l(con,sql);
//濡傛灉浣跨敤鐨勫懡浠ゆ槸锛歶pdate tablename set name='aaa'锛岃〃绀哄皢璇ヨ〃涓墍鏈夊垪鐨勬暟鎹腑鐨刵ame閮借鎴恆aa