java连接MySQL

相关资源及教程:

(1条消息) 2020mysql安装教程_详解2021MySQL安装(图文教程)_weixin_39866265的博客-优快云博客

(1条消息) SQLyog12.08安装详细教程_marcushbs的博客-优快云博客

(1条消息) 用SQLyog连接出现2058错误时处理方法_你的天空阅读专栏-优快云博客_sqlyog错误2058

mysql-connector-java-8.0.11资源

链接:https://pan.baidu.com/s/1QdNmjFwiJb-9g9bH2TMCiA 
提取码:i46g 
 

以上内容全部亲测有效,感谢这些大佬的分享.

 

java连接数据库

1.导入jar包,在项目内创建libs目录,将jar包复制到libs目录下
在idea内右键libs目录选择 Add As Library

(加一步,创建jdbc连接类,写上main方法,以下代码都写在main方法中。如果有异常,在测试中直接抛出,具体些业务可以考虑try_catch)

2.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");

 

3.获取连接对象
Connection con = DriverManager.getConnection( "jdbc:mysql://IP地址:端口号/数据库名称?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT"
        ,账号,密码);

 

4.获取执行SQL的对象
Statement state = con.createStatement();

 

5.定义SQL语句

String str = "select * from 表格名称";

 

6.执行SQL语句

ResultSet resultSet = state.executeQuery(str);

 

7.返回结果操作

while (resultSet.next())

{

System.out.println("id: " + resultSet.getString(字段1)

+ " name: " + resultSet.getString(字段2) + " score: "

+ resultSet.getString(字段3) + " class: "

+ resultSet.getString(字段4));

}

更具实际情况打印,字段是String格式

 

8.释放资源
state.close();
con.close();

 

package Demo;

//数据库连接
//增删改查都已经测试过了
//语法上好像要求比SQLserver严格,注意细节。
//注意:查询一张表的信息就打印一次,不要连续查询两次,这样容易报错
/*例:
        查询1
        查询2
        输出1
        输出2
*/
//以上写法报错,改为:
/*
        查询1
        输出1
        查询2
        输出2
 */



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Demo {

    public static void main(String[] args) throws Exception {

        //1.导入jar包,在项目内创建libs目录,将jar包复制到libs目录下
        //在idea内右键libs目录选择 Add As Library

        //2.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //3.获取连接对象
        Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT"
                ,"root","root");

        //4.定义SQL语句
        String str1 = "update student set score = score + 20 where id = '002'";
        String str2 = "select * from student";
        String str3 = "create table teacher (class varchar(20), name varchar(20), count int)";
        String str4 = "insert into teacher value ('计科1901', '李xx', '34')";
        String str5 = "insert into teacher value ('电商1802', '刘x', '48')";
        String str6 = "insert into teacher value ('物联网1703', 'fuck off', '54')";
        String str7 = "insert into teacher value ('法学1802', 'Mr.fucking', '63')";
        String str8 = "delete from student where id = '002'";
        String str9 = "insert into student value ('004', 'ddd', 66, '法学1802')";
        String str10 = "insert into student value ('005', 'eee', 56, '英语1902')";
        String str11 = "insert into student value ('002', 'bbb', 36, '电商1802')";
        String str12 = "select * from student inner join teacher on student.class = teacher.class";

        //5.获取执行SQL的对象
        Statement state = con.createStatement();

        //6.执行SQL语句
        //int count = state.executeUpdate(str1);

        //state.execute(str3);
        //state.execute(str4);
        //state.execute(str5);
        //state.execute(str6);
        //state.execute(str7);
        //state.execute(str8);
        //state.execute(str9);
        //state.execute(str10);
        //state.execute(str11);
        ResultSet resultSet1 = state.executeQuery(str2);


        //打印返回值
        //System.out.println(count);
        //System.out.println(resultSet);

        //读取结果集,必须读完
        while (resultSet1.next()){
            System.out.println("id: " + resultSet1.getString("id") + " name: "
                    + resultSet1.getString("name") + " score: "
                    + resultSet1.getString("score") + " class: "
                    + resultSet1.getString("class"));
        }

        //多表连接查询
        ResultSet resultSet2 = state.executeQuery(str12);

        while (resultSet2.next()){
            System.out.println("class: " + resultSet2.getString("student.class")
                    + " sName: " + resultSet2.getString("student.name")
                    + " tName: " + resultSet2.getString("teacher.name"));
        }


        //7.释放资源
        state.close();
        con.close();
    }

}

 

1.删除数据库

DROP DATABASE 数据库名称

 

2.创建数据库

CREATE  DATABASE  数据库名称

(创建了数据库后,需要使用数据库  :use 数据库名称 )

 

3.创建表格(设置主键自增)

CREATE TABLE 表格名称 (
      id INT AUTO_INCREMENT,
      PRIMARY KEY (id),
      na VARCHAR (20),
      phone VARCHAR (20),
      address VARCHAR (50)
    )

红色部分是设置 id 为主键,并且添加自增,如不需要可以修改为

只要主键:

id INT,

PRIMARY KEY (id),

注:需要自增必须设置为主键

若设置主键自增,再不想输入主键的情况下, 插入数据时要在 value 前面选择插入 列 ,里面不要写主键

 

4.删除表格

DROP TABLE 表格名称

 

5.从数据库中统计表格数量

SELECT COUNT(*) AS cou FROM information_schema.`TABLES` WHERE table_schema = ' 数据库名称 '

//查询具体的表

SELECT COUNT(*) AS cou FROM information_schema.`TABLES` WHERE table_schema = ' 数据库名称 ' AND table_name =  ' 表格名称 '

//打印表名称

SELECT table_name AS cou FROM information_schema.`TABLES` WHERE table_schema = ' 数据库名称 ' AND ( table_name = ' 表格名称1 ' OR table_name = ' 表格名称2 ')

 

6.其他的增删改查操作请参考  数据库课程

例:

update

delete

insert

select

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值