1.数据库
就是存数据的仓库。本文所使用的为MYSQL数据库。
2.SQL语句
2.1.简介
它是一种数据库的代码,我们在创建数据库,向数据库中添加或修改信息时,都要通过它来传递。
对于SQL语句的语法:要以分号结尾,不区分大小写,常用类型为int,double,varchar(字符串),date(日期)
注:日期date型的格式为yyyy-MM-dd,只有年月日。
2.2.相关语句
2.2.1创建表
2.2.2查看表create table 表名( 字段名 类型(长度) 约束, 字段名 类型(长度) 约束 );
show 表名;
2.2.3删除表
drop table 表名;
2.2.4插入表(常用)
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);
2.2.5更新表
update 表名 set 字段名=值,字段名=值; update 表名 set 字段名=值,字段名=值 where 条件;
2.2.6删除表
delete from 表名 [where 条件];
如果设置有自动计数的话,detete不删除自动计数
2.2.7查询表(常用)
select 字段1,字段2,...from 表名;
3.JDBC
JDBC是连接java和数据库的工具,有了它,我们可以通过java来操作数据库。
3.1 首先我们要自行导入驱动jar包,将驱动包添加进工程
对于mysql的驱动包名字为:
mysql-connector-java-5.1.37
3.2 连接及关闭
由于我们会多次使用数据库连接,为了节省资源,简化程序,我们将每次重复连接的步骤做一整合,将它们所有连接步骤做成一个工具类,每次需要连接数据库时只需要调用该工具类,得到他方法中的返回值,再进行操作。
每次使用时,进行调用。import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JDBCUtils { private JDBCUtils() {} private static Connection con; static { try { Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/mybase"; //url: 数据库地址 jdbc:mysql://连接主机IP:端口号//数据库名字 String username="****";//自己设置的用户名 String password="****";//自己设置的密码 con=DriverManager.getConnection(url, username, password); } catch (Exception e) { throw new RuntimeException(e); } } public static Connection getConnection() { return con; } public static void close(Connection con,Statement stat,ResultSet rs) { if(con!=null) { try { con.close(); } catch (Exception e) {} } if(stat!=null) { try { stat.close(); } catch (Exception e) {} } if(rs!=null) { try { rs.close(); } catch (Exception e) {} } } }
import java.sql.Connection; public class JDBCtest { public static void main(String[] args) { Connection con=JDBCUtilsConfig.getConnection(); System.out.println(con); } }
3.3浏览数据库
3.4修改表数据import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 浏览数据库 */ public class JDBCDemo1 { public static void main(String[] args) throws ClassNotFoundException, SQLException { Connection con=JDBCUtils.getConnection();//获得与数据库的连接 Statement stat=con.createStatement();//创建一个Statment对象将SQL语句发送到数据库 String sql="select * from sort"; ResultSet rs=stat.executeQuery(sql);//执行SQL语句并返回一个ResultSet对象 //ResultSet表示数据库结果集的数据表 while(rs.next()) { //遍历rs这个结果集 System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+" "+rs.getString("sprice")+" "+rs.getString("sdesc")); } JDBCUtils.close(con, stat, rs); //关闭 } }
3.5删除数据import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; //数据表的修改 public class JDBCDemo3 { public static void main(String[] args) throws SQLException, ClassNotFoundException { Connection con=JDBCUtils.getConnection(); String sql="update sort set sname=?,sprice=? where sid=?"; //?为占位符,需要后续将数据加入?所在的地方 PreparedStatement pst=con.prepareStatement(sql);//prepareStatement为Statement的子类,功能相仿 pst.setObject(1, "something");//将"something"添加到第一个?处 pst.setObject(2, 100);//将100添加到第二个?处 pst.setObject(3, 4);//将4添加到第三个?处,此时得到了完整的SQL语句 pst.executeUpdate();//执行SQL语句 JDBCUtils.close(con, pst, null);//关闭 } }
通过这些操作就可以对数据库进行简单的增删改操作了。import java.sql.Connection; import java.sql.PreparedStatement; public class JDBCDemo6 { public static void main(String[] args) throws Exception{ Connection conn = JDBCUtils.getConnection(); String sql = "delete from sort where sid=?";// ?为占位符 PreparedStatement stat = conn.prepareStatement(sql); stat.setInt(1, 1); int line = stat.executeUpdate(); stat.close(); conn.close(); } }