DCL語句
我們現在默認使用的都是root用戶,超級管理員,擁有全部的權限。但是,一個公司里面的數據庫服務器上面可能同時運行着很多個項目的數據庫。所以,我們應該可以根據不同的項目建立不同的用戶,分配不同的權限來管理和維護數據庫。
1.創建用戶
create user '用戶名' @ '主機名' identifide by '密碼';
2.授權用戶
create 權限1,權限2 on 數據庫名.表名 to '用戶名'@'主機名';
3.修改管理員密碼
mysqladmin -uroot -p password 新密碼 (不需要加引號)
4.修改普通用戶密碼
set password for '用戶名'@'主機名'= password('新密碼');
注意:需要在登陸MySQL的情況下操作。
jdbc的概念
客戶端操作mysql數據庫的方式.
1.什么是jdbc
java數據庫連接技術.JDBC是官方制定的操作數據庫規范(接口),是由一組接口組成的,接口的實現是由數據庫廠商實現。
作用:用來操作數據庫,對數據執行增刪改查操作
JDBC的好處:
代碼不依賴任何的數據庫
只要修改少量的代碼就可以訪問其它類型的數據庫。
2.jdbc常用API:
Driver:接口,驅動接口 注冊驅動
Connection:接口 連接對象 用來與數據庫建立連接
Statement:接口 SQL語句發送對象 用來將SQL語句發送給數據庫執行並獲得執行結果
ResultSet:接口 結果集對象 用來封裝滿足查詢條件的記錄
DriverManager:類 工具類 用來注冊和管理驅動 用來獲得連接對象
3.jdbc獲取連接步驟
(1).導入驅動Jar包
(2).注冊驅動
(3).獲取連接
4.注冊驅動
注冊驅動的方法:
Class.forName("com.mysql.jdbc.Driver");
獲取連接的方法:
Connection con =
DriverManager.getConnection(jdbc:mysql:///要操作的表, 用戶名, 密碼);
4.JDBC之執行增刪改操作:
Statement對象介紹
作用
SQL發送對象
將SQL語句發送給數據庫執行並獲得執行結果。
5.如何獲取statement對象
通過調用連接對象的方法獲取:
Statement sta = con.createStatement();
sta.executeUpdate();更新或者修改
sta. executeQuery();查詢
6. ResultSet對象的介紹
結果集對象:用來封裝滿足查詢條件的記錄
(2).如何獲得ResultSet對象
通過Statement對象的方法獲取
ResultSet rls = sta.executeQuery();
方法: boolean next();將指針下移一行並判斷當前指針指向的位置是否有記錄,有則返回true,否則返回false
* Xxx getXxx(列號/列名)
用法:使用while循環獲取;
7.jdbc工具類實現
工具類寫法
JDBC工具類
*/
public class JDBCUtil {
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql:///需要操作的表";
private static final String USER = "賬戶名";
private static final String PASSWORD = "密碼";
static {
try {
// 注冊驅動
Class.forName(DRIVER_CLASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 返回連接對象
public static Connection getConnection(){
try {
return DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
// 將編譯時異常轉換為運行時異常
throw new RuntimeException("沒有獲取到連接對象,連接失敗....");
}
}
// 關閉資源
public static void close(Statement stmt,Connection conn){
close(null, stmt, conn);
}
// 關閉資源
public static void close(ResultSet rs, Statement stmt, Connection conn){
try {
// 關閉資源
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
// 關閉資源
if (stmt != null)
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
---------------------------------------------
關閉資源的注意事項
* 開啟順序:Connection --> Statement --> ResultSet
* 關閉順序:ResultSet --> Statement --> Connection