平时管理mysql喜欢用可视化的phpmyadmin,方便易用,简单的事情就不要复杂化。今天在做项目的过程中,发现需要远程连接mysql数据库,虽然说phpmyadmin是可以连接远程的数据库的,但是需要远程的数据库对我这边开启一定的访问权限。
鉴于安全考虑,打消了这个念头。
而想想,自己无非就是想去看看表的结构,select几个字段罢了,那就直接登录直接使用吧,遂把今天的一些操作记录一下吧。
linux下使用mysql
安装就不说了,直接进入主题。
先登录,命令如下:其中,-u
后面直接输入用户名,-p
后面直接输入密码
mysql -uusername -ppassword
无意外,登录成功。
在这里记录一个坑,那就是登录成功之后,进入mysql的命令行模式,此后输入命令都要以分号;
结尾,就和我们日常编程一样,否则输入命令之后,会没有任何错误提示,并且也不会有任何反应。
首先看看有哪些数据库:
show databases;
选择一个数据库,比如我想对数据库名为test的数据库进行操作。
use test;
之后,就是输入各种select语句就行了。最后退出的时候输入命令exit
就行。
Java下mysql的使用
首先下载mysql的jdbc驱动,去搜索mysql-connector-java,然后下载。
我搜索到的下载地址:http://dev.mysql.com/downloads/connector/j/
然后新建一个工程,把下载的jar包引进去就行。
随后开始编程,使用很简单,我写了一个简单的example记录一下,操作都大同小异,不过我这里用的不是存储过程,而是基本的sql语句操作。附上代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class mysqlExample {
public static void main(String args[]) {
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载MYSQL JDBC驱动程序
System.out.println("加载驱动成功!");
} catch (Exception e) {
System.out.print("加载驱动失败!");
e.printStackTrace();
}
try {
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName", "root", "");
System.out.println("连接到数据库成功");
String sql = "select * from `user`;";
ResultSet rs = getResult(sql,connection);
//遍历结果,rs是结果游标
while(rs.next()) {
/*
* getString方法可以传int index,即第几列(1代表结果的第一列..)
* 也可以传String columnname,可以直接指定要哪个字段
*/
System.out.println(rs.getString(1));
System.out.println(rs.getString("admin"));
}
//关闭连接
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取sql查询结果
* @param sql sql语句
* @param connection 连接
* @return 结果集
* @throws SQLException
*/
public static ResultSet getResult(String sql,Connection connection) throws SQLException{
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
}