数据库总结

一、数据库概述

1.定义

存放数据的仓库,在计算机中需要对数据进行处理然后才存放到数据库中 。
数据库存储的基本特征:

  • 永久存储
  • 有组织
  • 可共享
2.mysql数据库常用命令
  • Show dabases:显示所有数据库
  • Use 数据库名:使用当前数据库
  • Show tables:查看当前数据库下的所有表
  • Desc 表名:查看表结构
  • 设置中文编码:set character_set_results=”GBK”;
  • \h:显示命令行清单
3.sql语言分类
  • 数据定义语言(DDL): create、drop、alter,对数据库对象结构的改变(创建表,删除表结构,修改表结构)
  • 数据操纵语言(DML): 对数据的修改、insert(添加数据)、update(修改数据)、delete(删除数据)、select(查询数据)
  • 事务控制语言(TCL Transcation Control Language):commit(提交事务)、
    rollback(回滚事务)
  • 数据控制语言(DCL):对数据权限控制、grant(赋予权限)、revoke(撤销权限)

二、函数

1、文本处理函数
  • left(str,n):表示截取str字符串左边n个字符
  • right(str,n):表示截取str字符串右边n个字符
  • length(str):返回str字符串的长度
  • locate(substr,str):返回substr在str中出现的位置
  • lower(str):将str全部转成小写
  • upper(str):将str全部转大写
  • reveres(str):将str字符串的顺序反过来
  • ltrim(str):去掉str左边的空格
  • rtrim(str):去掉str右边的空格
  • trim(str):去掉str两边的空格
2 、日期时间处理函数
  • 返回当前日期:curdate()、current_date()
  • 获取当前时间:curtime()、current_time()
  • 获取当前日期和时间:now()、CURRENT_TIMESTAMP()、LOCALTIME() SYSDATE()
  • month(n) | monthname(n):返回n时间中的月份
  • 返回星期几:DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d)
  • 获取当前星期是这一年的第多少个:WEEK(d)、WEEKOFYEAR(d)
  • 获取某个日期是当前年的第多少天:DAYOFYEAR(d)
  • 获取时分秒:hour(n)、minute(n)、secoud(n)
  • 将n这个日期增加10天:adddate(n,10)
  • 两个日期相减的时间:datediff(n,m)
  • 日期格式化:DATE_FORMAT(date,format)
3、聚集函数:

使用聚集函数的查询时候,如果没有分组则不能跟其他属性一起查找。使用聚集函数时,可以使用distinct一起使用,表示去掉重复项再统计聚集函数中,除了count,其他的函数只对数字来统计。where的后面不能直接使用聚集函数

1、求平均值:avg(字段)
2、求最大值:max(字段)
3、求最小值:min(字段)
4、求和:sum(字段)
5、统计个数:count(字段)

三、JDBC连接数据库

1、核心API :(来自 java.sql.*包)

· DriverManager 类 : 用于管理驱动类,从而可以获取连接对象
· Connection 接口: 表示某个数据库的连接对象,如果要访问数据,必须获取该对象
· Statement 接口: SQL执行器对象 ,可以执行sql语句(insert ,update ,delete,select。。。)
· PreparedStatement 接口:预编译的sql执行器, 属于Statement的子接口 ,用于参数化执行sql语句
· ResultSet 接口: 结果集对象,用户查询返回的结果封装 ,是一个集合
掌握它们的常用方法

2、连接步骤

步骤1: 导入jar包
步骤2: 加载驱动类

  Class.forName(“驱动类全类名”)

步骤3 :通过DriverManager获取连接对象,此时需要指定数据库url , 用户名 , 密码

String url="jdbc:mysql://localhost:3306/j1905?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String password="123456";
Connection conn= DriverManager.getConnection(url, user, password);

步骤4:获取sql执行器 Statement

Statement st = conn.createStatement();

步骤5 执行sql语句,并返回结果

// 对于添加,删除,修改,都是 executeUpdate(sql)
int count =  st.executeUpdate(sql);
// 对于查询 executeQuery	
ResultSet rs = st.executeQuery(sql);
// rs.getInt(1) :  获取第一个字段  ,且int类型 
//rs.getString(2) 获取第二个字段  String类型
// rs.getString("loc")  获取 字段名是 loc 的 String类型 

步骤6 关闭数据库连接

try {
	//关闭连接 
	if(rs!=null){
		rs.close();
	}
	if(st!=null){
		st.close();
	}
	if(conn!=null){
		conn.close();
	}
} catch (SQLException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值