美文网首页
MySQL数据库与jdbc入门

MySQL数据库与jdbc入门

作者: guanalex | 来源:发表于2017-10-21 11:49 被阅读36次
    为什么不用文件去存储数据?

    在没有接触数据库之前,或多或少总会有些疑惑,存储数据为什么不用文件去存储而是用数据库去存储?因为数据库存储数据是按照一定的规则去存储这些数据,既保证了数据的完整性和有效性,最重要的是保证了数据查询的快速。这就是为什选择用数据库去存储数据的一个原因了。

    MySQL的安装

    对于刚入门来说,可能安装一个数据库就得折腾好久,特别是用MIS包直装的,因为装到一半时就一直跳不过去。所以我采用了zip压缩包来安装。
    首先我们去官网下载zip安装包,可以安装在任意一个系统盘,本人习惯安装在D盘下面,因此在d盘下面新建了个mysql文件夹存放mysql的解压文件。目录结构:D:\mysql\mysql-5.6.33-winx64。如果直接运行目录D:\mysql\mysql-5.6.33-winx64\bin下的mysql.exe文件,然后弹出一个框,闪了一下就不见了,原因是还没有安装mysql服务呢,目前为止只是把压缩包下载下来然后解压到相应目录中。
    1、配置my.ini文件。
    在D:\mysql\mysql-5.6.33-winx64\(注意这个目录要和你自己的目录,我这里下载的是5.6版本,要是你下载的是5.5版本,这个目录是不一样的)目录下新建一个配置文件,文件名叫my.ini,然后把下面的配置代码复制到在my.ini,代码中的路径要改成自己的文件存放路径。

       [mysql]
      # 设置mysql客户端默认字符集
       default-character-set=utf8 
       [mysqld]
      #设置3306端口
      port = 3306 
        # 设置mysql的安装目录
      basedir=D:\mysql\mysql-5.6.33-winx64
        # 设置mysql数据库的数据的存放目录
      datadir=D:\mysql\mysql-5.6.33-winx64\data
        # 允许最大连接数
        max_connections=200
      # 服务端使用的字符集默认为8比特编码的latin1字符集
      character-set-server=utf8
      # 创建新表时将使用的默认存储引擎
      default-storage-engine=INNODB
    

    主要是更改basedir= 和datadir= 这两处。完了之后以管理员身份运行C:\Windows\System32目录下找到这个cmd.exe,注意一定要以管理员身份运行,不然不能安装成功的。以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,再输入mysqld install回车运行就行了,注意是是mysqld,不是mysql。安装成功了会在cmd界面显示service successful install,表明安装成功。

    接下来就是进入服务器了,打开cmd界面,然后输入mysql -uroot -p按回车键即可进入,通过zip包安装的是没有密码的。下面是一些如何去操作数据库的指令

    创建一个名称为mydb1的数据库,如果有mydb1数据库则直接使用,如果无则创建mydb1数据库
          create database if not exists mydb1;
    
     创建一个使用UTF8字符集的mydb2数据库,注意这里不是UTF-8
        create database if not exists mydb2 character set UTF8;
    
     创建一个使用UTF8字符集,并带校对规则的mydb3数据库
     create database if not exists mydb3 character set UTF8 collate           utf8_general_ci;
     查看当前数据库服务器中的所有数据库
     show databases;
    
      查看前面创建的mydb1数据库的定义信息
      show create database mydb1;
    
      删除前面创建的mydb1数据库,如果有mydb1则删除
      drop database if exists mydb1;
    
      使用mydb2数据库
      use mydb2
      查看数据库服务器中的数据库,并把其中mydb3库的字符集修改为GBK
      alter database mydb3 character set GBK;
    

    数据库的其他操作和增删改查就得去查看资料了,这里不做过多说明。

    JDBC

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。简单的说就是建立程序与数据库连接的一部分。

    JDBC开发步骤
    1、通过反射注册数据库驱动
    2、获取驱动指向数据库连接
    3 、创建封装SQL语句的对象
    4 、执行SQL语句
    5、处理SQL语句返回的结果集
    6 、依次由轻到重关闭用过的连接对象

    注册驱动

    在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机)。

     DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    

    DriverManager类的registerDriver()方法的参数是java.sql.Driver,但java.sql.Driver是一个接口,实现类由mysql驱动来提供,mysql驱动中的java.sql.Driver接口的实现类为com.mysql.jdbc.Driver!

    连接数据库
     Connection     con=DriverManager.getConnection(url,username,password)
    

    其中username和password是登录数据库的用户名和密码,如mysql数据库的用户名和密码分别是:root、123。我们创建string对象url 和username与password等。例如:

        String url ="jdbc:mysql://127.0.0.1:3306/guan";
        String user="root";
        String password="123456";
        String sql ="select none,name from guan";
    

    url的格式由三部分组成,每个部分中间使用逗号分隔。
    jdbc,这是一个主协议;mysql是要连接数据库的子协议,不同的数据库子协议不同,这里用的是mysql数据库。//127.0.0.1是数据库服务器的所在的地址,这里使用的是本机地址,3306为数据库端口,/guan表示要连接的数据库。

    创建连接对象
    Statement stmt = con.createStatement();
    

    Statement是用来向数据库发送要执行的SQL语句的!

    执行数据库查询语句
      String sql = “select * from guan”;
      ResultSet rs = stmt.executeQuery(sql);
    

    这条语句将会返回一个结果集。

    处理结果集
        while(rs.next()){
            //以行为单位,获取每个字段的值
            int id =rs.getInt("none");
            String  name =rs.getString("name");
            System.out.println(id+"\t"+name);   
        }
    

    调用rs对象的next()方法,改方法以行为单位,进行一行行读取,如果有值,则返回true,否则返回false。

    关闭创建对象
      rs.close();
      stmt.close();
      con.close();
    

    使用完这些对象之后,对这些对象轻重级进行一次关闭。

    相关文章

      网友评论

          本文标题:MySQL数据库与jdbc入门

          本文链接:https://www.haomeiwen.com/subject/njxiuxtx.html