MySQL基础,新增、查询

添加数据

我们使用了Java的JDBC API来连接MySQL数据库,并执行了一次插入操作。具体来说,我们首先通过Class.forName()方法加载MySQL的JDBC驱动,然后使用DriverManager.getConnection()方法建立与MySQL数据库的连接。接着,我们创建了一个预编译SQL语句对象,并通过setString()方法设置了预编译SQL语句中的参数值。最后,我们调用了executeUpdate()方法执行插入操作,并在控制台输出了一条成功信息。

// 导入Java SQL包
import java.sql.*;

public class Example {
    public static void main(String[] args) {
        Connection conn = null; // 声明数据库连接对象
        PreparedStatement pstmt = null; // 声明预编译语句对象
        ResultSet rs = null; // 声明结果集对象
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 建立与MySQL数据库的连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
            // 创建预编译SQL语句对象
            pstmt = conn.prepareStatement("INSERT INTO student (name, sex, age, achievement, ranking, id) VALUES (?, ?, ?, ?, ?, ?)");
            // 设置预编译SQL语句中的参数值
            pstmt.setString(1, "小明");
            pstmt.setString(2, "男");
            pstmt.setInt(3, 20);
            pstmt.setInt(4, 70);
            pstmt.setInt(5, 20);
            pstmt.setString(6, ""); // id为自增长字段,可以设置为空字符串
            // 执行插入操作
            pstmt.executeUpdate();
            System.out.println("数据插入成功!");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (rs != null) {
                    rs.close();
                }
                if (pstmt != null) {
                    pstmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

简单查询

  • 查询表中所有数据:

SELECT * FROM 表名称;

  • 查询指定列数据:

SELECT code, name FROM 表名称;

  • 给列指定别名:

SELECT code AS '代号', name AS '姓名' FROM 表名称;

a2: 条件查询

  • 查某一行

SELECT * FROM 表名 WHERE code = '指定代码';

  • 表示并列的多条件查询:

SELECT * FROM 表名 WHERE sex = 'true' AND nation = '指定值';

  • 多条件或的关系查询:

SELECT * FROM 表名 WHERE sex = 'true' OR nation = '指定值';

a3: 范围查询

  • 查询指定范围内的数据:

SELECT * FROM 表名 WHERE 列名 > 40 AND 列名 < 50;

  • 查询指定范围内的数据(专用于范围查询):

SELECT * FROM 表名 WHERE 列名 BETWEEN 40 AND 50;

a4: 离散查询

  • 查询包含指定值的数据:

SELECT * FROM 表名 WHERE 列名 IN ('值1', '值2', '值3');

  • 查询不包含指定值的数据:

SELECT * FROM 表名 WHERE 列名 NOT IN ('值1', '值2', '值3');

a5: 模糊查询

  • 查询以指定字符串开头的数据:

SELECT * FROM 表名 WHERE 列名 LIKE '%值%';

  • 查询以指定字符串结尾的数据:

SELECT * FROM 表名 WHERE 列名 LIKE '值%';

  • 查询以指定字符串结尾的数据:

SELECT * FROM 表名 WHERE 列名 LIKE '%值';

  • 查询等于指定字符串的数据:

SELECT * FROM 表名 WHERE 列名 LIKE '值';

  • 查询第三个字符是指定字符的数据:

SELECT * FROM 表名 WHERE 列名 LIKE '--E';

a6: 排序查询

  • 默认升序排序:

SELECT * FROM 表名 ORDER BY 列名;

  • 降序排列:

SELECT * FROM 表名 ORDER BY 列名 DESC;

  • 多个条件排序:

SELECT * FROM 表名 ORDER BY 列名 DESC, 列名 ASC;

a7: 分页查询

  • 查询前5条数据:

SELECT * FROM 表名 LIMIT 5;

  • 查询前5条数据(去重):

SELECT DISTINCT * FROM 表名 LIMIT 5;

a8: 去重查询(去掉重复的)

  • 查询去重后的数据:

SELECT DISTINCT 列名 FROM 表名;

a9: 分组查询

  • 根据某一列分组,并统计每一组的数量:

SELECT Brand, COUNT(*) FROM 表名 GROUP BY Brand HAVING COUNT(*) > 2;

a10: 聚合函数(统计查询)

  • 查询所有数据条数(每一列的):

SELECT COUNT(*) FROM 表名;

  • 查询指定列的所有数据条数(执行快):

SELECT COUNT(列名主键) FROM 表名;

  • 求和:

SELECT SUM(列名) FROM 表名;

  • 求平均值:

SELECT AVG(列名) FROM 表名;

  • 求最大值:

SELECT MAX(列名) FROM 表名;

  • 求最小值:

SELECT MIN(列名) FROM 表名;

注意:'这个是单引号', `这个是~符号`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值