zoukankan      html  css  js  c++  java
  • 一个非常标准的连接Mysql数据库的示例代码

    一.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实例代码

     1 package com.my.connect;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.PreparedStatement;
     6 import java.sql.ResultSet;
     7 import java.sql.ResultSetMetaData;
     8 import java.sql.SQLException;
     9 /**
    10  * 一个非常标准的连接Mysql数据库的示例代码
    11  */
    12 public class ConnectDB {
    13 
    14     public static void main(String[] args) {
    15         // TODO Auto-generated method stub
    16         Connection con = null;// 创建一个数据库连接
    17         PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
    18         ResultSet result = null;// 创建一个结果集对象
    19         ResultSetMetaData metaData = null;//创建一个表头信息对象
    20         try {
    21             // 加载Mysql驱动程序  ,oracle的: Class.forName("oracle.jdbc.driver.OracleDriver");
    22             //不知道可以打出Driver 看导入包的提示
    23             Class.forName("com.mysql.jdbc.Driver");
    24             String url = "jdbc:mysql://localhost:3306/studata";//localhost 为本级地址,studata为数据库名
    25             String userName = "root";
    26             String password = "root";
    27             con = DriverManager.getConnection(url, userName, password);// 获取连接
    28             
    29             System.out.println("数据库连接成功!");
    30             
    31             String sql = "select * from studata s where s.stuNo = ?";//预编译语句,?代表参数
    32             pre = con.prepareStatement(sql);// 实例化预编译语句
    33             pre.setInt(1, 10000);;// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
    34             result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
    35             metaData  = result.getMetaData();//获取表头信息
    36             while (result.next()) {
    37                  // 当结果集不为空时
    38                 System.out.println(metaData.getColumnName(1) + "  " + metaData.getColumnName(2));
    39 
    40                 System.out.println(result.getString("stuNo") + "  " + result.getString("stuName"));
    41             }
    42 
    43         } catch (Exception e) {
    44             // TODO Auto-generated catch block
    45             e.printStackTrace();
    46         } finally {
    47             // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
    48             // 注意关闭的顺序,最后使用的最先关闭
    49             if (result != null)
    50                 try {
    51                     result.close();
    52                     if (pre != null)
    53                         pre.close();
    54                     if (con != null)
    55                         con.close();
    56                     System.out.println("数据库连接已关闭!");
    57                 } catch (SQLException e) {
    58                     // TODO Auto-generated catch block
    59                     e.printStackTrace();
    60                 }
    61 
    62         }
    63 
    64     }
    65 
    66 }

    3.运行结果

    数据库连接成功!
    stuNo  stuName
    10000  赵军
    数据库连接已关闭!
  • 相关阅读:
    时间处理得到UTC时间
    java数据同步陷阱
    360公司2016笔试题
    YTU 1439: 2.4.5 Fractions to Decimals 分数化小数
    YTU 2422: C语言习题 n个数逆序
    YTU 2421: C语言习题 矩形法求定积分
    YTU 2427: C语言习题 整数排序
    YTU 2832: 使用指针访问数组元素--程序填空
    YTU 1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
    HDU 1069:Monkey and Banana
  • 原文地址:https://www.cnblogs.com/lukelook/p/8687096.html
Copyright © 2011-2022 走看看