MySQL的update语法错误

这个语法应该怎么写,就是修改MySQL表格数据的命令,通过id

img

参考这个示例


import com.mysql.jdbc.Driver;
 
import java.sql.*;
 
public class JDBCDemo {
    public static void main(String[] args) throws Exception {
 
        //1 获取连接
        String url = "jdbc:mysql://IP:Port/db_name";
        String username = "username ";
        String password = "password ";
        Connection conn = DriverManager.getConnection(url, username, password);
 
        //2 sql 语句
        String sql = "select * from account where name=?";
        //3 获取执行sql的对象
        PreparedStatement stmt = conn.prepareStatement(sql);
        stmt.setString(1, "青云ing");
 
        //4 执行sql
        ResultSet rs = stmt.executeQuery();
 
        while (rs.next()) {
            System.out.println("-----------------");
            System.out.println("ID:" + rs.getInt("id") + " Name:" + rs.getString("name") + " Age:" + rs.getInt("age"));
        }
 
        //6 释放资源
        stmt.close();
        conn.close();
    }
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/974315
  • 这篇博客你也可以参考下:MySQL为已存在数据的表新增自增id字段
  • 你还可以看下mysql参考手册中的 MySQL 字符集、对齐方式、统一编码 选择一个整理ID
  • 除此之外, 这篇博客: MySQL知识点梳理 万字超详解中的 修改update 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    
    -- 将孙悟空同学的数学成绩变更为 80 分
    UPDATE exam_result SET math = 80 WHERE name = '孙悟空';
    -- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
    UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';
    -- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
    UPDATE exam_result SET math = math + 30 ORDER BY chinese + math + english LIMIT
    3;
    -- 将所有同学的语文成绩更新为原来的 2 倍
    UPDATE exam_result SET chinese = chinese * 2;
    

    update操作针对的是数据库硬盘里的数据 并不像上面的select显示的临时表

    -- update操作针对的数据修改  如果想要修改字段的名称之类的该如何修改
    alter table white_user change column name nick_name varchar(50) null
    -- 如果想要修改字段的数据类型 ,也是使用alter table
    alter table 表名 modify 字段名  新数据类型 ;
    
    image-20220307173233117 image-20220307173338905

    下图有两个注意的点:你update更新数据的时候,浮点数当时对数据进行了限制,此时你超过了限制就报错

    还有一个就是null值得是无法与数据类型进行计算 你可以直接修改null

    image-20220307174551056 image-20220307175251310
  • 以下回答来自chatgpt:

    根据参考资料提供的语法,修改数据的命令应该类似于:

    UPDATE 表名 SET 字段名1=值1,字段名2=值2... WHERE id=xxx;
    

    其中,表名为要修改数据的表名,字段名为要修改的列名,值为要修改的目标值,id为用于筛选出要修改的数据行的列名,xxx为具体的id值。

    具体的步骤如下:

    1. 打开MySQL命令行或客户端,连接到目标数据库。
    2. 确定要修改的数据表名和列名以及具体id值。
    3. 输入以下命令,将其替换成对应的参数:
    UPDATE 表名 SET 字段名1=值1,字段名2=值2... WHERE id=xxx;
    
    1. 执行该命令,等待修改结果。

    注意事项:

    • 在使用UPDATE命令修改数据之前,建议先使用SELECT语句查询要修改的数据,以确保在修改之前将数据排查清楚。
    • 如果有多个条件用于筛选要修改的数据,可以使用AND或OR等逻辑运算符连接多个条件。
    • 如果不确定要修改的具体id值,可以使用SELECT命令查询出id列的值列表,再通过查看数据确定要修改的id值。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^