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 user7.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 select8.使用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、TIMESTAMP11.使用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_increment13.使用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():执行批处理里面的所有的sql22.JDBC的ResultSet对象
ResultSet代表查询返回的结果。
1.遍历结果集 next(); 2.得到数据的具体值 getString(“字段名称”) getInt(“字段名称”) getObject(“字段名称”)