SQL与JDBC


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.Sqllimit关键字

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.JDBCDriverManager对象

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.JDBCConnection对象

Connection代表数据库的连接

创建statement对象 
Statement createStatement()

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

21.JDBCStatement对象

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.JDBCResultSet对象

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

 

转载于:https://www.cnblogs.com/nangongyibin/p/10452718.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值