mysql
xiyuanda
这个作者很懒,什么都没留下…
展开
-
MYSQL中怎么直接操作varchar类型中存储的JSON
MYSQL中怎么直接操作varchar类型中存储的JSON原创 2023-01-05 17:40:10 · 934 阅读 · 0 评论 -
深入理解MySQL索引
为什么要使用索引? 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以大大加快 数据的检索速度(大大减少的检索的数据量), 这也是创建索引的最主要的原因。 帮助服务器避免排序和临时表。 将随机IO变为顺序IO 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 索引这么多优点,为什么不对表中的每一个列创建一个索引呢? 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。原创 2022-04-09 15:15:00 · 151 阅读 · 0 评论 -
简单理解MySQL中的引擎、事务、索引、锁
MyISAM和InnoDB区别MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyISAM 崩溃原创 2022-04-09 10:12:54 · 185 阅读 · 0 评论 -
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED V..原创 2022-02-12 21:00:00 · 102 阅读 · 0 评论 -
MySQL命令行基本操作
注意:所有命令都以“;”结束。一、MySQL启动与登录1. MySQL启动:通过运行mysql安装目录下的/bin/mysqld.exe文件来启动Mysql服务。在命令行中进入mysql安装目录下的bin目录,执行命令:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"(指定配置文件,配置文件的位置根据具体情况而定)即可启动mysql服务。为了以后开启mysql服务的方便,你可以将mysql注..原创 2022-02-12 16:02:29 · 3361 阅读 · 0 评论 -
Mysql日期函数格式转换
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。date 参数是合法的日期。format 规定日期/时间的输出格式。可以使用的格式有:常用格式 对应描述 %Y --年,4 位 %m --月,数值(00-12) %M --月名 %k --小时(0-23) 使用方法:select DATE_FORMAT(date,'%Y-%m')as monfrom resume_infowhere date like '2025%原创 2021-12-15 14:46:41 · 619 阅读 · 0 评论 -
Mysql中的sum() over (order by ) 开窗函数
sum() over (order by ) 开窗函数,sum(a) over (order by b) 的含义是:例如a b 1 5 4 3 6 7 按照b列排序,将a依次相加,得到结果,如下:a b sum(a)over(order by b) 4 3 4 1 5 4+1 6 7 4+4+6 ...原创 2021-12-15 14:36:31 · 2393 阅读 · 1 评论 -
mysql中的EXISTS用法简介
首先分清:EXISTS子查询找到的提交NOT EXISTS 子查询中 找不到的提交查询方式:Exists执行的流程Exists首先执行外层查询,再执行内层查询,与IN相反。 流程为首先取出外层中的第一元组, 再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果时.返回外层表中的第一元组,接着取出第二元组,执行相同的算法。一直到扫描完外层整表 。也可以说是指定一个子查询,检测行的存在。遍历循环外表,然后看外表中的记录有没有和内表的数据一样的。匹配上就将结果放入结...原创 2021-12-11 10:34:51 · 2287 阅读 · 0 评论 -
MySQL中的left,right函数
1、LEFT(s,n)函数返回字符串s开始的最左边n个字符。 select left(‘asdfgghj‘,5); ======>‘asdfg‘2、RIGHT(s,n)函数返回字符串s最右边的n个字符。 select right(‘asdfghjkl‘,3); ======>‘jkl‘3、结合concat函数使用。 select concat(left(‘asdfghj‘,2),‘xx‘); ======>‘asxx‘s:字...原创 2021-12-07 19:36:10 · 848 阅读 · 0 评论 -
mysql中查找 某个varchar字段中 某个符号或字符 出现的次数
例:查找字符串’10,A,B’ 中逗号’,'出现的次数?用到的函数:length(s)函数: s是字符串, 返回的是所求的字符串s的长度。replace(a,b,c): 在字符串a中,将a中出现的b,替换成c。再把这个替换之后的串的结果返回。解题思路:用原来的长度减去将逗号替换成空之后的长度就是逗号的数量selectid,length(string)-length(replace(string,",",""))fromstrings;...原创 2021-12-07 19:21:32 · 277 阅读 · 0 评论 -
Mysql删除titles_test表中重复的emp_no记录,只保留最小的id对应的记录。
删除emp_no重复的记录,只保留最小的id对应的记录。CREATE TABLE IF NOT EXISTS titles_test (id int(11) not null primary key,emp_no int(11) NOT NULL,title varchar(50) NOT NULL,from_date date NOT NULL,to_date date DEFAULT NULL);insert into titles_test values ('1', '10001',.原创 2021-12-07 19:00:59 · 298 阅读 · 0 评论 -
Mysql构造一个触发器
题目描述:构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);CREATE TABLE audit(EMP_no INT NOT NULL,NAME TEXT NOT NU原创 2021-12-07 18:51:17 · 529 阅读 · 0 评论 -
Mysql中alert用法
主键alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); 增加一个新列alter table t2 add d timestamp; alter table infos add ex tinyint not null default '0'; 删除列alter table t2 drop c...原创 2021-12-07 18:46:39 · 5138 阅读 · 0 评论 -
Mysql安装
1.解压完成之后将其放到你喜欢的地址当中去。2.配置环境变量我的电脑->属性->高级->环境变量->系统变量->选择PATH,在其后面添加:D:\mysql-5.6.49-winx64\mysql-5.6.49-winx64\bin注意这里要配置到你解压到的位置的bin目录下3、修改配置文件打开根目录,将 my-default.ini 复制粘贴,并重新命名为 my.ini在my.ini当中输入注意:安装目录和数据存放目录改成你自..原创 2021-11-29 15:22:26 · 53 阅读 · 0 评论