sql与jdbc

来源:互联网 发布:淘宝现金券 编辑:程序博客网 时间:2024/05/18 16:39

1.什么是数据库,数据库有什么作用?

数据库(database)就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作

2.数据库的分类

层次结构
网状结构
关系化数据库
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
关系结构模型数据库,使用二维表格来存储数据.

3.常见关系化数据库

4.Mysql的安装

MySQL数据库的安装和配置
配置Mysql按照bin目录到Path中
使用命令行窗口连接MYSQL数据库
mysql –u用户名 –p密码
MySQL数据库Root密码重置

5.MySQL数据库服务器、数据库和表的关系

所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如图所示:

这里写图片描述

6.SQL语言简介

Structured Query Language, 结构化查询语言
非过程性语言
SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控制关系型数据库的四方面功能

SQL的语法有以下要求:
SQL语句可以单行或多行书写,以分号结尾;
可使用空格和缩进来增强语句的可读性;
MySQL数据库的SQL语句不区分大小写,建议使用大写,例如:SELECT * FROM user

7.SQL分类

DDL (数据定义语言)
数据定义语言 - Data Definition Language
用来定义数据库的对象,如数据表、视图、索引等
DML (数据操纵语言)
数据处理语言 - Data Manipulation Language
在数据库表中更新,增加和删除记录
如 update, insert, delete
DCL (数据控制语言)
数据控制语言 – Data Control Language
指用于设置用户权限和控制事务语句
如grant,revoke,if…else,while,begin transaction
DQL (数据查询语言)
数据查询语言 – Data Query Language
select

8.使用SQL操作数据库

1.连接数据库
mysql -u root -p 密码
2.创建数据库
create database 要创建数据库的名称;
3.查看所有的数据库
show databases;
4.删除数据库
drop database 要删除数据库的名称;
5.切换数据库
use 要切换的数据库的名称;

9.使用SQL操作数据库表

1.创建表
create table 表名称 (
字段 类型,
字段 类型
)
2.查看表结构
desc 表名称;
3.删除表
drop table 要删除的表名称;
4.查看当前数据库所有表
show tables;

10.MySQL常用数据类型

字符串型
VARCHAR、CHAR
大数据类型
BLOB、TEXT
数值型
TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE
逻辑性
BIT
日期型
DATE、TIME、DATETIME、TIMESTAMP

11.使用SQL操作数据库中表记录1

1.插入记录
insert into 表名 values(要添加的值…);
当添加的字段的数据类型是int类型,直接写值
如果添加的字段类型是varchar类型和日期类型,使用单引号把值包起来
2.修改记录
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 where 条件;
3.删除记录
delete from 表名 where 条件
4.查询记录
select 字段名 (*) as别名 from 表名 where 条件
5.去除表中重复记录
select distinct * from 表名;

12.Mysql的约束

6.MySQL的约束
a.非空约束 not null
* 表示数据不能为空
b.唯一性约束 unique
* 表中的记录不能重复的
c.主键约束 primary key
* 表示非空,唯一性
* 自动增长 auto_increment

13.使用SQL操作数据库表记录2

6.where子句使用
a. 运算符 <, >, >=, <=
b. in 显示在in列表中的值
c. and 多个条件同时满足
d. like 模糊查询
7.查看当前运行的数据库
select database();
8.排序
order by 字段名 asc 升序
order by 字段名 desc 降序

14.聚合函数

1.count()函数
select count(*) from …where….
2.sum()函数
select sum(要进行求和字段) from …where….
3. avg()函数
select avg(要计算平均数的字段名称) from …
4. max()函数
select max(字段) from…
5. min()函数
select min(字段) from…

15.分组查询

语法 group by + 分组字段
create table orders(id int,name varchar(20),price int);
insert into orders values(1,”dianshi”,2000);
insert into orders values(2,’dianshi’,2000);
insert into orders values(3,’bingxiang’,1000);
insert into orders values(4,”空调”,1000);

16.Sql中limit关键字

limit 关键字
从第几条开始查询几条

17.多表之间的关系

一对一
一对多
多对多

18.JDBC简介

JDBC(Java DataBase Connectivity),Java数据库的连接
JDBC使用到的类和接口:
DriverManager,Connection,Statement,ResultSet
JDBC操作步骤:
第一步,加载数据库的驱动
DriverManager里面registerDriver(Driver driver)
第二步,创建与数据库的连接
DriverManager里面getConnection(String url, String user, String password)
第三步,编写sql语句
第四步,执行sql语句
Statement里面executeQuery(String sql)
第五步,释放资源(关闭连接)

19.JDBC的DriverManager对象

registerDriver(Driver driver) :
参数是数据库的驱动,这个驱动是由数据库提供的。
(a) 这个方法在实际开发中,一般不使用,因为这个方法会加载驱动两次
(b) 一般在开发中使用反射的方式加载数据库的驱动
Class.forName(“com.mysql.jdbc.Driver”);

getConnection(String url, String user, String password),返回Connection。
第一个参数:表示要连接的数据库
写法:jdbc:mysql://数据库的ip:数据库的端口号/连接的数据库的名称
jdbc:mysql://localhost:3306/testdb2
简写的方式:jdbc:mysql:///testdb2(使用范围:连接的数据库是本机,端口是3306)
第二个参数:表示连接数据库的用户名
第三个参数:表示连接数据库用户密码

20.JDBC的Connection对象

Connection代表数据库的连接

创建statement对象
Statement createStatement()

创建预编译对象 PreparedStatement
PreparedStatement prepareStatement(String sql)

21.JDBC的Statement对象

Statement是用来执行sql语句的对象
1.执行查询操作方法
ResultSet executeQuery(String sql) ,返回查询的结果集
2.执行增加 修改 删除的方法
int executeUpdate(String sql) ,返回成功的记录数
3.执行sql语句的方法
boolean execute(String sql) ,返回是布尔类型,如果执行的是查询 的操作返回true,否则返回的false
4.执行批处理的方法
addBatch(String sql):把多个sql语句放到批处理里面
int[] executeBatch():执行批处理里面的所有的sql

22.JDBC的ResultSet对象

ResultSet代表查询返回的结果。
1.遍历结果集
next();
2.得到数据的具体值
getString(“字段名称”)
getInt(“字段名称”)
getObject(“字段名称”)

原创粉丝点击