
MySQL
记录MySQL数据库知识
剑小麟
软件工程专业,热衷于后端语言与算法,目前主要更新数据结构与算法、java、C++、数据库以及计算机组成原理等内容
展开
-
MySQL中的事务隔离级别与MVCC及两者间的关联
MVCC(多版本并发控制)是InnoDB存储引擎的核心技术,旨在支持高并发操作,同时确保数据的一致性视图。它允许事务读取其启动时的数据版本,即使其他事务在此期间对数据进行了修改。这一机制通过保留数据的多个版本来实现,每个版本都与特定的事务ID相关联。当事务尝试读取某行数据时,它会使用其事务ID来查找该行数据的一个版本,这个版本是在该事务开始之前最新的、已提交的数据版本。原创 2024-04-06 11:55:16 · 534 阅读 · 1 评论 -
有关系型数据库的情况下,为什么还要使用NOSQL(非关系型数据库)?
与关系型数据库相比,NOSQL数据库展现了更高的灵活性和扩展性优势。它无需预先设计固定的表结构,因此可以根据实际应用需求灵活地进行数据的存储和组织。原创 2024-04-03 14:35:21 · 554 阅读 · 0 评论 -
mysql中数据类型的分类
1.整数类型TINYINT 1 -128~127 0~255 SMALLINT 2 -32768~32767 0~65535 MEDIUMINT 3 -8388608~8388607 0~16777215 INT、INTEGER 4 -2147483648~2147483647 0~4294967295 BIGINT 8 -9223372036854775808~9223372036854775807原创 2022-05-15 16:41:53 · 264 阅读 · 0 评论 -
MySQL中对数据的增删改
使用test指代表名,lie指代列名1.数据的插入代码示例1:INSERT INTO test1VALUES (1,'a',...);列的顺序必须和数据表中字段定义时的顺序相同。代码示例2:INSERT INTO test2(lie1, lie2)VALUES (1, 'a');指定该表中要要插入的字段,然后插入要插入的值。代码示例3:INSERT INTO test2(lie1, lie2)VALUES(1, 'a'),(2,'d'),(3,'z');原创 2022-05-15 15:33:13 · 230 阅读 · 0 评论 -
数据库中表的创建和管理
使用lie指代列名,使用test指代测试样例表名1.表的创建代码示例1:create table if not exists test01( -- not exists表明在这个名称的表不存在的情况下lie1 int,-- 前面的指代表中列的名称lie2 varchar(10),-- 使用varchar时需要指明长度lie3 date);代码示例2:create table test02asselect lie1,lie2,lie3from test01原创 2022-05-03 15:27:23 · 1113 阅读 · 0 评论 -
数据库的创建和管理
test01、test02均指数据库代样例1.创建数据库的三种方法代码示例:create database test01;#使用的默认的字符集create database test02 character set 'gbk';create database if not exists test03 character set 'utf8';2.查看当前连接中的数据库有哪些代码示例:show databases ;3.查看当前数据库中保存的数据表代码示例:sho原创 2022-05-02 20:50:52 · 1243 阅读 · 0 评论 -
MySQL中的聚合函数
设lie代表列,table表示表1.平均数与求和select avg(lie);平均数select sum(lie);总和代码示例:select avg(lie),sum(lie) #只使用于数值类型的函数from table ;2.最大值与最小值select max(lie);该列中的最大值select min(lie);该列中的最小值代码示例:select max(lie),min(lie)from table;3.分组表示order by...原创 2022-04-27 11:13:12 · 668 阅读 · 0 评论 -
MySQL流程控制函数
1.if函数我们使用lie代表咧,table指表if函数代码示例:select lie1,lie2,if (lie2>=10000,'高薪','普薪') "gongzi"from table ;以上if函数表示的是寻找lie2中数值大于等于一万的,做定义,大于一万则定义为高薪,否则反之。最后该列被命名为gongzi。2.ifnull函数ifnull 顾名思义,表示“如果数值为null”,ifnull函数代码示例如下:select lie1,lie2,ifnull(li原创 2022-04-23 21:46:34 · 893 阅读 · 0 评论 -
MySQL 中的字符串函数
1.关于字符串的长度代码示例:select ascii('abc') ,char_length('数据库'),length ('数据库')from dual;ascii:取字符串首位所对应的ascii码char_length:字符串长度length:字符串字节数运行结果:2. 字符串的连接代码示例:select concat(e.lie1,'worked for',m.lie1) from table e join table mwhere e.lie3原创 2022-04-22 09:21:14 · 982 阅读 · 0 评论 -
MySQL数值函数
1.数值的取整与取余(基本函数)select abs(x); 函数取绝对值select sign(x); 取符号,正数得1,负数得-1;select ceil(x);向上取整;select floor(x);向下取整;select rand(x);取0~1的随机数;select round(x,y);四舍五入;select truncate(x,y);截取代码示例:select abs(-123),sign(1),ceil(1.5),mod (13,5),rand(6)原创 2022-04-20 13:12:40 · 445 阅读 · 0 评论 -
MySQL中的多表查询
lie代表列,table指代表1.单表查询desc table;2.多表查询多表查询示例:select lie1,lie2,t1.lie3 -- 指明lie3属于t表内from table1 t1,table2 t2 -- 将表重命名where t1.lie3=t2.lie3;多表查询的分类:(1)等值连接与非等值连接#等值连接select lie1,lie2,t1.lie3 //指明lie3属于t表内from table1 t1,table2 t原创 2022-03-24 18:22:52 · 632 阅读 · 0 评论 -
MySQL中的排序和分页
排序:在mysql中,如果不指明排序顺序,则默认使用添加数据的顺序排序但在一定实际情况中,免不了需要进行排序。排序要使用的关键字是order by,同时使用desc表达降序,使用asc表达升序。如:select lie //列from table //表order lie desc; //对列降序排列此外,列的别名可以在order by使用,但不能在where中使用。 使用order by时如果不指明排序方式,则默认升序(asc)排序。分页:MySQL中原创 2022-03-19 10:26:39 · 1746 阅读 · 0 评论 -
简介SQL中的位运算符
位运算符的工作原理是先将要运算的数字转换成二进制,然后以二进制的形式进行运算。主要的位运算符有:与:&或:|抑或:^左移运算符:<<右移运算符:>>代码示例如下:select 12&5,12|5,12^5from dual;结果:代码示例如下:select 3<<1from dual;结果:如果对结果不理解,可先对十进制数与二进制数之间的转换进行了解。...原创 2022-03-16 19:02:43 · 1470 阅读 · 0 评论 -
SQL中的一些算术表达式
1.使用least()和greatest()寻找其中的最小值和最大值如:select least('a','b','p'),greatest ('a','b','p')from dual;可得:2.表示区间选择的语法可以使用between...and 语句 如:select employee_id ,last_name ,salary from employees e where salary between 6000 and 8000;select employee_id原创 2022-03-15 14:34:03 · 803 阅读 · 0 评论 -
基本select语句的使用
假使我们的列名为lie 表名为table1.select代表选择哪些列,from代表从哪个表内选择,select * 代表选择全部列,如:select * from table;2.选择特定的列则 select lie from table;3.给一个列取别名有三种方法:首先可以通过空格来取别名 如:select lie L from table;其次可以通过as来起别名 如:select lie as L from table;又或者通过双引号来起别名 如:select lie "列" fro原创 2022-03-14 16:08:50 · 13615 阅读 · 0 评论