数据库基础5

基本连接语句

法1 maven

教程 https://www.bilibili.com/video/BV1pw41147jm

导jar包 https://blog.youkuaiyun.com/qq_40893824/article/details/129118784

import java.sql.*;

public class test {

    public static void main(String[] args) throws SQLException {
        //用户信息和url
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root"; //数据库用户名
        String password = "123456";//数据库密码

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            //获取数据库连接
            connection = DriverManager.getConnection(url, username, password);//操作数据库
            statement = connection.createStatement();//获取操作数据库的对象
            String sql = "select * from EMP";
            resultSet = statement.executeQuery(sql);//执行sql,获取结果集

            while (resultSet.next()) {//遍历结果集,取出数据
                String name = resultSet.getString("name");
                String sex = resultSet.getString("sex");
                String age = resultSet.getString("age");//输出数据
                System.out.print("姓名:" + name);
                System.out.print("性别:" + sex);
                System.out.print("年龄" + age);

                System.out.println();
            }
            
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } finally {
            resultSet.close();
            statement.close();
            connection.close();
        }
    }
}

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>

法2 导入jar

project structure – modules – add jar

导jar包 https://blog.youkuaiyun.com/qq_40893824/article/details/129118784

下载 mysql jar包 https://dev.mysql.com/downloads/connector/j/?os=26


lib – jar

lib的位置可以在任何地方

project structure – libraries – add jar – add to modules


时间字段

法1
effective_end_date <= '2038-01-19T03:14:07,是最大的比较范围

法2
MySQL的TIMESTAMP类型本身不直接支持时区存储,但它会根据服务器配置自动转换时间戳。
MySQL 8.0开始引入了TIMESTAMP WITH TIME ZONE,在实际应用中,通过调整服务器 或 会话级别的时区设置 来处理时区问题。为了执行带有时区的范围查询,你可以这样做:

-- 设置会话时区到目标时区,例如 UTC
SET time_zone = '+00:00';

-- 然后执行范围查询
SELECT * FROM your_table
WHERE CONVERT_TZ(timestamp_column, @@session.time_zone, '+00:00') 
      BETWEEN '2023-01-01 00:00:00' AND '2023-12-31 23:59:59';

@@session.time_zone 是 MySQL 中的一个系统变量,它表示当前会话的时区设置

CONVERT_TZ(dt, from_tz, to_tz)
dt: 这是要转换的时间戳值。它可以是一个日期时间表达式、字符串,或者一个 DATE, DATETIME, 或 TIMESTAMP 类型的列。
from_tz: 这是源时间戳所在的时区。可以是固定偏移(如 ‘+10:00’)或命名时区(如 ‘Europe/Paris’)。
to_tz: 这是目标时区,即你想要将时间戳转换到的时区。与 from_tz 一样,它可以是固定偏移或命名时区

数据库报错

1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误
1025:更改名字时发生错误
1026:写文件错误
1032:记录不存在
1036:数据表是只读的,不能对它进行修改
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在
1054:字段不存在
1062:字段值重复,入库失败
1065:无效的SQL语句,SQL语句为空
1081:不能建立Socket连接
1114:数据表已满,不能容纳任何记录
1116:打开的数据表太多
1129:数据库出现异常,请重启数据库
1130:连接数据库失败,没有连接数据库的权限
1133:数据库用户不存在
1141:当前用户无权访问数据库
1142:当前用户无权访问数据表
1143:当前用户无权访问数据表中的字段
1146:数据表不存在
1147:未定义用户对数据表的访问权限
1149:SQL语句语法错误
1158:网络错误,出现读错误,请检查网络连接状况
1159:网络错误,读超时,请检查网络连接状况
1160:网络错误,出现写错误,请检查网络连接状况
1161:网络错误,写超时,请检查网络连接状况
1169:字段值重复,更新记录失败
1177:打开数据表失败
1180:提交事务失败
1181:回滚事务失败
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205:加锁超时
1211:当前用户没有创建用户的权限
1216:外键约束检查失败,更新子表记录失败
1217:外键约束检查失败,删除或修改主表记录失败
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227:权限不足,您无权进行此操作
1235:MySQL版本过低,不具有本功能
1250:客户端不支持服务器要求的认证协议,请考虑升级客户端。
1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误
1025:更改名字时发生错误
1026:写文件错误
1032:记录不存在
1036:数据表是只读的,不能对它进行修改
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在
1054:字段不存在
1065:无效的SQL语句,SQL语句为空
1081:不能建立Socket连接
1114:数据表已满,不能容纳任何记录
1116:打开的数据表太多
1129:数据库出现异常,请重启数据库
1130:连接数据库失败,没有连接数据库的权限
1133:数据库用户不存在
1141:当前用户无权访问数据库
1142:当前用户无权访问数据表
1143:当前用户无权访问数据表中的字段
1146:数据表不存在
1147:未定义用户对数据表的访问权限
1149:SQL语句语法错误
1158:网络错误,出现读错误,请检查网络连接状况
1159:网络错误,读超时,请检查网络连接状况
1160:网络错误,出现写错误,请检查网络连接状况
1161:网络错误,写超时,请检查网络连接状况
1062:字段值重复,入库失败
1169:字段值重复,更新记录失败
1177:打开数据表失败
1180:提交事务失败
1181:回滚事务失败
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205:加锁超时
1211:当前用户没有创建用户的权限
1216:外键约束检查失败,更新子表记录失败
1217:外键约束检查失败,删除或修改主表记录失败
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227:权限不足,您无权进行此操作
1235:MySQL版本过低,不具有本功能
1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。
1044错误:数据库用户权限不足,请联系空间商解决
1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
1146错误:数据表缺失,请恢复备份数据.
2002错误:服务器端口不对,请咨询空间商正确的端口。
2003错误:mysql服务没有启动,请启动该服务

分库分表

分库分表 输出执行的sql
spring.shardingsphere.props.sql-show = true

分表 数据库统计

来源 https://blog.youkuaiyun.com/csu_passer/article/details/86652927

SELECT sum(c) from (
  select count(*) as c from table1
  UNION ALL
  select count(*) as c from table2
  UNION ALL
  select count(*) as c from table3
  UNION ALL
  select count(*) as c from table4
) as total
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1403034144

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值