MySQL数据库
时长两年半的Bug制造者
anone--!
展开
-
mysql事务隔离级别
mysql的事务四大特性ACID原子性:操作要么全部成功,要么全部失败一致性:事务开始和结束,数据库是完整的,比如转账隔离性:一个事务不能被其他事务打扰持久性:事务完成后,将数据持久化保存到数据库中,不会被回滚事务的实现原理隔离性:通过加锁(并发控制MVCC/LBCC),出现脏读、不可重复读、幻读问题原子性和持久性:通过redo log重做日志实现一致性:通过undo log ...原创 2019-12-04 15:36:35 · 160 阅读 · 0 评论 -
数据库的日志原理
数据库中有三个十分重要日志文件1.undo log 回滚日志2.redo log重做日志3.binary log 二进制日志undo log 回滚日志—>原理在存储系统中,redo日志可以应对那些已经执行成功的事务没有反映到磁盘时系统崩溃情形的数据恢复,但是,有时候会有另外一种情形,一个事务中,有多步操作,有部分操作已经成功,有部分操作失败,导致整个事务不能被完整执行,或者一...原创 2019-12-04 15:16:07 · 564 阅读 · 0 评论 -
数据库表设计规范
数据库设计规范数据库规范有3个级别遵守优先级高危>强制>建议必须实现高危和强制的要求。库名【强制】库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量提现join的关系,如user表和user_login表。【强制】库的名称格式:业务系统名称_子系统名,同一模块使用的表名尽量使用统一前缀。【强制】一般分库名称命名格式是库通配名_编号,编号从0开始递增,比如w...原创 2019-12-04 00:25:46 · 309 阅读 · 0 评论 -
数据库的设计
数据库设计的六个阶段系统需求分析阶段:分析用户的需求,包括数据、功能和性能需求概念结构设计阶段:主要采用E-R模型进行设计,包括画E-R图逻辑结构设计阶段:通过将E-R模型转换成表,实现从E-R模型到关系模型的转换物理结构设计阶段:主要是为所设计的数据库选择合适的存储结构和存取路径(索引)数据库实施阶段:包括编程、测试和运行数据库运行与维护阶段:系统的运行与数据库的日常维护数据库结...原创 2019-12-04 00:23:44 · 943 阅读 · 0 评论 -
JDBC基础知识
JDBCJDBC:sun公司为了java统一和简化java连接数据库,定义的一套规范,使用JDBC更加方便操作数据库JDBC和驱动的关系接口(JDBC)和实现(驱动jar包)的关系:驱动实现了JDBCJDBC操作步骤1.注册驱动(导驱动jar)---导入驱动jar,加载驱动class.forName("Driver类全限定名")---避免驱动加载2次---全限定名路径“com.mys...原创 2019-08-31 22:29:02 · 108 阅读 · 0 评论 -
MySQL基础多表查询、三范型(八)
多表查询多表查询:通过查询多张表来查询需要的数据多表查询的分类:交叉连接查询:查询到是2张表的笛卡尔积内连接查询:查询到2张表的交叉部分—显示内连接,隐式内连接外连接查询:左外连接查询,右外连接查询交叉连接查询:查询到的是2张表的笛卡尔积语法:SELECT 字段,字段,...FROM 表1,表2 ;笛卡尔积:多表查询时左表的每条数据和右表的每条数据组合—其实就是2张表的乘积...原创 2019-08-31 00:10:54 · 189 阅读 · 0 评论 -
MySQL基础约束(七)
数据库的约束创建表的语法:create table 表名(字段名 字段类型 约束,字段名 字段类型 约束..................)对表中的数据进行进一步的限制,保证数据的正确性。有效性和完整性主键 primary key---唯一,非空唯一 unique 非空 notnull默认值 default 外键 foreign key--约束多表情况1.主键特点:唯...原创 2019-08-31 00:02:32 · 173 阅读 · 0 评论 -
MySQL基础DCL(六)
DCL—data control language—数据控制语言创建用户create user ‘用户名‘@‘主机名’identified by ‘密码’授权用户grant 权限1,权限2.....on 数据库名.表名 to ‘用户名’@‘主机名’关键字说明:1. GRANT 授权关键字2. 授予用户的权限,如SELECT,INSERT,UPDATE等。如果要授予所的权限则使用A...原创 2019-08-29 13:56:28 · 94 阅读 · 0 评论 -
MySQL基础TCL(五)
事务安全TCL—transaction control language–事务控制语言事务的应用场景的说明:mysql语句要么全部成功,要么全部失败1.手动提交事务start transaction;开启事务commit;提交事务---同步数据到数据表rollback; 回滚事务---直接清空数据总结:如果事务中SQL语句没有问题,commit提交事务,会对数据库的数据进行改变...原创 2019-08-29 13:54:17 · 91 阅读 · 0 评论 -
MySQL基础DQL(四)
DQL语句—数据查询语言—data query languageselect选择where从条件中选择in 在....内between ...and 在....范围内like 模糊查询 用% —通配符1简单查询1.1.查询表所有数据使用表示所有列—一般不使用查询所有—*查询效率低一般会写所有的查询字段名SELECT * FROM 表名;1.2.查询指定列写出查询每列的名...原创 2019-08-29 13:34:42 · 110 阅读 · 0 评论 -
MySQL基础DML(三)
二、DML语句—数据操作语言—data manipulation languageinsert into增---插入数据show 查---显示update改-- 更新/修正delete (from) 删---从....上删除truncate删---被删节---缩短1.插入记录1.1 插入全部字段所有的字段名都写出来INSERT INTO 表名 (字段名1, 字段名2, 字段名...原创 2019-08-29 13:25:55 · 173 阅读 · 0 评论 -
MySQL基础DDL(二)
SQL的基础语法SQL语句的分类1.DDL(Data Definition Language)数据定义语言---definition 定义用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter等2.DML(Data Manipulation Language)数据操作语言----常用----manipulation操作用来对数据库中表的数据进行增删改。关键...原创 2019-08-29 13:18:43 · 147 阅读 · 0 评论 -
MySQL基础语法(一)
MySQL开源免费的数据库数据库:存储数据的仓库,其本质是一个文本系统,用来保存数据的,使用sql语句去对数据增删查改。优点:永久保存,通过SQL语句比较方便的操作数据库MySQL目录结构│-- bin:mysql相关的可执行文件*.exe │-- MySQLInstanceConfig.exe mysql的配置程序│-- data: mysql自带的数据库文件│-- inclu...原创 2019-08-29 13:09:34 · 135 阅读 · 0 评论 -
MySql存储过程
一、数据库存储过程(Stored Procedure)SQL语句是需要先编译后执行,每执行一次就需要编译一次。存储过程: 一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 外部程序可以直接调用数据库里面定义好的存储过程,另外数据库内部的触发器(trigger)、或者其他存储过程也可以调用它。存...原创 2019-08-23 21:54:46 · 730 阅读 · 0 评论