阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL数据库连接代码实例解析

139次阅读
没有评论

共计 3050 个字符,预计需要花费 8 分钟才能阅读完成。

一.About MySQL

1.MySQL 优点 

  • 体积小、速度快、开放源码、免费
  • 一般中小型网站的开发都选择 MySQL,最流行的关系型数据库
  • LAMP / LNMP 
  • Linux作为操作系统
    • ApacheNginx 作为 Web 服务器
    • MySQL作为数据库
    • PHP作为服务器端脚本
    • 都是免费或开放源码软件,不用花一分钱就可以建立起一个稳定、免费的网站系统

 2. 登陆 MySQL

  • 登陆:mysql –h 主机名 -u 用户名 –p
  • 注销:quit;
  • 修改密码:mysqladmin –uroot –p 旧密码 password 新密码

3. 可视化工具

phpMyAdmin、MySQL-Front、MySQL Workbench、Navicat 等

4.sql 语句

  • 不区分大小写
  • 以分号结尾
  • 注释:
    • # 注释内容直到行尾
    • -- 注释内容直到行尾
    • /* 注释内容 */

5. 执行环境

  • Linux:mysql shell
  • Windows:Command Line Client
  • 可视化工具的 SQL 编辑器

6.where 条件

  • 比较运算符:=、>、<、>=、<=、!=、<>
  • 扩展运算符:is null、is not null、like、in、between
  • 逻辑运算符:and、or
  • 函数:count、sum、avg、max、min
  • 排序:order by
  • 分组:group by

7. 操作数据 

 

  • insert into 表名 values (值 1, 值 2, ...);
  • insert into 表名 (列名 1, 列名 2, ...) values (值 1, 值 2, ...);

 

  • 删除所有数据:delete from 表名;
  • 删除指定数据:delete from 表名 where 条件;

 

  • 更新所有数据:update 表名 set 列名 = 新值;
  • 更新指定数据:update 表名 set 列名 = 新值 where 条件;
  • 更新多列:update 表名 set 列名 1 = 值 1, 列名 2 = 值 2 [where 条件];
  • 更新为默认值:update 表名 set 列名 =default [where 条件];

 

  • 查询所有数据:select 列名 from 表名;
  • 查询指定数据:select 列名 from 表名 [where 条件];
  • 查询多个列:select 列名 1, 列名 2 from 表名 [where 条件];
  • 查询所有列:select * from 表名 [where 条件];
  • 指定别名:select 列名 as 别名 from 表明 [where 条件];
  • 查询唯一值:select distinct 列名 from 表名;

二. 示例代码

1.maven 依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-Java</artifactId>
            <version>5.0.2</version>
</dependency>

2 实例代码

package com.my.connect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
/**
 * 一个非常标准的连接 Mysql 数据库的示例代码
 */
public class ConnectDB {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Connection con = null;// 创建一个数据库连接
        PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用 Statement
        ResultSet result = null;// 创建一个结果集对象
        ResultSetMetaData metaData = null;// 创建一个表头信息对象
        try {
            // 加载 Mysql 驱动程序,Oracle 的:Class.forName(“oracle.jdbc.driver.OracleDriver”);
            // 不知道可以打出 Driver 看导入包的提示
            Class.forName(“com.mysql.jdbc.Driver”);
            String url = “jdbc:mysql://localhost:3306/studata”;//localhost 为本级地址,studata 为数据库名
            String userName = “root”;
            String password = “root”;
            con = DriverManager.getConnection(url, userName, password);// 获取连接
           
            System.out.println(“ 数据库连接成功!”);
           
            String sql = “select * from studata s where s.stuNo = ?”;// 预编译语句,? 代表参数
            pre = con.prepareStatement(sql);// 实例化预编译语句
            pre.setInt(1, 10000);;// 设置参数,前面的 1 表示参数的索引,而不是表中列名的索引
            result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
            metaData  = result.getMetaData();// 获取表头信息
            while (result.next()) {
                // 当结果集不为空时
                System.out.println(metaData.getColumnName(1) + ”  ” + metaData.getColumnName(2));

                System.out.println(result.getString(“stuNo”) + ”  ” + result.getString(“stuName”));
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
            // 注意关闭的顺序,最后使用的最先关闭
            if (result != null)
                try {
                    result.close();
                    if (pre != null)
                        pre.close();
                    if (con != null)
                        con.close();
                    System.out.println(“ 数据库连接已关闭!”);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

        }

    }

}

3. 运行结果

数据库连接成功!
stuNo  stuName
10000  linuxidc
数据库连接已关闭!

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3050字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中