一个非常标准的连接Mysql数据库的示例代码
一.About Mysql
1.Mysql 优点
体积小、速度快、开放源码、免费
一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库
LAMP / LNMP
Linux作为操作系统
Apache或Nginx作为 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 赵军
数据库连接已关闭!
一个非常标准的连接Mysql数据库的示例代码的更多相关文章
- JDBC连接MySQL数据库的示例代码
虽然老调,但有时也需要用一下,从网上找的原型修改了下放这. import java.sql.Connection; import java.sql.DriverManager; import java ...
- 一个非常标准的Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...
- Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径 ->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择 “D:\Oracle\ap ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- [技术博客]django连接mysql数据库的方法及部分问题的解决方法
配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...
- python 连接Mysql数据库
1.下载http://dev.mysql.com/downloads/connector/python/ 由于Python安装的是3.4,所以需要下载下面的mysql-connector-python ...
- Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
随机推荐
- 从Git到GitHub,详细教程
众所周知,一个稍微有点规模的项目,都不可能是一个人单打独斗完成的(能完成的大神别打我),所以,一个高效的项目团队就需要一个NB的工具来进行有效的交流(曾经有人问我企鹅不就可以吗,我竟无言以对),今天就 ...
- centos 7 安装VCL播放器
centos 自带播放器MP4都无法播放,因此安装VCL播放器 安装epel和remi的repository sudo yum localinstall --nogpgcheck http://dl. ...
- Codeforces Round #432 (Div. 1) B. Arpa and a list of numbers
qtmd的复习pat,老子不想看了,还不如练几道cf 这题首先可以很容易想到讨论最后的共因子为素数 这个素数太多了,1-1e6之间的素数 复杂度爆炸 所以使用了前缀和,对于每个素数k的每个小区间 (k ...
- iOS - EaseMob 环信的使用
1.环信 环信使用的是 XMPP 协议,它是在 XMPP 的基础上进行的二次开发,对服务器 Openfire 和客户端进行功能模型的添加和客户端 SDK 的封装.环信的本质还是使用 XMPP,基于 S ...
- select选中获取索引三种写法
$('#someId').prop('selectedIndex'); $('option:selected', '#someId').index(); $('#someId option').ind ...
- [SCOI2008]斜堆
题目大意 1.题目描述 斜堆(skew heap)是一种常用的数据结构. 它也是二叉树,且满足与二叉堆相同的堆性质: 每个非根结点的值都比它父亲大.因此在整棵斜堆中,根的值最小. . 但斜堆不必是平衡 ...
- 【BZOJ1087】【SCOI2005】互不侵犯(状态压缩,动态规划)
题面 这种傻逼题懒得粘贴了... 题解 傻逼题 \(f[i][j][k]\)表示当前第\(i\)列,当前放置状态为\(j\),已经放了\(k\)个 暴力判断状态合法性,暴力判断转移合法性,然后统计答案 ...
- [SCOI2010]股票交易
题目大意: 网址:https://www.luogu.org/problemnew/show/P2569 大意:在接下来的T天中,每天股票有一个买入价格Api与卖出价格Bpi. 同时,每天买入股票数与 ...
- [Baltic2004]数字序列
原题请见<左偏树的特点及其应用>BY 广东省中山市第一中学 黄源河 题意 给出序列\(a[1...n]\),要求构造序列\(b[1...n]\)使得\(\sum_{i=1}^{n}|a_i ...
- 动态点分治:Bzoj1095: [ZJOI2007]Hide 捉迷藏
简介 这是我自己的一点理解,可能写的不好 点分治都学过吧.. 点分治每次找重心把树重新按重心的深度重建成了一棵新的树,称为分治树 这个树最多有log层... 动态点分治:记录下每个重心的上一层重心,这 ...