
mysql
彭世瑜
记录我的工作学习笔记
展开
-
MySQL:JSON字段List成员检查
代码】MySQL:JSON字段List成员检查。原创 2022-08-17 18:10:19 · 236 阅读 · 0 评论 -
MySQL:字符串截取函数 substring_index
基本语法substring_index(str, delim, count)str: 要处理的字符串delim: 分隔符count: 计数示例-- 获取拆分后的第一个值select SUBSTRING_INDEX('www.wikidm.cn', '.', 1);-- www-- 获取拆分后的前2个值select SUBSTRING_INDEX('www.wikidm.cn', '.', 2);-- www.wikidm-- 获取拆分后的最后个值select SUBST原创 2022-04-28 10:04:41 · 604 阅读 · 0 评论 -
MySQL数据库(1):数据库 Database 基本概念
数据库Database按照数据结构来组织、存储、和管理数据,建立在计算机存储设备上的仓库数据库分类网络数据库层级数据库关系数据库基于存储介质分类磁盘 关系型数据库内存 非关系型数据库关系型数据库关系数据结构 二维表结构关系操作集合 SQL指令关系完整性约束 关联关系典型的关系型数据库小型:Microsotf Access SQLite中型:SQLServer MySQL大型:Oracle DB2...原创 2022-04-26 09:53:00 · 2080 阅读 · 0 评论 -
MySQL:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
环境mysql> select version();+-----------+| version() |+-----------+| 8.0.16 |+-----------+定义函数-- 最简单的函数create function foo() returns intreturn 10;报错ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in原创 2022-04-10 22:37:58 · 2153 阅读 · 0 评论 -
nodejs.ER_NOT_SUPPORTED_AUTH_MODEError: ER_NOT_SUPPORTED_AUTH_MODE:
报错:nodejs.ER_NOT_SUPPORTED_AUTH_MODEError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL clientmysql版本8.0.16解决:$ mys...原创 2019-10-13 22:00:19 · 1983 阅读 · 2 评论 -
MySQL:添加和查看表注释、字段注释
添加注释创建表的时候写注释create table student( name varchar(20) comment '字段的注释', age int comment '字段的注释')comment='表的注释';修改注释修改表的注释alter table student comment '修改后的表的注释';修改字段的注释alter table student mo...原创 2019-04-15 20:17:16 · 1922 阅读 · 0 评论 -
MySQL:自动维护create_time和update_time字段
通过建表语句设置,让mysql自动维护这两个字段,那么编程的时候也能少写一部分代码`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP参考MySQL自动设置create_time...原创 2019-04-27 13:00:20 · 5594 阅读 · 2 评论 -
MySQL:增加删除索引
为了记忆简单,统一使用最好理解的方式创建和删除索引(1)创建索引# 普通索引alter table table_name add index index_name (column_list);# UNIQUE索引alter table table_name add unique index_name (column_list) ;# PRIMARY KEY索引alter tabl...原创 2019-04-24 14:00:02 · 718 阅读 · 0 评论 -
Git:Git Bash连接MySQL
我直接输入以下指令,发现卡主了,完全没有反应$ mysql -uroot -p输入以下指定就可以正常登陆MySQL了$ winpty mysql -uroot -p参考如何在git bash中运行mysql...原创 2019-04-28 22:16:45 · 1630 阅读 · 0 评论 -
MySQL:Windows环境下的编码问题和解决
1、MySQL5.5 中文显示为 ?使用下面命令查看目前的字符集SHOW VARIABLES LIKE 'character%';复制my-medium.ini 并重命名为 my.ini 然后添加了如下几行:[client]default-character-set=utf8mb4[mysqld]character-set-server=utf8mb4collation-se...原创 2019-04-30 09:37:59 · 741 阅读 · 0 评论 -
MySQL:通过增加索引进行SQL查询优化
一次非常有意思的SQL优化经历:从30248.271s到0.001shttps://mp.weixin.qq.com/s?__biz=Mzg3MjA4MTExMw==&mid=2247485402&idx=1&sn=19653f2f820b96b4b85f257d74a4bd97&chksm=cef5f46cf9827d7ad927c0cbea2079dbdc71...原创 2019-04-30 19:34:07 · 1348 阅读 · 0 评论 -
Linux下安装MySQL5.7
下载地址:http://repo.mysql.com/安装MySQL5.7# 1、环境检查$ rpm -qa | grep mysql # 检查是否安装有mysql$ rpm -e mysql # 普通删除模式$ rpm -e --nodeps mysql # 强力删除模式# 2、下载rpm$ wget http://repo.mysql.com/my...原创 2019-07-11 15:13:12 · 1185 阅读 · 0 评论 -
Brew安装的MySQL8.0忘记密码修改密码
1、修改my.ini# 查看my.ini位置$ mysqld --help --verbose | more# 找到这一行,挨个试试,看存不存在# /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf$ ls /etc/my.cnfls: /etc/my.cnf: No such file or directo...原创 2019-09-15 15:02:59 · 1758 阅读 · 0 评论 -
MySQL:date_format格式化时间格式
示例select date_format(create_time,'%Y-%m-%d %H:%i:%S') from table_name# 2019-04-10 18:35:43参数说明格式 描述%a 缩写星期名%b 缩写月名%c 月,数值%D 带有英文前缀的月中的天%d 月的天,数值(00-31)%e 月的天,数值(0-31)%f 微秒%H 小时 (...原创 2019-04-11 15:32:47 · 1512 阅读 · 0 评论 -
MySQL:模糊查询LIKE、REGEXP、IN
1、[NOT] LIKE百分号(%):任意个或多个字符下划线(_):任意单个字符SELECT * FROM students WHERE name LIke '王%‘;2、[NOT] REGEXP字符. 任何单个的字符[…]在方括号内的任何字符^ 匹配开始$ 匹配结尾数量* 零个或多个在它前面的字符SELECT * FROM students WHERE name REG...原创 2019-04-04 10:32:25 · 1432 阅读 · 0 评论 -
数据库设计注意事项
DBMS数据库管理系统数据库设计1、有效存储2、高效访问目的:1、减少数据冗余2、避免数据维护异常3、节约存储空间4、高效的访问数据库设计过程:1、需求分析: 分析需要存储的数据是哪些,这些数据有哪些属性,这些属性各自的特点是什么2、逻辑设计: 使用ER图对数据库进行逻辑建模,3、物理设计: 使用哪款数据库设计建表(oracle,myslq,sqlserver)4、维...原创 2019-03-30 12:17:40 · 2769 阅读 · 0 评论 -
navicat连接MySQL8.0出现2059错误
问题: navicat连接MySQL8.0出现2059错误原因: mysql8以后的加密规则为caching_sha2_password解决问题 方法一:更新navicat驱动来解决此问题 方法二:将mysql用户登录的加密规则修改为mysql_native_password方法二操作进入mysqlALTER USER 'root'@'localhost' IDENTI...原创 2018-07-04 00:10:49 · 2152 阅读 · 0 评论 -
MySQL从零开始
登录 $ mysql -u root -p查看所有库 show databases;创建数据库 create database database_name;删除数据库 drop database database_name;选择数据库 use database_name;查看所有表 show tables;创建数据表 create table table_name(column_n...原创 2018-07-18 15:34:29 · 867 阅读 · 0 评论 -
python使用插入带有%的字符串到mysql数据库
使用Navicat插入新建包含两个字段,分别是id(自增主键),name(姓名)的数据表CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` `varchar`(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARS...原创 2018-07-18 17:48:46 · 6148 阅读 · 0 评论 -
mysql:insert ignore、insert和replace区别
指令 已存在 不存在 举例 insert 报错 插入 insert into names(name, age) values(“小明”, 23); insert ignore 忽略 插入 insert ignore into names(name, age) values(“小明”, 24); replace 替换 插...原创 2018-07-30 11:18:30 · 62166 阅读 · 7 评论 -
Python编程:DBUtils管理数据库连接池
每次执行一个sql的时候都单独建立一个mysql连接,执行完就close掉,很明显这样的问题在于,频繁连接,断开mysql,这样是相当消耗系统资源的,而且增加了mysql连接失败的几率,所以万一哪个线程没有连接成功 这个线程也over了。连接池原理在程序创建连接的时候,可以从一个空闲的连接中获取,不需要重新初始化连接,提升获取连接的速度关闭连接的时候,把连接放回连接池,而不是真...原创 2018-08-16 11:23:02 · 1922 阅读 · 0 评论 -
MySql优化:MySql查询字段最大长度
MySQL存储的时候,定义varchar字段一般会指定一个比较近似的值如果是在已经存储数据的表中,可以直接查看已知最大长度,可以对这个字段长度进行一定的优化SELECT max(length(column_name)) FROM table_name;指定varchar长度的原则是:尽量小,不够了可以以后增加,如果定义大了,一般很难往小的修改。参考MySQL如何查询某个字段长度最大...原创 2018-10-17 12:43:19 · 6206 阅读 · 2 评论 -
Python编程:records批量插入数据到mysql
关于records 的基本使用:Python编程:records库操作SQL查询MySQL数据库感谢Thrimbda 不厌其烦的解答,用英语聊了半天,发现他是chinese…言归正传,records可以批量进行插入操作import recordsdb = records.Database('mysql://root:ooxx@localhost/demo')data = [ ...原创 2018-11-08 17:46:37 · 1912 阅读 · 0 评论 -
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
跟着linux安装MySQL教程做的时候,执行到./bin/mysqladmin -u root password 123456mysql报错错误:'Can't connect to local MySQL server through socket '/tmp/mysql.sock'通过本地ip直接回车可以登录mysql -uroot -h 127.0.0.1 -p网上查找资料...原创 2018-12-02 16:20:03 · 13886 阅读 · 0 评论 -
Python编程:Python2编码问题与pymysql查询结果乱码解决
Python2编码一直是个让人头疼的问题,能够让一个充满激情的新手,从刚安装完python解释器到放弃。我就曾经放弃过,后来又拿了起来,真是一波多折。so,如果可能就尽量使用Python3吧下面我就python2通过pymysql处理查询结果为例说明要查询的数据表(包含中文)mysql> use demomysql> select * from names limit 3;...原创 2018-12-20 17:30:45 · 1933 阅读 · 2 评论 -
MySQL:binlog的开启和数据恢复
测试环境Mac OS 10.11.6mysql 5.7.21python 3.6.5开启binlog1、检查是否开启binlogmysql>show variables like '%log_bin%';2、开启binlogmysql的配置文件路径查找优先级为/etc/my.cnf/etc/mysql/my.cnf/usr/local/etc/my.cnf通过Hom...原创 2019-01-21 18:39:17 · 1168 阅读 · 1 评论 -
mysql批量插入重复不报错
方案一:ignore主键已存在,不更改原纪录,只插入新的记录INSERT IGNORE INTO方案二:replace主键已存在,则替换原记录,即先删除原记录,后insert新记录REPLACE INTO方案三:on duplicate key update主键已存在,则执行UPDATE更新操作INSERT INTO ... ON DUPLICATE KEY UPDATE...原创 2019-02-11 18:57:56 · 2381 阅读 · 0 评论 -
SQL:MySQL7种JOIN用法总结
数据准备1、建2张表# 姓名表create table table_name( id int(11) primary key auto_increment, user_id int(11) default 0, name varchar(5) default '');# 年龄表create table table_age( id int(11) primary key au...原创 2019-03-19 16:22:25 · 1211 阅读 · 0 评论 -
windows环境下mysql解压缩版安装
其实很简单,做下简单的总结下载首先,当然是下载mysql,不要去官网下载,当然如果网速很好的就没问题这里推荐去国内镜像站下载,比如: 清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/进入主页之后ctrrl + f搜索mysql进入: downloads/MySQL-8.0/我们是windows,当然要搜索win找到类似这样的...原创 2018-07-03 23:43:55 · 731 阅读 · 0 评论