导图社区 MySQL关系型数据库管理系统
这是一篇关于My SQL关系型数据库管理系统的思维导图,讲述了数据库的设计、JDBC、My SQL基础操作代码等。
编辑于2021-09-28 09:35:46My SQL 关系型数据库管理系统
My SQL基础操作代码
1.配置环境变量
2.使用数据库的时候 先启动服务
1.我的电脑 右键 管理 服务
2.net start mysql80
net stop mysql80
3.mysql的配置文件
4.连接数据库
mysql -h服务器IP -u用户名 -p密码
1.mysql -h127.0.0.1 -uroot -proot
2.mysql -hlocalhost -uroot -proot
3. mysql -uroot-proot
4. mysql -uroot -p
5.查看数据库版本和用户信息
SELECT VERSION(), USER();
6.查看有那些数据库
show databases ;
7.创建数据库
create database school;
8.使用数据库
use school;
9.查看有哪些表
show tables;
10.修改表
增加列
alter table add(列名 数据类型 属性 );
alter table add(列名 数据类型 属性 ,列名 数据类型 属性.......)
删
alter table drop 列名 ;
改
alter table 表名 change 原列名 新列名 数据类型 属性;
alter table 旧表名 rename 【to】 新表名
添加主键
alter table add constraint pk_表名 primary key(列名);
添加外键
alter table add constraint pk_表名 foreign key(列名(从表)) references 主表(关联列);
constraint pk_表名 foreign key(列名(从表)) references 主表(关联列);
11.查看表的创建规则
show create table stu;
12.插入数据
insert into stu(id,name,sex)values(1,'张三','男');
13.查看数据
select *from stu;
select 列名 from 表名 where 条件表达式 group by 列名(分组) having 条件表达式 order by (ase/desc 排序) limit 位置偏移量(索引),行数;
14.修改数据
update stu set sex='女' where id=2
15.删除所有数据
delete from stu;
16.删除表
drop table stu;
17.删除库
drop database school;
18.添加索引
create index index_列名 on 表名(列名)
19.事务
开启
begin
提交
commit
提交方式
set autocommit=0 不自动提交
set autocommit=1 自动提交
回滚
rollback
隔离级别
read uncommitted
读未提交 未提交的情况下允许他人查看
read committed
只允许他人读取已提交的数据
repeatable read
允许重复读
serializable
串行化(序列化)
查看隔离级别
select @@tx_isolation;
可能出现的问题
脏读
幻读
不可重复读
数据库的设计
连接数据库的命令:mysql -u用户名 -p密码
在需求分析阶段,设计数据库的一般步骤如下
收集信息
标识实体
标识每个实体的属性
标识实体之间的关系
在概要设计阶段和详细设计阶段,设计数据库的一般步骤如下
绘制E-R图
确保数据库设计准确、完整且有效
将E-R图转化为数据库模型图
应用三大范式规范化
从关系型数据库中除去冗余数据的过程称为规范化。如果使用得当,规范化是用于获得高效的关系型数据库表的逻辑结构最好、最容易的方法。当规范化数据时,应执行下列操作。
将数据库的结构精简为最简单的形式
从表中删除冗余的列
标识所有依赖于其他数据的数据
三大范式内容如下
第一范式:
其目标是确保每列的原子性
第二范式:
在第一范式的基础上更进一层,其目标是确保表中的每列都和主键相关
第三范式:
在第二范式的基础上更进一层,其目标是确保每列都和主键列直接相关,而不是间接相关
字符编码集:
character_set_client
character_set_server
character_set_rsult
character_set_database
character_set_filesystem
character_set_system
character_set_div
character_set_connetion
JDBC
1.建立文件夹lib并导入mysql—connector—java—5.1.33.jar 2.加载驱动: Class.forName("com.mysql.cj.jdbc.Driver"); 3.获取链接对象 Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?属性 “,"用户名","密码"); 4.创建Statement对象:Statement st=con.createStatement(); 5.执行SQL语句:String sql="增删改查SQL语句"; ResultSet rs=st.executequry( sql ); 6.处理结果集 7.关闭资源:rs.close(); st.close(); con.close();
Statement
execute( )
执行SQL语句,返回true和flase
executeQuery( )
执行查询语句返回结果集
executeUpdate( )
适合执行大多数的SQL语句,返回受影响的行数
close( )
关闭资源