数据库
KeithRong
这个作者很懒,什么都没留下…
展开
-
Mysql索引
1. 概念索引是帮助Mysql高效获取数据的排好序的数据结构。索引会影响到where后面的查找和order by后面的排序。2. 索引分类1.单值索引:一个索引只包含 单个列,一个表可以有多个单值索引。2.唯一索引:索引列的值必须唯一,但允许有空值。3.复合索引:即一个索引包含多个列。3. 索引类型和语法3.1 索引类型类型描述PRIMARY KEY主键,索...原创 2020-02-09 11:18:35 · 1202 阅读 · 0 评论 -
Mycat入门
1. 安装下载压缩包之后解压即可2. 修改配置文件2.1 配置文件解释schema.xml:定义逻辑库、表、分片节点等内容。rule.xml:定义分片规则。server.xml:定义用户以及系统相关变量,如端口等。2.2 修改配置文件修改server.xml中user name为mycat<user name="mycat"> <property na...原创 2020-02-03 17:31:52 · 139 阅读 · 0 评论 -
Mysql主从复制
1. 复制原理master将改变记录到二进制日志(binary log),这个记录过程叫二进制日志事件(binary log events)。slave将master的binary log events拷贝到它的中继日志(relay log)。slave重做中继日志中的事件,将改变应用到自己的数据库中,Mysql复制是异步且串行化的。2. 配置(基于mysql 8.x)2.1 mas...原创 2020-02-01 13:38:41 · 116 阅读 · 0 评论 -
Mysql锁
Mysql有三种锁:表锁(偏读)、行锁(偏写)、页锁1. 查看锁命令1.1 查看锁show open tables;In_use为0表示没有被锁1.2 分析表锁定show status like '%table%'Table_locks_immediate:产生表级锁定的次数(锁的查询次数)。Table_locks_waited:出现表级锁定争用而发生等待的次数,此值高...原创 2020-02-01 10:06:21 · 108 阅读 · 0 评论 -
通用Mapper QBC查询
目标:SELECT * FROM tb_brand WHERE (id > 3000 AND name LIKE '%星%') OR name = 'vivo';// 创建Example对象Example example = new Example(Brand.class);// 通过Example对象创建Criteria对象Example.Criteria criteria1...原创 2020-01-19 09:30:14 · 886 阅读 · 0 评论 -
Mysql流程控制语句
IF函数语法:IF(表达式1,表达式2,表达式3)解释:如果表达式1成立,则返回表达式2,否则返回表达式3CASE 结构特点:可以作为表达式,嵌套在其它语句中使用,也可以作为独立的语句使用类似switch case语句,一般用于实现等值判断CASE 变量|表达式|字段WHEN 要判断的值 THEN 返回值1或语句1WHEN 要判断的值 THEN 返回值2或语句2...ELS...原创 2020-01-17 16:37:18 · 200 阅读 · 0 评论 -
Mysql函数
存储过程和函数的区别存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、更新函数:有且仅有一个返回。适合做处理数据后返回一个结果语法参数列表 包含两部分:参数名、参数类型函数体肯定会有RETURN语句,否则会报错使用 DELIMITER 设置结束标记DELIMITER $# 创建函数CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGI...原创 2020-01-17 16:00:00 · 70 阅读 · 0 评论 -
Mysql存储过程
含义一组预先编译好的SQL语句的集合,可以理解为批处理语句,优势有:提高了代码的重用性简化操作减少了编译次数和与数据库的连接次数,提高了效率操作创建语法 参数列表有3部分:参数模式、参数名、参数类型参数举例: IN stuname VARCHAR(20)参数模式:IN 该参数可以作为输入,即需要调用方传过来值OUT 该参数可以作为输出,即可作为返回值INOUT 该参数既...原创 2020-01-17 15:16:14 · 87 阅读 · 0 评论 -
Mysql变量
系统变量# 查看所有系统变量SHOW VARIABLES# 查看所有全局变量SHOW GLOBAL VARIABLES# 查看所有会话变量SHOW SESSION VARIABLES# 查看某个系统变量的值SELECT @@系统变量名# 为某个系统变量赋值SET 系统变量名 = 值自定义变量针对于当前会话有效,同于会话变量的作用域# 声明并初始化 三种写法SE...原创 2020-01-17 14:34:39 · 64 阅读 · 0 评论 -
Mysql事务
开启事务提交(Mysql)# 查看自动提交SHOW VARIABLES LIKE '%autocommit%'# 关闭自动提交,只针对当前的会话有效SET autocommit = 0START TRANSACTION # 开启事务(可选)INSERT tb_user VALUES ('张三', 22);INSERT tb_user VALUES ('李四', 23);COMM...原创 2020-01-17 13:30:17 · 88 阅读 · 0 评论 -
Mysql约束
六大约束约束说明NOT NULL非空DEFAULT非有默认值PRIMARY KEY主键,唯一非空UNIQUE唯一可空CHECK检查( Mysql中无效)FOREIGN KEY外键,限制两表关系约束添加的分类列级约束:除了外键约束,其它都支持表级约束:除了非空、默认,其它都支持创建表时添加约束CREATE TABLE ...原创 2020-01-16 22:03:25 · 87 阅读 · 0 评论 -
Mysql建库建表:DDL
DDL(数据定义语言)库和表的管理创建:create修改:alter删除:drop库的管理# 若库不存在创建一个名为demo的库CREATE DATABASE IF NOT EXISTS demo# 更改库的字符集为utf-8ALTER DATABASE demo CHARACTER SET utf-8# 库的删除DROP DATABASE IF EXISTS demo...原创 2020-01-16 21:23:58 · 374 阅读 · 0 评论 -
SqlServer存储过程入门
什么是存储过程?存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存...原创 2019-04-06 13:40:45 · 1637 阅读 · 0 评论 -
SQL中外键的作用,不用外键行不行?
外键的作用外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。测试用例:我们先建有外键关联的两张表然后在course表中插入一条数据INSERT INTO tb_course (StuId, CourseName, Score) VALUES (1, 'java基础', 80)很显然,他会报错原因就是Student表中并没有主键Id为1的这条记录,那么就不...原创 2019-04-30 09:37:37 · 17507 阅读 · 7 评论