- 登入: mysql -h locahost -u root -p 123456
- 建立資料庫: create database 資料庫名稱
- 顯示全部資料庫: show databases;
- 刪除資料庫: drop database 資料庫名稱
- 建立表:create table 表名(欄位名,型別(大小) primary key auto_increment);
- 刪除表:drop table 表名,表名,表名;
3、curd(create update read delete)
- 新增: insert into 表名(字段,字段) values(值,值);
- 刪除: delete from 表名 where id = "";
- 查詢: select * from 表名;
- 修改: update 表名 set 字段 = "",字段 = 「」 where id = "";
4、異常丟擲
new throw exception();
5、jdbc:
步驟:1、 匯入資料庫驅動 class.forname("com.mysql.jdbc.driver");
2、 建立資料庫連線 connection c = drivermanager.getconnection();
3、 獲取資料庫連線 statement s = c.createstatement(sql) / preparedstatement ps = c.preparedstatement(); //preparedstatement是statement的子類
4、 執行 resultset rs = s.execute() / resultset rs = ps.executeupdate();
5、 遍歷結果集
- 多條資料 - 一條資料
while(rs.next) }
6、建立使用者名稱和密碼的查詢方法
public boolean login(string username, string password)catch(exception e)
string sql = "select * from user where username = ? and password = ?";
try(connection c = drivermanager.getconnection("jdbc:mysql://localhost:3306/web01?characterencoding=utf-8","root","123456");
preparedstatement ps = c.preparestatement(sql))else
}catch(exception e)
return false;
}7、sql注入
如果使用statement物件可能會出現問題
假設: sql = select * from user where username = ' " + username+ "' and password = '" + password +"';
傳入的值是 ("cl,"kok' or '1' = '1"); 那就無論如何都成立。程式就存在漏洞
8、分頁查詢
string sql = "select * from user limit ?,?";
頁數:pagenumber
每頁顯示條數: pagecount
例: 第8頁 每頁顯示9條
計算: (8 -1) * 9 = 63
9、jdbcutils
public connection getconnection()catch(exception e)
return null;
}10、事務
connection c = jdncutils.getconnection();
c.setautocommit(false); //開啟事務
c.commit();
11、連線池(c3p0、dbcp)
c3p0:
步驟:- 匯入 jar包
- 在static**塊初始化
private final string url = "jdbc:mysql://localhost:3306/web01?characterencoding=utf-8";
private final string user = "root";
private final string password = "123456";
static
public connection getconnection()catch(exception e)
return null;
}dbcp:
private final string url = "jdbc:mysql://localhost:3306/web01?characterencoding=utf-8";
private final string user = "root";
private final string password = "123456";
static
public static connection getconnection() catch (sqlexception e)
return null;
}
複習(jdbc跨平台方案)
定義 public static final properties pro new properties 讀取配置檔案的map 定義static 首次使用工具類時,載入驅動 inputstream is jdbcutil.class.getresourceasstream 路徑 通過復用本類自帶流,...
jdbc知識點複習(二)
事務使指一組最小邏輯操作單元,裡面有多個操作組成。組成事務的每一部分必須要同時提交成功,如果有乙個操作失敗,整個操作就回滾。原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到...
jdbc複習第三天
jdbc事務併發產生的問題和事務隔離級別 1,髒讀 dirty read 讀取到了沒有提交的資料。2,不可重複讀 unprpeatable read 兩次讀取到了不同的資料,就是要保持在同一時間點上兩次讀取到的資料相同,不能夠使查詢資料時進行改變。3,幻讀 phantom 在兩次查詢同一時間點資料時...