数据库:关系型数据库
mysql:
非关系型数据库
HBase redis
DDL
数据库
create database database_name;
drop database database_name;
//查看当前的所有数据库
show databases;
//使用(切换)某一个
use database_name;
//查看当前运行的数据库
select database();
表
create table table_name(
字段名 类型 约束, //类型 主要常用 varchar char int date datetime timestamp text
字段名 类型 约束 //约束 primary key| unique | not null | auto_increment(需要搭配整数类型)
);
//删除表
drop table table_name;
//查看表结构
desc table_name;
//查看当前数据库的所有表
show tables;
记录的操作——
DML
insert into table_name values();
insert into table_name (字段名1,字段名2) values (值1,值2);
update table_name set 字段名1 = 值1,字段名2 = 值2 where 条件
delete from table_name where 条件
DQL
4. select distinct * | 字段名 as 别名 | 聚集函数:count() sum() avg() max() min()
1. from table_name
2. where
< > != = <= >=
and or //and优先级高于or
in //在那几个选项范围内
between and //在区间内
like //模糊查询,占位符使用百分号(%) 或者 下划线(_)
3. gruop by 字段名 having 聚集函数条件判断
5. order by asc|desc
6. limit [index,[length]] //只有一个参数,表示,取前几个;两个参数,第一个是索引值,第二个是向后取值个数
//工作中,一个SQL查询时间低于3秒才算合格。——除了超大数据量
DCL
grant
JDBC:
jdbc的DriverManager对象
在java.sql包里面
加载数据库的驱动
registerDriver(Driver driver) :参数是数据库的驱动,这个驱动是由数据库提供的
(1)这个方法在实际开发中,一般不使用,因为这个方法会加载驱动两次
(2)一般在开发中使用反射的方式加载数据库的驱动
Class.forName("com.mysql.jdbc.Driver");
得到数据库的连接
getConnection(String url, String user, String password),返回Connection
(1)有三个参数
第一个参数:表示要连接的数据库
写法:jdbc:mysql://数据库的ip:数据库的端口号/连接的数据库的名称
jdbc:mysql://localhost:3306/testdb2
简写的方式:jdbc:mysql:///testdb2(使用范围:连接的数据库是本机,端口是3306)
第二个参数:表示连接数据库的用户名
第三个参数:表示连接数据库用户密码
jdbc的Connection对象
代表数据库的连接,是接口,在java.sql包里面
创建statement对象
Statement createStatement()
创建预编译对象 PreparedStatement
PreparedStatement prepareStatement(String sql)
jdbc的Statement对象
执行sql的对象,接口,在java.sql包里面
执行查询操作方法
ResultSet executeQuery(String sql) ,返回查询的结果集
执行增加 修改 删除的方法
int executeUpdate(String sql) ,返回成功的记录数
执行sql语句的方法
boolean execute(String sql) ,返回是布尔类型,如果执行的是查询的操作返回true,否则返回的false
执行批处理的方法
addBatch(String sql):把多个sql语句放到批处理里面
int[] executeBatch():执行批处理里面的所有的sql
jdbc快速释放资源
定义要释放的资源的对象的值为空
try{}catch{}finally{
释放资源的代码
如果资源不为空就try{释放资源}catch{}
资源为空就直接回收
}
读取配置文件的两种方式
1,使用properties类
2,使用ResourceBundle类
范围:文件格式是properties 文件必须放在src里面
预编译
prepareStatement
可以对数据进行加密 防止入侵的操作
source e:/sql.sql;