第一章 数据库的设计
DBA—数据管理员
SQL—数据分析师、实施(sql命令、linux命令)。
项目开发流程:
需求调研(市场–项目经理)
需求分析(产品部–产品经理、UI)–需求文档
概要分析
详细分析(数据库、表、技术)
开发阶段–(前端、后台)–20%
测试阶段–(功能测试、压力测试–并发与安全)–40%
项目部署、上线–(实施)
事务+子查询+存储过程
三大范式:
第一范式:确保每列的原子性;
第二范式:确保该表的每列与主键相关;
第三范式:确保该表的每列与主键直接相关,而不是间接相关;
第二章 初始MySQL
E-R图
矩形----实体
椭圆----属性
棱形----关系
关系对应:一对一、一对多、多对一、多对多。
三大范式:
第一大范式:确保该表每一列的原子性。
第二大范式:确保该表每一列都和主键相关。
第三大范式:确保该表每一列都和主键直接相关,而不是间接相关。
本地服务器地址:
localhost
127.0.0.1
连接数据库步骤:
1:启动服务(建议设为手动启动)
2:创建连接
1:使用命令行登陆Mysql服务
mysql -u 用户名 -p 密码;
mysql -u root -p 密码;
2:查看当前用户下的所有数据库
show databases;
3:新建数据库
create database 数据库的名字
例如:create DATABASE demo78;
4:删除数据库
drop database 数据库的名字
例如:drop DATABASE demo78;
数据库
create DATABASE demo78;
drop DATABASE demo78;
表
切换到mysql数据库
use mysql;
查看表
show tables;
切换到test数据库
use test;
创建表
DROP TABLE student; //删除表
CREATE TABLE student (
stuNo INT (4) PRIMARY KEY COMMENT ‘学生编号’,
stuName VARCHAR(20) NOT NULL COMMENT ‘学生姓名’
) COMMENT ‘学生表’;
表的数据
新增:
insert into student (stuNo,stuName) values (2,‘凯凯’);
修改:
update student set stuName = ‘袁世凯’ where stuNo = 1;
删除:—(如果有自动标识列–则接着前面的索引开始)
delete from student where stuNo = 1;
清空—(如果有自动标识列–则重新开始)
TRUNCATE TABLE student;
查询:
select stu.stuName from student stu;
第三章 高级查询(一)
delete 不会重置标识列
truncate 会重置标识列
复习
#使用命令行来连接数据库
mysql -u root -p 1234;
#查看所有数据库
show databases;
#选中数据库
use 数据库名
#查看当前数据库中
#所有数据库所有表
show tables;
#创建表
create table 表名(
id int(4) primary key auto_increment,
name varchar(20) not null comment “注释”
) comment=“注释”;
#删除
drop table 表名;
#清空表
truncate table 表名;
##新增数据
insert into 表名 (name)
values
(‘张三’),
(‘李四’),
(‘kaikai’);
##修改数据
update 表名
set name = ‘陈海涛’
where id = 1;
##删除数据–不会重置标识列
delete from 表名
where id = 1;
##查询数据
select * from 表名
where id = 1;
第五章 事务、视图 、索引、备份和恢复
事务的特性:原子性,一致性,隔离性,持久性
事务使用步骤:
1:开启事务—begin;
2:编写DDL语句—操作语言
3:提交事务commint/或者回滚事务rollback
备份:
mysqldump -u 用户名 -p 密码 数据库名称 [表名] >路径
导入:
mysql -u 用户名 -p 密码 数据库名称 [表名] <路径
导出表数据:
select * from student into outfile ‘e:/student.sql’;
导入表数据:
load data infile ‘e:/student.sql’ into table student;
第七章 JDBC
1、加载驱动包
2、建立连接
3、创建执行SQL程序Statement–SQL注入的风险
4、执行SQL并返回结果集
5、遍历资源
6、关闭资源
导入数据库驱动包
JDBC连接数据库:
1:加载驱动包
Class.forName(“com.mysql.jdbc.Driver”);
2:建立连接
Connection conn = DriverManager.getConnection(
“jdbc:mysql://localhost:3306/myschool”,
“root”, “”);
3_1:创建执行SQL程序
Statement stmt = conn.createStatement();
3_2: 创建执行SQL预处理程序
PreparedStatement stmt =
conn.prepareStatement(sql);
stmt.setString(1, “凯凯”);
ResultSet rs = stmt.executeQuery();
4:接收返回结果
ResultSet rs = stmt.executeQuery(sql);
5:遍历
while (rs.next()) {
System.out.println(“学生编号:”+rs.getInt(“studentNo”));
System.out.println(“学生姓名:”+rs.getString(“studentName”));
}
6:关闭资源
rs.close();
stmt.close();
conn.close();