- MSQL的基本操作与使用
1.MySQL解压版的安装
解压mysql-8.0.11-winx64.zip
设置数据存放的目录:
basedir=C:\Mysql\mysql-8.0.11-winx64
datadir=C:\Mysql\mysql-8.0.11-winx64\data
用管理员账号打开cmd,然后,找到C:\Program Files\Mysql\mysql-8.0.11-winx64\bin下输入:mysqld -install,成功后,启动服务net start mysql
出现错误:
解决办法:
找到C:\Program Files\Mysql\mysql-8.0.11-winx64\bin下,输入命令mysqld --initialize-insecure;
在输入启动服务net start mysql,成功。
登陆 MySQL 数据库, 输入命令mysql -u root -p
2.mysql的一些基本操作
建立数据库,数据表,往表中插入记录,删除数据库
- sts连接mysql数据库
- MySQL中建立数据库——建立表——添加数据信息。
创建数据库mysqll,数据表table_1
下面为数据表的信息描述,输入desc table_1
为数据表插入信息:
2.mysql与eclipse建立连接。
需要工具jar包:jdbc驱动jar文件,mysql-connector-java-8.0.11.jar文件
jdbc驱动用法:
/*
* Driver 是一个接口:数据库厂商必须实现的接口,能从其中获取数据库连接
* 1.首先加入mysql驱动,即mysql的jar包
* 1).打开eclipse.。
* 2).在工程当前目录下新建lib包,把jar包复制粘贴到这个目录下。
* 3).把jar包右键Bulid path,add to bulid path添加到类路径下
*/
3.测试连接是否成功。
新建一个测试类 JdbcTest1
package com.yiibai;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.Connection;
import com.mysql.cj.jdbc.Driver;
public class JdbcTest1 {
/**
* @throws SQLException
* JDBC测试类
* Driver 是一个接口:数据库厂商必须实现的接口,能从其中获取数据库连接
* 1.首先加入mysql驱动,即mysql的jar包
* 1).打开eclipse.。
* 2).在工程当前目录下新建lib包,把jar包复制粘贴到这个目录下。
* 3).把jar包右键Bulid path,add to bulid path添加到类路径下
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
//1.创建一个Driver实现类的对象
Driver driver =new com.mysql.cj.jdbc.Driver();
//2.准备连接数据库的基本信息
String url="jdbc:mysql://localhost:3306/mysqll?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";
Properties info =new Properties();
info.put("user", "root");
info.put("password", "");
//3.调用Driver接口的connect(url,info)获取数据库连接。
Connection conn = (Connection) driver.connect(url, info);
System.out.println(conn);
}
}
运行上述代码
控制台输出:com.mysql.jdbc.Connection@fe6707,即为建立连接成功.
还有一个测试方法,可以从MySQL数据库的表里取之前存储的数据。
新建一个测试类 JdbcTest2
package com.yiibai;
import com.mysql.cj.jdbc.Driver;
import java.sql.Statement;
import java.util.Properties;
import java.sql.Connection;
import java.sql.ResultSet;
public class JdbcTest2 {
public static void main(String[] args){
try{
Class.forName("com.mysql.jdbc.Driver");//加载MySQL JDBC驱动程序
//Class.forName("org.git.mm.mysql.Driver");
System.out.println("成功加载Mysql驱动程序!");
}
catch(Exception e){
System.out.println("Mysql驱动加载错误!");
e.printStackTrace();
}
try{
Driver driver =new com.mysql.cj.jdbc.Driver();
String url="jdbc:mysql://localhost:3306/mysqll?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";
Properties info =new Properties();
info.put("user", "root");
info.put("password", "");
Connection conn = (Connection) driver.connect(url, info);
System.out.println("成功连接Mysql服务器!");
Statement stmt = conn.createStatement();
ResultSet rs = (ResultSet) stmt.executeQuery("select * from table_1");
//table_1 为你在MySQL数据库中创建的-表的名称
while(rs.next()){
System.out.println(rs.getString("ID")); //取MySQL数据库中table_1表中的ID
System.out.println(rs.getString("Summary")); //取MySQL数据库中table_1表中的Summary
}
}
catch(Exception e){
System.out.println("获取数据错误!");
e.printStackTrace();
}
}
}
运行上述代码
4.出现错误:
(1)
解决办法:
Jdbc连接mysql中的url后面加上useSSL=false与allowPublicKeyRetrieval=true"即可解决问题.
(2)
出错原因:出现这个的原因是因为 mysql返回的时间总是有问题,比实际时间要早8小时。
解决办法:在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8。
(3)正确的url设置为:
String url="jdbc:mysql://localhost:3306/mysqll?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";