1.前期准备

1.1软件需求

mysql8.0

Connector/J 8.0.31

workbench(懒得放链接自行百度吧)

一定不要下5.5或更低版本的,我折磨了宝贵的一上午,低版本bug很多,电脑win10 32位的只能cmd链接,放在workbench等等无法链接。

另外,我的链接是msi版本,如果用zip的话还要自己配置ini文本,容易出问题,具体不再阐述,总之这个博文是一个花了一天时间在黑暗中摸索出来的。

2.指令/快捷键

2.1cmd

mysql -u root -p cmd下用root用户进入mysql

首次使用该指令要配置path变量

在此电脑->管理->高级设置->配置变量

然后在path里加入你安装的mysql的bin文件目录

就可以在cmd中进入mysql了

2.2mysql

注意一一对应关系

database->table

先打开database,再打开table,table才是表

create database 数据库名 创建一个数据库

drop database 数据库名删除该数据库

show databases展示所有的数据库,有三个不能删除

use 数据库名打开数据库

desc 表名;展示表内的数据

select database()# 查看当前打开的数据库

id int not null primary key auto_increment,//id是跟着录入数据而自增的
stuno varchar(20) not null,
name varchar(20) not null,
gender varchar(1) not null,
age int,
birthdate date,
major varchar(20));//use进入数据库后在该表下创建student表

insert into students(stuno,name,gender,birthdate,major,age) values('201010001', 'zhangsan', 'm', '1992-10-01','cs',25);插入数据

注意每段代码后面都要带引号。

3.Connector导入

3.1netbeans的导入



点击services右键databases



点击这个

点击add,导入你下载的Connector jar包。

选择导入的数据,还有root和密码等等,就导入完成了。如果出错可能是url出错了。

3.2eclipse导入

右键点击项目,新建lib目录(Folder),将对应jar拷贝进该目录。注意:是右键点击"项目",而不是点击"src"。

右键点击项目->Properties->Build Path->Configure Build Path->选择"Libraries"->点击"Add JARs"将刚才的jar文件添加进来。

注意:Java 11下需在module-info.java中添加requires java.sql;

4.数据类型转换

MySQL数据类型与Java数据类型的转换

MySQL中的varchar、char对应Java的String

date类型对应java.sql.Date

5.URL

在一个java程序中,如果需要关联到数据库,则需要一个URL

5.1URL格式

格式如下

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=true

3306是端口号

test是数据库(database)的名称

useUnicode=truetrue表示使用unicode编码

zeroDateTimeBehavior=convertToNull&useSSL=true这是关于一个时间戳的内容,先留个白,如果有错误,请尝试替换这一段为serverTimezone=Asia/Chongqing

-在JDBC连接串中有一项属性:zeroDateTimeBehavior,可以用来配置出现这种情况时的处理策略,该属性有下列三个属性值:

l exception:默认值,即抛出SQL state [S1009]. Cannot convert value....的异常;

l convertToNull:将日期转换成NULL值;

l round:替换成最近的日期即0001-01-01;

因此对于这类异常,可以考虑通过修改连接串,附加zeroDateTimeBehavior=convertToNull属性的方式予以规避,例如:

jdbc:mysql://localhost:3306/mydbname?zeroDateTimeBehavior=convertToNull

   从另一个层面讲,这类异常的触发也与timestamp赋值的操作有关,如果能够在设计阶段和记录写入阶段做好逻辑判断,避免写入 '0000-00-00 00:00:00'这类值,那么也可以避免出现 Cannot convert value '0000-00-00 00:00:00' from column N to TIMESTAMP的错 误。

useSSL=true:使用JDBC跟你的数据库连接的时候,你的JDBC版本与MySQL版本不兼容,MySQL的版本更高一些,在连接语句后加上“useSSL=‘true’” ,就可以连接到数据库了。

引用

6 Java.sql包

MySQL学习日志(建设中)的更多相关文章

  1. U-Learning 后端开发日志(建设中...)

    目录 U-Learning--基于泛在学习的教学系统 项目背景 技术栈 框架 中间件 插件 里程碑 CentOS 7搭建JAVA开发环境 接口参数校验(不使用hibernate-validator,规 ...

  2. MySQL学习笔记(六)MySQL8.0 配置笔记

    今天把数据库配置文件修改了,结果重启不了了 需要使用 mysqld --initialize 或 mysqld --initialize-insecure 命令来初始化数据库 1.mysqld --i ...

  3. MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置(5.6优化、错误日志、DNS解决)

    目录 第一部分.5.6安装.配置.自动备份 第二部分.5.7源码安装.配置.自动备份 第一部分.5.6安装 1.安装mysql sudo apt-get install mysql-server su ...

  4. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. 别人的的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  6. 我的MYSQL学习心得 mysql日志

    这一篇<我的MYSQL学习心得(十五)>将会讲解MYSQL的日志 MYSQL里的日志主要分为4类,使用这些日志文件,可以查看MYSQL内部发生的事情. 分别是 1.错误日志:记录mysql ...

  7. MySQl Study学习之--MySQl二进制日志管理

    MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log)   a.它包括的内容及作用例如以下:     包括了全部更新了数据或者已经潜在更新了数据(比方没 ...

  8. 学习了解PHP中的SeasLog日志扩展

    今天来学习的扩展是和日志相关的一个扩展,对于 PHP 的日志应用来说,除了本身自带的 error_log() . syslog() 之外,在大多数的框架中还会经常见到 monolog 的踪影.当然,我 ...

  9. MySQL学习笔记十:日志管理

    1.错误日志文件 MySQL的错误日志文件记录错误信息,还会记录mysqld进程的关闭和启动的信息,但也不是什么错误信息都会记录,只记录mysqld进程运行过程中发生的关键性错误. 错误日志的启动,可 ...

  10. MYSQL学习笔记3--mysql 2PC二阶段协义 与 日志闪回

    mysql两份日志: binlog :server innodb redo log:engine 两份日志顺序一致性:否则主备不一致 两份日志:原子性,同时都有,同时都无 2PC二阶段协义: 第一阶段 ...

随机推荐

  1. 生物标记钙卫蛋白在RA诊疗中的应用研究

    标签: 类风湿关节炎; 预测因子; 钙卫蛋白; S100A9 [文献摘记]生物标记钙卫蛋白在RA诊疗中的应用研究 电邮发布日期:2016年4月20日 不断提升精确度和应用范围的组学技术正在帮助包括类风 ...

  2. gmlib密码算法库

    gmlib密码算法库 一.gmlib密码算法库简介 支持国密 SM4/AES-ECB/CBC/GCM,SM3,SM2签名/加密,ZUC算法 的密码库,文档页面GMLib Docs ,项目地址 gmli ...

  3. Truenas core 13连接LDAP,获取AD域用户及自动分配权限---chatGPT回复,未做证实

    要在TrueNAS Core 13上连接LDAP并从AD域中获取用户,请按照以下步骤操作: 在TrueNAS Core 13上登录到WebUI. 转到"网络"菜单并选择" ...

  4. yak远程服务端搭

    前言 yak有本地模式和远端模式,本地模式是yakit客户端和核心引擎服务都在一台机器上,比如你自己的电脑 远端模式是将yak核心引擎部署到远端服务器,比如阿里云.腾讯云等 yakit只作为客户端,所 ...

  5. JS下载单个图片、单个视频;批量下载图片,批量下载视频

    下载单张图片 import JSZip from "jszip"; import FileSaver from "file-saver"; downloadIa ...

  6. centos7.8GPU服务器搭建

    首先官方文档有cuda驱动和toolkit和Linux内核本,gcc版本的对应关系,其中也有一些安装过程可参考: https://developer.nvidia.com/cuda-toolkit-a ...

  7. python 读取xls文件

    import xlrdfrom xlrd import xldate_as_tuplefrom IPScriptUtil import *from serverTest import *import ...

  8. 正则过滤http|https地址

    let reg = /(\w+):\/\/([^/:]+)(:\d*)?/; let s = http.match(reg); let s1 = http1.match(reg); console.l ...

  9. VMvare虚拟机的安装及新建虚拟机(一)

    a:hover { color: rgba(255, 102, 0, 1) } 一.VMvare虚拟机的安装 1.首先双击--你下载的安装包,这里我分享百度云盘,供大家下载:http://pan.ba ...

  10. mysql创建存储过程造数据

    delimiter $$$ DROP PROCEDURE zqtest6; create procedure zqtest6() begin declare i int default 0; set ...