當前位置:首頁 » 編程語言 » javamysql數據插入

javamysql數據插入

發布時間: 2022-05-03 07:10:11

java插入數據到MYsql資料庫問題

覺得你沒調用stmt.executeUpdate();這句吧,你可以改成我下面的形式試試。在這之前你得確認連接上資料庫了嗎?如果你列印con取到了值(或者單步調式看con取到了值)。然後將insert into employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+secation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
改成insert into employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address) values (?,?,?,?,?,?,?,?,?,?,?,?)");
然後這樣子做:
stmt.setString(1,值);
stmt.setString(2,值);
直至塞完你要插入的值,如果是int的,裡面也有stmt.setInt(3,值);
還有float的就有stmt.setFloat(4,值);總之,你想賽什麼樣的值它都有方法的。
然後你再調用stmt.executeUpdate();就OK了

都給你說了沒調用stmt.executeUpdate();
怎麼不去試試調用stmt.executeUpdate();呢,調了後沒有再找我!

⑵ java後台向mysql插入數據,資料庫中顯示亂碼

MySQL中默認字元集的設置有四級:伺服器級,資料庫級,表級
。最終是欄位級
的字元集設置。注意前三種均為默認設置,並不代碼你的欄位最終會使用這個字元集設置。所以我們建議要用show
create
table
table
;
或show
full
fields
from
tableName;
來檢查當前表中欄位的字元集設置。
MySQL中關於連接環境的字元集設置有
Client端,connection,
results
通過這些參數,MySQL就知道你的客戶端工具用的是什麼字元集,結果集應該是什麼字元集。這樣MySQL就會做必要的翻譯,一旦這些參數有誤,自然會導致字元串在轉輸過程中的轉換錯誤。基本上99%的亂碼由些造成。
上面是我抄網上的資料來的。我試了一下。發現
mysql>
show
variables
like
'char%';
+--------------------------+----------------------------+
|
Variable_name
|
Value
|
+--------------------------+----------------------------+
|
character_set_client
|
latin1
|
|
character_set_connection
|
latin1
|
|
character_set_database
|
latin1
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
latin1
|
|
character_set_server
|
latin1
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
/usr/share/mysql/charsets/
|
+--------------------------+----------------------------+
8
rows
in
set
(0.00
sec)
解決方法已經找到。進入數據後
use
資料庫名;
names
utf8;
不過這樣會每次進入都必須重新設置。因此。還可以在/etc/mysql/my.conf里添加
[mysql]
#no-auto-rehash
#
faster
start
of
mysql
but
no
tab
completition
default-character-set=utf8
這樣資料庫就不每次按照utf8字元集來導入到資料庫了

⑶ java操作mysql資料庫,插入數據的問題

覺得你沒調用stmt.executeupdate();這句吧,你可以改成我下面的形式試試。在這之前你得確認連接上資料庫了嗎?如果你列印con取到了值(或者單步調式看con取到了值)。然後將insert
into
employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address)
values
('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+secation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
改成insert
into
employee(id,name,sex,born,nation,minzu,zheng,marry,school,wei,tel,address)
values
(?,?,?,?,?,?,?,?,?,?,?,?)");
然後這樣子做:
stmt.setstring(1,值);
stmt.setstring(2,值);
直至塞完你要插入的值,如果是int的,裡面也有stmt.setint(3,值);
還有float的就有stmt.setfloat(4,值);總之,你想賽什麼樣的值它都有方法的。
然後你再調用stmt.executeupdate();就ok了
都給你說了沒調用stmt.executeupdate();
怎麼不去試試調用stmt.executeupdate();呢,調了後沒有再找我!

⑷ 從java中向mysql中的表中插入數據

感覺按照樓主的意思其實是想更新一條記錄吧。
假設一條學生信息包含id,name,score;
如果現在id和name有了但是score沒有那就直接update
update 表名 set score=『分數』 where id='該學生的id'

如果樓主是想表達插入一條數據的話,那隻插一個欄位就可能會有一些問題
還是以學生信息為例,因為一般來說id是主鍵,如果這里只插入score而id沒有值肯定會報錯的
但是如果插入的時id,那麼只要表裡的其他欄位沒有非空限制那就是沒有問題的

⑸ 小菜鳥求教JAVA向MYSQL插入數據

在執行查詢時發現一個錯誤,查詢過程和錯誤信息被記錄在:C:\C:\Users\Administrator\AppData\Roaming\SQLyog\sqlyog.err.
請打開這個文件查看具體的錯誤原因。

在導入資料庫之前,選擇你要導入數據的資料庫,再導入數據就OK了。

⑹ Java里用INSERT INTO VALUES()向mysql插入數據,VALUES裡面的值是變數怎麼辦

VALUES 語句
具體語法:VALUES row_constructor_list[ORDER BY column_designator][LIMIT BY number] row_constructor_list: ROW(value_list)[, ROW(value_list)][, ...]value_list: value[, value][, ...]column_designator: column_index
VALUES 語句,用做功能展示或者快速造數據場景,結果列名字以 COLUMN_0 開頭,以此類推,舉個簡單例子。單條 VALUES 語句mysql-(ytt/3305)->values row(1,2,3);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1| 2| 3|+----------+----------+----------+1 row inset(0.00 sec)
多條 VALUES 語句mysql-(ytt/3305)->values row(1,2,3),row(10,9,8);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1 | 2 | 3 || 10 | 9 | 8 |+----------+----------+----------+2 rows in set (0.00 sec)
多條 VALUES 聯合 UNION ALLmysql-(ytt/3305)->values row(1,2,3),row(10,9,8) union all values \ row(-1,-2,0),row(10,29,30),row(100,20,-9);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1 | 2 | 3 || 10 | 9 | 8 || -1 | -2 | 0 || 10 | 29 | 30 || 100 | 20 | -9 |+----------+----------+----------+5 rows in set (0.00 sec)
根據欄位下標排序,從 1 開始mysql-(ytt/3305)->values row(1,2,3),row(10,9,8) union all values \ row(-1,-2,0),row(10,29,30),row(100,20,-9) order by 1 desc ;+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 100 | 20 | -9 || 10 | 9 | 8 || 10 | 29 | 30 || 1 | 2 | 3 || -1 | -2 | 0 |+----------+----------+----------+5 rows in set (0.00 sec)
類型可以任意組合:bit,json,datetime,int,decimal 等mysql-(ytt/3305)->values row(100,200,300),\ row('2020-03-10 12:14:15','mysql','test'), \ row(16.22,TRUE,b'1'), \ row(left(uuid(),8),'{"name":"lucy","age":"28"}',hex('dble'));+---------------------+----------------------------+--------------------+| column_0 | column_1 | column_2 |+---------------------+----------------------------+--------------------+| 100 | 200 | 0x333030 || 2020-03-10 12:14:15 | mysql | 0x74657374 || 16.22 | 1 | 0x01 || c86fd1a7 | {"name":"lucy","age":"28"} | 0x3634363236433635 |+---------------------+----------------------------+--------------------+4 rows in set (0.00 sec)
新建表 t3,把剛才這些記錄寫進去mysql-(ytt/3305)->create table t3 (r1 varchar(100),r2 varchar(100),r3 varchar(100));Query OK, 0 rows affected (0.02 sec)
寫入到表 t3mysql-(ytt/3305)->insert into t3 values row(100,200,300), \ row('2020-03-10 12:14:15','mysql','test'), \ row(16.22,TRUE,b'1'),\ row(left(uuid(),8),'{"name":"lucy","age":"28"}',hex('dble'));Query OK, 4 rows affected (0.00 sec)Records: 4 Duplicates: 0 Warnings: 0

⑺ java無法通過textfield向mysql插入數據

String sql= "INSERT INTO bxqd(name,jfh,jwh) values(s1,s2,s3)";

這句話錯了,字元串拼接的。正確的寫法:

String sql= "INSERT INTO bxqd(name,jfh,jwh) values('"+s1+"','"+s2+"','"+s3+"')";

這樣就正確了。

序號的插入在表裡面設置自增主鍵,每次插入數據都會自增1

日期也可以用默認值設置,xx date default CURRENT_TIMESTAMP

⑻ 用java連接mysql實現對表中的數據查找,插入,修改等功能,

JDBC操作MySQL資料庫的步驟

1、准備MySQL資料庫驅動包:mysql-connector-java-5.0.8-bin.jar,一個項目中只能存在一個版本的驅動包
a、復制該驅動包,粘貼到項目中
b、選中項目里的驅動包,右鍵->Build Path->Add to Build Path
2、在類里寫代碼載入驅:決定連接哪種資料庫
a、Class.forName("com.mysql.jdbc.Driver");
b、必須進行異常處理:ClassNotFoundException
3、連接資料庫
a、Connection con=DriverManager.getConnection("連接字元串", "用戶名", "密碼");
b、連接字元串格式固定,不同資料庫,格式不同:jdbc:mysql://要連接的計算機名稱:埠號/要連接的資料庫名稱
c、必須進行異常處理:SQLException
4、拼寫要執行的sql語句,必須是可以在資料庫中執行的
5、創建執行sql語句的對象
a、Statement stmt=con.createStatement();
b、注意:Statement必須來自於java.sql包中
6、執行sql語句
a、執行insert、update和delete語句:int row=stmt.executeUpdate(sql);返回影響行數
b、執行查詢語句:ResultSet rs=stmt.executeQuery(sql);返回查詢結果
c、執行任意sql語句(DDL、DCL、DML和DQL等)
7、對執行結果進行處理
a、執行更新語句:判斷影響行數是否為0,0表示失敗,非0表示成功
b、對查詢結果進行處理:
1) 結果集需要先移動、後取值 :rs.next();int id=rs.getInt(1);
String name=rs.getString("loginName");
2) 結果集有多條時,需要循環操作:
while(rs.next()){ System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5));
}
3) 不確定是否有查詢結果時:if(rs.next()){說明有查詢結果}else{沒有查詢結果}
4) 使用了聚合函數,一定有查詢結果,查詢結果是一行一列:
rs.next();
int result=rs.getInt(1);
注意:結果集取值時取出的時查詢語句中包含的欄位,與表中欄位無關
9、關閉相關對象(先關閉結果集對象、在關閉執行語句對象,最後關閉連接對象)
例如:執行查詢語句
Scanner input=new Scanner(System.in);
System.out.print("請輸入登錄名: ");
String name=input.next();
System.out.print("請輸入密碼: ");
String pass=input.next();

try {
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
String sql="select COUNT(*) from UserInfo where loginName='"+name+"' and loginPass='"+pass+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
int result=rs.getInt(1);
if(result!=0){
System.out.println("登錄成功!");
}else{
System.out.println("用戶名或密碼錯誤,請重新登錄!");
}
rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("載入驅動錯誤:"+e.getMessage());
} catch (SQLException e) {
System.out.println("資料庫操作錯誤:"+e.getMessage());
}
執行添加、修改和刪除語句
try {
//載入驅動
Class.forName("com.mysql.jdbc.Driver");
//連接資料庫
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");
//拼寫要執行的sql語句
String sql="update UserInfo set loginPass='111' where loginName='a'";
//String sql="insert UserInfo values(default,'test','test')";
//String sql="delete from UserInfo where loginName='a'";
//創建執行語句對象
Statement stmt=con.createStatement();
//執行
int row=stmt.executeUpdate(sql);
//處理結果
if(row==0){
System.out.println("修改失敗!");
}else{
System.out.println("修改成功!");
}
//關閉
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("驅動載入錯誤:"+e.getMessage());
} catch (SQLException e) {
System.out.println("資料庫操作錯誤:"+e.getMessage());
}

⑼ 用java插入mysql表格數據怎麼理

你都沒寫sql語句啊。String sql = "insert into news(title,content) values(?,?)"
PrepareStatement ps = new Preparestatement(sql);
ps.setString(1,"title123");
ps.setString(2,"content456");
ps.executeUpdate();
另外jdbc:mysql://192.168.1.189/"+ dbName +
dbName 改為test;
連接用完之後別忘記關閉。

⑽ java連接mysql插入數據問題

不報錯有可能是成功了,成功了你沒有提示的

熱點內容
微信qq音樂緩存 發布:2025-05-14 16:16:16 瀏覽:468
c語言回收內存 發布:2025-05-14 16:16:08 瀏覽:143
2021國產安卓頂級旗艦買哪個 發布:2025-05-14 16:15:36 瀏覽:300
linux自學視頻 發布:2025-05-14 16:14:49 瀏覽:255
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:44
android深拷貝 發布:2025-05-14 16:09:35 瀏覽:153
cf電腦版轉伺服器神器還在嗎 發布:2025-05-14 16:09:02 瀏覽:211
百度文庫伺服器如何搭建 發布:2025-05-14 16:09:00 瀏覽:248
安卓微信刪除的好友怎麼找回 發布:2025-05-14 16:08:56 瀏覽:706
iphone的訪問限制密碼忘記了怎麼辦 發布:2025-05-14 16:08:56 瀏覽:184