Java數(shù)據(jù)庫(kù)一般操作

SQL常用命令

連接:mysql -u user -p passwd;
創(chuàng)建庫(kù):CREATE DATABASE 數(shù)據(jù)庫(kù)名;
刪除庫(kù):DROP DATABASE 數(shù)據(jù)庫(kù)名;
使用庫(kù):USE 數(shù)據(jù)庫(kù)名;
查看表:DESC 表名;
創(chuàng)建表:CREATE TABLE 表名 (字段名1 字段類(lèi)型 [default 默認(rèn)值] [約束],字段名2 ....)
插入表:INSERT INTO 表名[字段1,字段2,...] VALUES(值1,值2,...);
刪除記錄:DELETE FROM 表名 where ....;
修改記錄:UPDATE 表名 SET 字段1=值1,字段2=值2.... where .....;
查詢(xún)記錄:SELECT 字段1,字段2... FROM 表名;
SELECT *FROM 表名 字段1 LIKE '%..%' LIMIT 0,5;(%表示匹配任意數(shù)據(jù),_表示一個(gè)字符,limit指定開(kāi)始結(jié)束行)

DROP TABLE IF EXISTS `stu`;
CREATE TABLE `stu` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) default NULL,
  `city` varchar(50) default NULL,
  `number` int(11) default NULL,
  `picture` varchar(500) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
INSERT INTO `stu` VALUES ('1', 'zhangsan', 'beijing',  '001', '001.jpg');

JDBC主要類(lèi)和接口

java.sql.DriverManager:用于管理JDBC驅(qū)動(dòng)程序;
java.sql.Connection:用于建立與特定數(shù)據(jù)庫(kù)的連接,一個(gè)連接即一個(gè)會(huì)話;
java.sql.Statement:一個(gè)statement對(duì)象用于執(zhí)行靜態(tài)sql語(yǔ)句;
java.sql.PrepareStatement:與statement相對(duì)應(yīng),創(chuàng)建一個(gè)可編譯的sql語(yǔ)句對(duì)象,該對(duì)象可多次運(yùn)行;
java.sql.ResultSet:創(chuàng)建sql語(yǔ)句檢索結(jié)果的結(jié)果集,完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。

JAVA操作數(shù)據(jù)庫(kù)

DriverManager靜態(tài)方法:

  • public static Connection getConnection(String url,String user,String passwd)返回Connection對(duì)象

Connection對(duì)象:

  • StateMent createStatement()創(chuàng)建一個(gè)statemen對(duì)象
  • PrepareStatement prepareStatement(String sql)創(chuàng)建一個(gè)prepareStatement對(duì)象,預(yù)處理sql語(yǔ)句

Statement對(duì)象:

  • int executeUpdate(String sql) 執(zhí)行數(shù)據(jù)庫(kù)更新,插入,刪除等語(yǔ)句
  • ResultSet executeQuery(String sql) 執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)操作,返回結(jié)果集
  • close()操作關(guān)閉

PreparedStatement對(duì)象:

  • int executeUpdate() 執(zhí)行設(shè)置的預(yù)處理sql
  • ResultSet executeQuery() 執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)操作,返回結(jié)果集
  • setInt(int parameterIndex, int x) 指定索引編號(hào),設(shè)置整型內(nèi)容
  • setString(int parameterIndex, String x) 指定索引編號(hào),設(shè)置字符串內(nèi)容
  • setFloat(int parameterIndex, Float x) 指定索引編號(hào),設(shè)置浮點(diǎn)內(nèi)容
  • setDate(int parameterIndex, Date x) 指定索引編號(hào),設(shè)置日期內(nèi)容

ResultSet對(duì)象:

  • boolean next() 將指針指向下一行
  • getInt(int columnIdex) 獲取編號(hào)指定列的內(nèi)容,整型
  • getInt(String columnName) 獲取指定列的內(nèi)容,整型
  • getFloat(int columnIdex) 獲取編號(hào)指定列的內(nèi)容,浮點(diǎn)型
  • getFloat(String columnName) 獲取指定列的內(nèi)容,浮點(diǎn)型
  • getString(int columnIdex) 獲取編號(hào)指定列的內(nèi)容,字符串
  • getString(String columnName) 獲取指定列的內(nèi)容,字符串
  • getDate(int columnIdex) 獲取編號(hào)指定列的內(nèi)容,日期
  • getDate(String columnName) 獲取指定列的內(nèi)容,日期

附上一段代碼:

private static final String driver = "com.mysql.jdbc.Driver";// mysql驅(qū)動(dòng)
private static final String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8";// 數(shù)據(jù)庫(kù)url地址
private static final String username = "root";
private static final String password = "root";
private static final Connection con = null;//數(shù)據(jù)庫(kù)連接
private static final PreparedStatement stmt = null;
private static final ResultSet rs = null;
       
// 靜態(tài)代碼塊,加載驅(qū)動(dòng)
static {
    try {
        Class.forName(driver);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
       
// 單例模式返回?cái)?shù)據(jù)庫(kù)連接對(duì)象
public static Connection getConnection() throws Exception {
    if (con == null) {
        con = DriverManager.getConnection(url, username, password);
        return con;
    }
    return con;
}
          
String sqlQuery = "select * from stu;";// sql查詢(xún)語(yǔ)句
stmt = con.prepareStatement(sqlQuery);
rs = stmt.executeQuery();// 讀數(shù)據(jù)庫(kù),獲取條目
       
String sqlInst = "INSERT INTO stu(name,passwd)"+" VALUES(?,?)" ;//sql插入語(yǔ)句
PreparedStatement ps = con.prepareStatement(sqlInst);//
for (int i = 0; i < 100; i++) // 定義個(gè)100次的循環(huán),往表里插入一百條信息。
{
    ps.setString(1, "boss" + i);
    ps.setInt(2,  i);
    ps.executeUpdate();
}

歡迎訪問(wèn)我的主頁(yè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容