数据库
数据库
kgduu
这个作者很懒,什么都没留下…
展开
-
使用zip包来安装mysql
下载地址,使用5.7.23。原创 2024-08-14 19:34:06 · 397 阅读 · 0 评论 -
sqlite3使用中的问题
1、创建自增使用 integer primary key autoincrement。3、创建表时不能同时创建索引,需要create index。原创 2023-12-18 16:19:02 · 776 阅读 · 0 评论 -
mysql中查询创建时间在多长时间之前的记录使用DATE_SUB
DATE_SUB() 函数从日期减去指定的时间间隔。原创 2023-11-23 09:50:19 · 182 阅读 · 0 评论 -
mysql建表问题
例如用户表,我们需要建一个字段是创建时间, 一个字段是更新时间.解决办法可以是指定插入时间,也可以使用数据库的默认时间.在mysql中如果设置两个默认CURRENT_TIMESTAMP,会出现这样的错误.原创 2023-08-28 17:28:15 · 386 阅读 · 0 评论 -
多租户设计
多组织架构 ---- 数据层面隔离多租户架构 ---- 资源层面隔离。原创 2023-08-22 16:42:02 · 319 阅读 · 0 评论 -
sql语句笔记
1、在数据库中更新计数时,对计数值减1,如果为负值,则为0。原创 2023-08-10 20:12:14 · 83 阅读 · 0 评论 -
sqlite3多线程操作问题
1、多线程读,多线程写,只使用共同一个数据库连接,即使用同一个SQLiteHelper连接,调用sqlite3_busy_timeout。2、多线程读,单线程写,每个线程使用各自独立的数据库连接,但是需要开启wal模式,以开启数据库连接池。在项目中使用sqlite3,有时会报database is locked。开启wal通过如下语句。原创 2023-08-09 13:59:18 · 3159 阅读 · 0 评论 -
mysql转sqlite3
在项目中需要将mysql迁移到sqlite3中,此时需要作数据转换。原创 2023-08-06 11:27:49 · 2815 阅读 · 0 评论 -
数据库资料
https://www.sqlite.org/index.html原创 2023-08-02 08:48:33 · 119 阅读 · 0 评论 -
soci的理解
2、statement在execute时,如果传的参数为true,会根据into和use的大小来调整语句执行次数,用于批量操作中。1、soci不支持批量orm,只支持简单类型的批量。原创 2023-07-20 22:31:38 · 414 阅读 · 0 评论 -
soci源码解析
结构use_type原创 2023-07-15 21:35:19 · 1213 阅读 · 0 评论 -
soci在windows下vs2010编译
因为其使用的的是mysql connector c的api,需要下载https://downloads.mysql.com/archives/c-c/分别对应32位和64位的。原创 2023-06-14 23:07:34 · 396 阅读 · 0 评论 -
mysql++编译
以下适用于mysql5。原创 2023-06-02 21:20:17 · 120 阅读 · 0 评论 -
关系数据库与非关系型数据库区别
关系数据库与非关系型数据库区别原创 2022-08-11 22:28:50 · 682 阅读 · 0 评论 -
mysql的explain
mysql的explain原创 2022-06-06 21:22:51 · 135 阅读 · 0 评论 -
MySQL 调优工具
对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢?俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要手段,因为,好的工具是使你的工作效率倍增!今天和大家分享几个mysql 优化的工具,你可以使用它们对你的mysql进行一个体检,生成awr报告,让你从整体上把握你的数据库的性能情况。注 意文末有:7701页互联网大厂面试题mysqltuner.pl是mysql一个常用的数据库性..原创 2022-05-02 14:24:07 · 449 阅读 · 0 评论 -
Oracle学习网站
Oracle学习网站http://www.oracle-base.com 能弄懂这里面的文章,那oracle的基本功就非常扎实。(英)http://asktom.oracle.com/pls/apex/f?p=100:1:0 ; 主要是高手答疑的网站,偏向提高类(英)http://www.qujon.com/ ; 一大堆视频教程,仅供参考,偶尔听听别人的声音是很有必要的。(中)转载 2015-01-11 19:44:18 · 747 阅读 · 0 评论 -
oracle11g安装中的问题
1、缷载时oci.dll文件删除不了?删除注册表中oracle相关的项,环境变量中的oracle路径去掉,重启后即可删除2、安装进提示有指定的sid已经存在?删除注册表中oracle相关的项原创 2015-01-09 20:19:17 · 1788 阅读 · 0 评论 -
oracle实现自增字段
用序列和触发器实现1、create table table_name(id number,name varchar2(50));2、create sequence sequence_name minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 100;3、create or replac原创 2014-12-13 16:08:13 · 493 阅读 · 0 评论 -
ubuntu18.04下编译mysql5.7源码
1、安装ncurses,bisonsudo apt install libncurses5-devsudo apt install bison原创 2020-04-06 23:14:32 · 1914 阅读 · 2 评论 -
ubuntu17.04下mysql5.7.18源码安装
1、下载mysql5.7.18源码(带有boost)下载 地址为https://dev.mysql.com/downloads/mysql/2、添加mysql组及用户groupadd mysql #添加mysql用户组useradd -r -g mysql -s /bin/false mysql #添加mysql用户3、编译mysql源码 及安装参考https:/原创 2017-06-04 18:01:45 · 1892 阅读 · 0 评论 -
InnoDB行锁的实现分析
InnoDB与MyISAM不同,它实现的是一个行级锁,而非MyISAM的表锁。锁的粒度越大,则发生死锁的概率越小、锁机制开销越小,但并发能力会越低。如果锁的粒度变细,则发生死锁的概率也会增大,锁机制的开销会更大,但是并发能力能提高。表锁是如何实现的呢,以MyISAM为例,是在每个表的结构中加入一个互斥变量记录锁状态,像:struct Table {Row rows[MAXROWS];p转载 2017-02-24 14:50:28 · 634 阅读 · 0 评论 -
线上飙升800%,load达到12的解决过程
接到报警通知,负载过高,达到800%,load也过高,有11了。MySQL版本为5.6.12-log1 top 之后,确实是mysqld进程占据了所有资源。2 查看error日志,无任何异常3 show eninge innodb status\G,没有死锁信息。4 show full processlist;没有耗时非常大的慢sql再跑。看并发,当转载 2017-02-24 12:49:34 · 522 阅读 · 0 评论 -
数据库数据满足树结构时,求一个结点的子结点有哪些
可以先创建函数,然后调用。drop function if exists queryChildCommentId;delimiter //create function queryChildCommentId(parentId int)returns varchar(4000)begindeclare ret varchar(4000);declare retTmp varchar原创 2017-02-18 18:05:33 · 669 阅读 · 0 评论 -
Mysql 错误 Code: 1093. You can't specify target table for update in FROM clause
You can't specify target table 'recharge_log' for update in FROM clause这个问题出现的情况是:更新一个表的数据时,where条件中包含被表新表的子查询:delete from r_log where ope = "111" and site in (select distinct(site) from r_log转载 2016-12-15 22:52:36 · 1224 阅读 · 0 评论 -
mysql 中的like查找不忽略大小写
like默认情况下是忽略大小写的,但是加上collate latin1_general_cs就可以避免这种情况了例子如下:The following two statements illustrate that string comparisons are not case sensitive unless one of the operands is a case sensiti原创 2015-12-17 20:59:37 · 4221 阅读 · 0 评论 -
测试时用存储过程来修改测试数据
在测试时,可能会需要制造些假数据来测试,此时可以用存储过程来实现差异化的数据代码如下:DROP PROCEDURE IF EXISTS test;DELIMITER //CREATE PROCEDURE test()BEGIN DECLARE dat DATETIME DEFAULT DATE_SUB(NOW(), INTERVAL 1 DAY); DECLARE m_id IN原创 2015-12-06 22:51:40 · 914 阅读 · 0 评论 -
Incorrect number of FETCH variables
在写存储过程,运行后提示“Incorrect number of FETCH variables”原来是用游标select的字段数需要与fetch into的变量数一致原创 2015-12-06 00:11:07 · 19283 阅读 · 0 评论 -
mysql 批量更新
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即可:复制代码代码如下: UPDATE转载 2015-11-18 20:11:28 · 550 阅读 · 0 评论 -
mysql的学习总结
1、批量insert比单独insert效率高原创 2015-11-17 22:12:40 · 701 阅读 · 0 评论 -
C/C++连接MySql数据库
本文对如何使用MySql的API连接MySql数据库,开发环境为VS2008. 一、VS2008工程设置工作首先,建立一个windows应用程序的工程,将C/C++->预处理器->预处理器定义下的_WINDOWS改为_CONSOLE,将连接器->系统->子系统 选择为控制台。由于我们要使用Mysql的API,并且我们机子上肯定安装了Mysql数据库,所以我们要将转载 2015-11-10 22:59:13 · 827 阅读 · 0 评论 -
mysql中表名为关键字的处理方法
这是一条简单sql语句,向order表里插入数据。看到哪里错了吗? INSERT INTO order VALUES ('1471', 'go-1471-1-3340');执行的时候会报错:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQ转载 2015-07-21 15:29:18 · 2159 阅读 · 0 评论 -
mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
第一种方法:原因:在我的配置文件my.cnf中有这样一条语句sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES指定了严格模式,为了安全,严格模式禁止通过insert 这种形式直接修改mysql库中的user表进行添加新用户 解决办法:将配置文件中的STRICT_TRANS_TABLES删掉,即改为:sql_mode原创 2015-07-14 23:48:29 · 3099 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I转载 2015-07-14 09:56:37 · 850 阅读 · 0 评论 -
mysql用户管理
1.登录和退出mysql服务器通过mysql命令并在后面指定登录主机以及用户名和密码mysql命令常用参数如下(1)-h主机,可以用该参数指定主机名域ip,如果不指定,默认是localhost(2)-u用户名,可以用该参数指定用户名(3)-p密码,可以用该参数指定登录密码。如果该参数后面有一段字段,则该字段字符串将作为用户的密码直接登原创 2015-07-04 21:41:41 · 765 阅读 · 0 评论 -
mysql中的G标志实现纵向显示
mysql中提供了一个G [g] 标志,放到sql语句后,可以使一行的每个列打印到单独的行。例如:mysql> select * from user_msg limit 2\G;*************************** 1. row *************************** uid: 1 today_msg: 0 tod转载 2015-07-02 18:00:48 · 2004 阅读 · 0 评论 -
mysql replace into用法详细说明
REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARYKEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。所有列的转载 2015-07-02 17:57:29 · 481 阅读 · 0 评论 -
INSERT IGNORE 与INSERT INTO的区别
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在不存在时插入数据的目的。原创 2015-07-02 09:52:13 · 2718 阅读 · 0 评论 -
mysql中的索引对查询的影响
索引可以提高查询速度,但是并不是使用带有索引的查询,索引都会起作用。1、使用LIKE关键字的查询如果匹配字符的第一字符使用的%,索引不会起作用,只有第一个字符不是字符 %时,索引才会起作用2、多列索引的查询语句只有查询语句中使用了这些字段中的第一个字段时,索引才会起起作用。3、带有or的查询只有or前后的两个条件中的列都是索引时,查询中才使用索引。原创 2015-05-27 19:58:31 · 1864 阅读 · 0 评论 -
mysql 的默认数据库mysql为什么在 workbench下看不到?
进入edit>preference>sql editor ,勾选show metadata and internal schemas即可转载 2015-05-27 19:19:26 · 7135 阅读 · 0 评论