Select· length (sname)from stu; //求字段的最大长度
Select upper(sname) from stu;
Select lower(sname) from stu;
Select substring(sname,1,2) from stu
Select * from where substring (sname,2) = “aa”
//日期
Select now()
Select curdate()
Select curtime()
Select dayofmonth () from
//数学
Select sid, abs(sage)from stu;
Select * from stu where abs(sage)>20
Select sage pow(sage,2) from stu
//sql函数
Floor()
Ceil()
///聚合函数
Count()
Sum()
AVG()
MAX()
MIN ()
通过配置文件来访问数据库
db.properties:
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8
dbUser=root
dbPassword=19990908
解析以及连接数据库代码如下:
package JDBC_Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class MyJdbc {
private String url;
private String dbUser;
private String dbPassword;
private String driver;
/*
* 读取指定的文件,并解析,取出键值对中的数据给成员变量
* */
public void getParam(String filename){
Properties pro = new Properties();
File file = new File(filename);
try {
FileInputStream fis = new FileInputStream(file);
//加载输入流指定的文件
pro.load(fis);
//获取值
url = pro.getProperty("url");
dbUser = pro.getProperty("dbUser");
dbPassword = pro.getProperty("dbPassword");
driver = pro.getProperty("driver");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//连接数据库,获取数据库的数据,并输出
public void getData() throws SQLException {
Connection conn = null;
Statement st = null;
PreparedStatement pst = null;
ResultSet rs = null;
String sql ="select * from stu";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,dbUser,dbPassword);
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()){
int sid = rs.getInt(1);
String sname = rs.getString(2);
String ssex = rs.getString(3);
System.out.println(sid +" "+sname+" "+ssex);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(rs!=null){
rs.close();
}
if(st!=null){
st.close();
}
if(conn!=null){
conn.close();
}
}
}
public static void main(String[] args) throws SQLException {
MyJdbc mj = new MyJdbc();
mj.getParam("src/db.properties");
mj.getData();
}
}
事务的四大特点:
原子性 表示一个事务内的所有操作是一个整体,要么全部成功,要么全不失败
一致性 表示一个事务内有一个操作失败时,所有的更改过的数据都必须回滚到修改之前的状态,
隔离性 事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据
持久性 持久性事务完成之后,他对于系统的影响是永久性的
保证数据的安全性
事务隔离级别从低到高: 读取未提交 读取已提交 可重复读 序列化