一、MySQl数据库
常用语句
- 创建数据库:
create database 名称;
- 删除数据库:
drop database 名称;
- 使用数据库:
use 名称;
- 创建数据库表:
create table 表名称(字段1 字段类型 [default 默认值] [约束],...,字段n 字段类型 [default 默认值] [约束]);
- 删除数据库表:
drop table 表名称;
- 查看表结构 :
desc 表名称;
- 查看全部数据库 :
show databases;
- 查看某数据库下的全部表:
show tables;
- 增加数据:
insert into 表名称[(字段1,...,字段n)] values(值1,...,值n);
- 删除数据 :
delete from 表名称 [where 删除条件];
- 修改数据:
update 表名称 set 字段1=值1,字段2=值2,... [where 更新条件];
- 查询数据:
select {*|字段名列表} from 表名 [where 查询条件];
- 模糊查询条件like语句:
字段名 like '%m%';
- limit语句:
select {*|字段名列表} from 表名称 [where 查询条件] limit 开始行,取出个数;
二、连接数据库
1.DriverManager类
常用方法
Public static Connection getConnection(String url,String user,String password)
throws SQLException;
2.Conncetion类
实例化
Connection vonn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
常用方法(throws SQLException)
public Statement createStatement(); //实现Statement接口
public PreparedStatement prepareStatement(String sql); //实现PreparedStatement接口
public void close(); //关闭数据库连接
3.步骤
step1: 加载驱动程序(throws ClassNotFoundException)
Class.forName("org.gjt.mm.mysql.Driver");
step2: 连接数据库(throws SQLException)
public static final String DBURL = "jdbc:mysql://localhost:3306:jingt";
new Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
step3:关闭数据库连接(throws SQLException)
conn.close();
三、更新数据库
1.Statement接口(不常用)
实现接口
Statement stmt = conn.createStatement();
常用方法(throws SQLException)
public int executeUpdate(String sql); // 执行数据库更新操作
public ResultSet executeQuery(String sql); //执行数据库查询操作
public boolean execute(String sql); //执行SQL语句
public void close(); //关闭Statmenet操作
2.PreparedStatement接口(常用)
用途
相当于占位置,在事先准备好的SQL语句中,用“?”来代替语句的具体内容,
然后用.setXxx()的方式,将数据插入进去
实现接口
PreparedStatement prstmt = conn.prepareStatement(sql);
常用方法(throws SQLException)
public void setInt(int parameterIndex,int x);//将sql语句中的第ParameterIndex个"?"替换为x
public void setString(int parameterIndex,String x);//如上
public void setDate(int parameeterIndex,Date x);//Date类为java.sql.Date,需要进行转换
public int executeUpdate(); // 执行数据库更新操作
public ResultSet executeQuery(); //执行数据库查询操作
public boolean execute(String sql); //执行SQL语句
public void close(); //关闭Statmenet操作
将java.util.Date 类转化为java.sql.Date类
String bir = "2019-03-03";
java.util.Date temp = null;
temp = new SimpleDateFormat("yy-MM-dd").parse(bir);
java.sql.Date birthday = new java.sql.Date(temp.getTime());
e.g.
String sql = "insert into jingt(name,password,age) "
+"values(?,?,?)";
PreparedStatement prstmt = conn.prepareStatement(sql);
prstmt.setString(1,"JingtQ");
prstmt.setString(2,"1234");
prstmt.setInt(3,23);
四、查询数据库
ResultSet接口
实现接口
ResultSet rs = stmt.executeQuery(sql);
ResultSet re = prstmt.executeQuery();
常用方法 (throws SQLException)
boolean next(); //将指针移到下一行
int getInt(int columnIndex); //以整数形式取出列数为columnIndex的数据
int getInt(String columnIndex);//以整数形式取出列名为columnIndex的数据
String getString(int columnIndex);//以字符串形式取出列数为columnIndex的数据
String getString(String columnIndex);//以字符串形式取出列名为columnIndex的数据
e.g.
ResultSet rs = prstmt.executeQuery();
while(rs.next()){
String name = rs.getString(1);
String password = rs.getString("password");
int age = rs.getInt(3);
}
文中出现的单词
execute 执行
query 查询
param(eter) 参数