java資料庫基本程式碼
題目要求
在安裝配置好資料庫Mysql後,需要使用Java程式設計完成如下任務: (1)建立資料庫表users,欄位分別為username(主鍵,varchar(10))、pass(varchar(8));資料庫表person,欄位按分別為username(varchar(10),對應於users表的username)、name(主鍵,varchar(20))、age(int,可以為空)、teleno(char(11),可以為空);如表users中username則表person中也不能有相應的username的資料。 (2)在表users中插入4行資料,資料分別是(ly,123456)、(liming,345678)、(test, 11111)、(test1,12345),在表person中插入3行資料,資料分別為(ly,雷力)、(liming,李明,25)、(test,測試使用者,20,13388449933); (3)在person表中插入5行資料,分別為(ly,王五)、(test2,測試使用者2)、(test1,測試使用者1,33)、(test,張三,23,18877009966)、(admin,admin)。對於表中已有的username,則根據最新的資料修改其相應欄位值;如該username不存在,則首先在表users中插入該username,預設的password為888888,然後才能將資料插入至person表。 (4)刪除users表中test打頭的username,同時按照規則一併刪除person表相應的資料。
遇到問題
第三問做了比較久的時間,遇到的問題也比較多: 1. 一個stmt多個rs進行操作引起的ResultSet已經關閉錯誤
2. 更新欄位值: (當username == a的時候update )
String sql="update person set name='"+b+"' , age= "+c+", teleno= '"+d+"' where username = '"+a+" ';" ; //SQL語句
stat.execute(sql);
3. 插入操作:
-
insert into表示插入資料,資料庫會檢查主鍵(PrimaryKey),如果出現重複會報錯;
-
insert ignore表示,如果中已經存在相同的記錄,則忽略當前新資料;
4. Java的模糊處理: 在刪除操作中, stat.execute(“delete from users WHERE username LIKE ‘test%’”); Like和%的使用也瞭解了一下。