動態(tài)創(chuàng)建表格,比如:str你從數(shù)據(jù)庫讀出列名,data數(shù)據(jù)集
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、三門網(wǎng)絡(luò)推廣、小程序開發(fā)、三門網(wǎng)絡(luò)營銷、三門企業(yè)策劃、三門品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供三門建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com
這里的data是一個二維數(shù)組,
就像
{{學(xué)號:001,出生:09-01,成績99}
{學(xué)號:001,出生:09-01,成績99}
{學(xué)號:001,出生:09-01,成績99}}
生成表格
學(xué)號 出生日期 成績
001 09-01 99
001 09-01 98
001 09-01 99
import?java.sql.*;
public?class?Test
{
public?static?void?main(String[]?args)?throws?Exception
{
Class.forName("com.mysql.jdbc.Driver");
//一開始必須填一個已經(jīng)存在的數(shù)據(jù)庫
String?url?=?"jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=utf-8";????
Connection?conn?=?DriverManager.getConnection(url,?"root",?"123456");
Statement?stat?=?conn.createStatement();
//創(chuàng)建數(shù)據(jù)庫hello
stat.executeUpdate("create?database?hello");
//打開創(chuàng)建的數(shù)據(jù)庫
stat.close();
conn.close();
url?=?"jdbc:mysql://localhost:3306/hello?useUnicode=truecharacterEncoding=utf-8";
conn?=?DriverManager.getConnection(url,?"root",?"123456");
stat?=?conn.createStatement();
//創(chuàng)建表test
stat.executeUpdate("create?table?test(id?int,?name?varchar(80))");
//添加數(shù)據(jù)
stat.executeUpdate("insert?into?test?values(1,?'張三')");
stat.executeUpdate("insert?into?test?values(2,?'李四')");
//查詢數(shù)據(jù)
ResultSet?result?=?stat.executeQuery("select?*?from?test");
while?(result.next())
{
System.out.println(result.getInt("id")?+?"?"?+?result.getString("name"));
}
//關(guān)閉數(shù)據(jù)庫
result.close();
stat.close();
conn.close();
}
}
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("數(shù)據(jù)庫url","帳號","密碼");
state=conn.createStatement();
state.executeUpdate("create 建表語句");
state.executeUpdate("insert 插入數(shù)據(jù)")------插入的值由頁面獲得,注意字符串拼接。
然后就是關(guān)閉連接,state.close();conn.close();
核心代碼就是這些,具體應(yīng)用你可以多寫幾個方法(增刪改查),都是類似的,注意異常的處理,關(guān)閉連接最好在finally中進(jìn)行。
create
or
replace
trigger
trg_delete_count
before
delete
on
student
for
each
row
begin
delete
from
成績表
where
成績表.學(xué)號=:old.學(xué)號;
commit;
end;
想要實(shí)現(xiàn)類似的功能,不一定要用觸發(fā)器的,可以設(shè)置兩個表的主鍵和外鍵,設(shè)置級聯(lián)刪除關(guān)系,刪除主鍵時,外鍵表中的記錄也會自動刪除。
給你一個例子: import java.sql.*; import java.awt.*; public class Createexp { public static void main(String args[]){ String url = jdbc:odbc:wwms; ///wwms 是ODBC的數(shù)據(jù)源 Connection con = null; Statement sm = null;try{///加載JDBC-ODBC驅(qū)動程序 bridge Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); //com.ms.jdbc.odbc.JdbcOdbcDriver /// 不對 com.ms 改為sun } catch(Exception e){ System.out.println(無法裝載JDBC-ODBC bridge 驅(qū)動程序);return;}/////與數(shù)據(jù)庫建立連接并顯示try{con = DriverManager.getConnection(url); sm = con.createStatement(); //創(chuàng)建對象 //執(zhí)行數(shù)據(jù)庫表的創(chuàng)建操作 sm.execute(create table tb(tepno int, tepname char(10) ));sm.close();
JDBC連接數(shù)據(jù)庫
?創(chuàng)建一個以JDBC連接數(shù)據(jù)庫的程序,包含7個步驟:
1、加載JDBC驅(qū)動程序:
在連接數(shù)據(jù)庫之前,首先要加載想要連接的數(shù)據(jù)庫的驅(qū)動到JVM(Java虛擬機(jī)),
這通過java.lang.Class類的靜態(tài)方法forName(String className)實(shí)現(xiàn)。
例如:
try{
//加載MySql的驅(qū)動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅(qū)動程序類 ,加載驅(qū)動失??!");
e.printStackTrace() ;
}
成功加載后,會將Driver類的實(shí)例注冊到DriverManager類中。
2、提供JDBC連接的URL
?連接URL定義了連接數(shù)據(jù)庫時的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識。
?書寫形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識
協(xié)議:在JDBC中總是以jdbc開始
子協(xié)議:是橋連接的驅(qū)動程序或是數(shù)據(jù)庫管理系統(tǒng)名稱。
數(shù)據(jù)源標(biāo)識:標(biāo)記找到數(shù)據(jù)庫來源的地址與連接端口。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding設(shè)置為
gb2312或GBK,本參數(shù)必須設(shè)置為true 。characterEncoding=gbk:字符編碼方式。
3、創(chuàng)建數(shù)據(jù)庫的連接
?要連接數(shù)據(jù)庫,需要向java.sql.DriverManager請求并獲得Connection對象,
該對象就代表一個數(shù)據(jù)庫的連接。
?使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的數(shù)據(jù)庫的路徑、數(shù)據(jù)庫的用戶名和
密碼來獲得。
例如:
//連接MySql數(shù)據(jù)庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("數(shù)據(jù)庫連接失??!");
se.printStackTrace() ;
}
4、創(chuàng)建一個Statement
?要執(zhí)行SQL語句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下3
種類型:
1、執(zhí)行靜態(tài)SQL語句。通常通過Statement實(shí)例實(shí)現(xiàn)。
2、執(zhí)行動態(tài)SQL語句。通常通過PreparedStatement實(shí)例實(shí)現(xiàn)。
3、執(zhí)行數(shù)據(jù)庫存儲過程。通常通過CallableStatement實(shí)例實(shí)現(xiàn)。
具體的實(shí)現(xiàn)方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
文章名稱:java代碼創(chuàng)建表 java怎么制表
轉(zhuǎn)載來源:http://jinyejixie.com/article2/doscjoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站設(shè)計、品牌網(wǎng)站制作、App開發(fā)、手機(jī)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)