MySQL数据库安装配置
建议有SQL数据库基础和java编程基础的读者阅读本文
网上下载MySQL绿色版本,文件是一个压缩包,解压后没有setup.exe执行程序,百度得到安装方法如下(windows系统)
- 在系统环境变量path变量追加mysql的bin目录
- 配置mysql软件跟目录下my-default.ini文件(‘#’是配置文件里的行注释,注意删去)
basedir =G:\mysql-5.6.24-win32(你的mysql目录)
datadir =G:\mysql-5.6.24-win32\data(你的mysql\data目录) - 以管理员身份运行cmd进入mysql\bin目录下,运行命令mysqld -install
- 输入net start mysql即可启动mysql服务
- 若此时出现错误2和错误1067在mysql\bin目录下运行mysqld -remove卸载mysql再mysqld -install重新安装
- mysql -u root -p进入mysql,默认无密码,回车即可
- 如果需要图形化管理界面可以用mysql提供的免费工具mysql workbench
也可以使用收费软件nvicat,前者功能强大,建议使用
数据库和数据准备(依次执行下列查询语句)
/* 先建立名称为jsp_db的数据库*/
create datebase jsp_db
/*在jsp_db数据库下建立两个数据表*/
use jsp_de
create table tbl_user(
id int(11) unsigned not null auto_increment,
name varchar(50) not null default '',
password varchar(50) not null default '',
email varchar(50) default '',
primary key(id))
engine = InnoDB
default charset =utf8;
create table tbl_address(
id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
user_id int(11) unsigned not null,
primary key(id))
engine=InnoDB
default charset = utf8;
/*向两个表插入两条数据,这里演示了两种数据插入写法*/
insert into tbl_user(id,name,password,email)
values
(1,'xiaoming','123456','xiaoming@gmail.com'),
(2,'xiaozhang','123456','xiaozhang@gmail.com');
insert into tbl_address(city,country,user_id)
values ('beijing','china',1);
insert into tbl_address(city,country,user_id)
values ('tianjin','china',2);
/*查看表中内容*/
/*
select * from tbl_user;
select * from tbl_address;
*/
- 在java IDE集成开发环境中建一个工程,引入jdbc驱动拓展包
- 从网上下载mysql jdbc 驱动包,一般压缩文件里会包含源码,jar包和帮助文档,我只需要jar包mysql-connector-java-5.1.40-bin.jar,eclipse引入的方法是右键工程里的JRE System Library文件夹->Build Path->Configure Build path ->Add External JARs然后选中你的jar包即可
- 建一个类,连接并操作数据库,下面是实现增删查改
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class T1 {
/**
* 连接数据库
* @return Connection
*/
public static Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","《你的数据库用户名》","《对应密码》");
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
/**
* 向数据库插入一条信息,打印输出提示信息
*/
public static void insert(){
Connection conn = getConnection();
try {
String sql="INSERT INTO tbl_user(name,password,email)"
+ "VALUES('Tom','123456','tom@gmail.com')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向tbl_user表中插入了"+count+"条记录");
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 更新一条信息,打印输出信息
*/
public static void update(){
Connection conn = getConnection();
try {
String sql="UPDATE tbl_user SET email='tom@126.com' WHERE name='Tom'";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("向tbl_user表中更新了"+count+"条记录");
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除一条记录,打印输出信息
*/
public static void delete(){
Connection conn = getConnection();
try {
String sql="DELETE FROM tbl_user WHERE name='Tom'";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
System.out.println("从tbl_user表中删除了"+count+"条记录");
conn.close();
} catch (Exception e) {
System.out.println("可能用户无此权限");
e.printStackTrace();
}
}
/**
* 查询全部内容
*/
public static void selects(){
Connection conn = getConnection();
try {
String sql = "SELECT * FROM tbl_user";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
System.out.print(rs.getString("id")+"\t");
System.out.print(rs.getString("name")+"\t");
System.out.print(rs.getString("password")+"\t");
System.out.println(rs.getString("email")+"\t");
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
// selects();
// insert();
// update();
// delete();
selects();
}
}
- JDBC流程图
参考极客学院的java工程师课程所讲内容