背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引. 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索引了 MySQL 中日志表slow_log和general_log主要特点 日志表只能是CSV和MYISAM存储引擎 更改日志表的存储引擎必须先停止使用该日志表 日志表中的数据不记录binlog 锁表语句FTWRL和lock tables.read_only对日志表无效 用户不能对日志表进行DML操…
username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 为数据表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其它字段的值为数据表定义时的默认值. 基本的语法格式如下: INSERT INTO 表名(字段1,字段2,...,字段m) VALUES(值1,值2,...,值m); 字段1,字段2,...,字段m:表示数据表中的字段名称…
MySQL获取Schema表名和字段信息 获取表名 select TABLE_NAME,TABLE_TYPE,ENGINE,TABLE_ROWS,TABLE_COMMENT,CREATE_TIME,UPDATE_TIME, CHECK_TIME from information_schema.TABLES where TABLE_SCHEMA='t_shop' ; 获取字段名 select COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NUL…
mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it" 现象描述: mysql中大数据表执行alter增加字段时,/tmp的目录爆满,并且报错"1034 Incorrect key file for table 'table_name'; try to repair it". 故障分析: 1.查询MySQL官网得知: *“ALTER TABLE运…
关联表更改某一个字段值:更改部分数据,外层where条件控制更改记录的数量 BEGIN; " ; "; ROLLBACK; -- COMMIT; 关联表更改某一个字段值:更改全部记录 BEGIN; "; SELECT * FROM sturgeon_summary; ROLLBACK; -- COMMIT; 关联表更改多个字段值: BEGIN; UPDATE sturgeon_summary s SET s.set_date = (SELECT set_date FROM s…
MYSQL在一个字段值后面加字符串,如下: member 表名 card 字段名 update member SET card = '00' || card; (postgreSQL 用 || 来连贯字符串) MySQL连贯字符串不能利用加号(+),而利用concat. 比方在aa表的name字段前加字符'x',利用: update aa set name=concat('x',name)…
目录 一.存储引擎 二.表介绍 三.创建表 四.查看表结构 五.数据类型 一.介绍 二.数值类型 整数类型 浮点型 三.字符串类型 四.日期类型 五.枚举类型与集合类型 六.约束条件 七.修改表 alter table 复制表 九 删除表 一.存储引擎 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 存储引擎详见:https://www.cnblogs.com/zhangchaocoming/p/11789703.html 二.表介绍 表相当于文件,表中的一条记录就相当于文件的一…
1.查询user表 select * from mysql.user 2.修改用户密码 ALTER user ' 3.user表中各字段的含义 Select_priv:用户可以通过SELECT命令选择数据. Insert_priv:用户可以通过INSERT命令插入数据; Update_priv:用户可以通过UPDATE命令修改现有数据; Delete_priv:用户可以通过DELETE命令删除现有数据; Create_priv:用户可以创建新的数据库和表; Drop_priv: 用户可以删除现有…
使用CONCAT()函数 mysql向表中某字段后追加一段字符串(field为字段名): update table_name set field=CONCAT(field,'str',) mysql 向表中某字段前加字符串update table_name set field=CONCAT('str',field)…
通常单天的日志 仅仅记录当天的日志信息,假设须要查看一月内的日志信息须要对每天的日志表结果集合进行拼接,通经常使用到 union . 储存过程: drop PROCEDURE if EXISTS unionSp; DELIMITER // create procedure unionSp(sTime varchar(32), eTime varchar(32),tchema varchar(32)) begin declare sqlVar varchar(1024000); declare r…
工作中遇到了一个问题,邮件系统群发失败,后来经过排查查找到了原因 原来是因为mysql中的两张表的关联字段竟然不一致, 表A mysql> desc rm_user_router;+------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+-------------+------+-----+---------+---…
A.B为2个不同的表,将A表的a字段赋值给B表的b字段:update B set b = (select a from A where A.id = B.id) where B.b is null 注:where B.b is null为将B表的b字段为空的值赋值为A表的a字段…
如下:一张订单表多个字段关联用户表: 1.链表查询 SELECT cu.id AS 'id',cu.version AS 'version',cu.cid AS 'cid',cu.uid AS 'uid',cu.shopName AS 'shopName',cu.address AS 'address', cu.totalPrice AS 'totalPrice',cu.orderType AS 'orderType', cu.state AS 'state',cu.cCreateTime AS…
1.建表语句sys_user CREATE TABLE `sys_user` ( `id` varchar(32) NOT NULL COMMENT '编号', `dept_id` varchar(32) DEFAULT NULL COMMENT '部门', `login_name` varchar(50) NOT NULL COMMENT '登录名', `password` varchar(100) NOT NULL COMMENT '密码', `salt` varchar(20) NOT N…
原本是主键一对一关联的,后来发现这样操作很不方便,改成主外键一对一 所以添加一个外键字段bodyId(文章正文单独存一个表) UPDATE t_article SET bodyId=id; 但是等了半天报错The total number of locks exceeds the lock table size 但是我已经设置 转念一想,现在操作的不是这个数据库,是另一台主机上的 打开之后,设置4096M,重启mysql 经过500秒的操作,23万数据刷完了…
表A和表B,现在希望更新A表,当 A.bid = B.id时,a.x = b.x, a.y=b.y,请问mysql中sql语句 update a inner join b on a.bid=b.id set a.x=b.x,a.y=b.y ;…
xtype字段包含的值的意思如下: AF = Aggregate function (CLR) 聚合函数(CLR)  C = CHECK constraint CHECK约束  D = Default or DEFAULT constraint 默认或DEFAULT约束  F = FOREIGN KEY constraint 外键约束  L = Log 日志  FN = Scalar function 标量函数  FS = Assembly (CLR) scalar-function 组装(CL…
项目中有用到这种类似的分表,如果要添加一个字段的话,该怎么办呢? dba表示弄 一个脚本批量处理就行了,卧槽,这我哪会啊,于是硬着头皮又继续问dba,dba给一个脚本,一看是这样的. #!/bin/bash for db in {rmlog_bs_db_01,rmlog_bs_db_02,rmlog_bs_db_03,rmlog_bs_db_04,rmlog_bs_db_05,rmlog_bs_db_06,rmlog_bs_db_07,rmlog_bs_db_08,rmlog_bs_db_09,…
http://www.netingcn.com/mysql-column-name.html mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息.知道这个表后,获取任意表的字段就只需要一条select语句即可.例如: select COLUMN_NAME from information_schema.COLUMNS where…
现在有两个表,A表字段AMOUNT为发票金额,B表字段REV为收款金额,两表通过字段id关联,需将A表的字段AMOUNT与B表的字段REV相减, 但是A表表示的发票可能对应多个B表的收款金额,如何将A表的AMOUNT与对应的B表的多个REV值的和相减,得到未收款金额 select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result   from a,        (select b.id,sum(b.REV) REV           from b     …
Question表与Paper表 Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值 如: 'f855eba1-b308-4bd7-a250-c071a0e1bdf0','c0570880-931b-4b34-ba34-58937f940c21','96249256-ddd7-4b28-a066-ebe1c337cf6c','c0b6171a-1b50-4881-a5f5-9928ce1bf593','b71ad813-abad-40f2-bf97-a1ae…
1.查询 MySQL 的版本: SELECT VERSION(); 2.查询 MySQL 当前使用的字符集: SHOW VARIABLES LIKE '%character%'; 3.查询指定数据库的指定数据表的状态信息(db_test 是数据库,t_text 是数据表): SHOW TABLE STATUS FROM `db_test` LIKE '%t_text%'; 4.查看数据表的列信息: SHOW FULL COLUMNS FROM t_text; 5.修改数据表 t_text 的字符…
一.错误展示 1.首先向大家展示多表关联查询的返回结果集 <resultMap id="specialdayAndWorktimeMap type="com.hierway.resm.domain.manage.timeSchedule.SpecialDayWorkTimeVO"> <id column="special_date_id" property="specialDateId"/> <result…
在最近的窗帘项目中,我需要增加新的计价方法,其中就有一个是在后台输入价格的: 数据表: 购买页面 点击提交订单 那么我要算出有遮光衬布物品的价格,就必须知道我在后台设置的价格是多少 所以上代码: $interfacing = Model('setting')->where(array('name'=>array('in',array('NoShadingcloth','Shadingcloth'))))->select(); $array = array(); foreach ($int…
一.导出数据库表格信息 #mysql导出库的表格信息 SELECT A.TABLE_SCHEMA, A.TABLE_NAME, A.TABLE_ROWS, A.CREATE_TIME, A.TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES A WHERE A.TABLE_SCHEMA = 'sqlstudy' 二.导出数据库字段信息 ##mysql导出表格字段信息 SELECT A.TABLE_SCHEMA, A.TABLE_NAME, A.COLUMN_…
#======================================================================= #查询表信息 select table_name, table_comment, create_time, update_time from information_schema.tables where table_schema = (select database()); #=====================================…
select COLUMN_NAME from information_schema.`COLUMNS`        -- 这行不变,照抄 where TABLE_SCHEMA = 'xerp'                     -- 数据库名xerp and TABLE_NAME = 'sdb_ome_orders'                 -- 表名sdb_ome_orders…
解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-character-set=utf8,保存,然后重启MySql服务就可以从命令行成功导入了.缺点,因为部署的话,可能无法配置用户的计算机,那么方法一就无用武之地了... 解决方法2:在数据库脚本文件开头加入一行 set character set utf8; 解决方法3: a. use database_name;    b. set names u…
select p.id comperitorId,p.compcorp competitorName, sum(case when c.kindname = 'ATM' then c.num else 0 end) atm, sum(case when c.kindname = 'CRS' then c.num else 0 end) crs, sum(case when c.kindname = 'VTM' then c.num else 0 end) vtm, sum(case when c…
我将mysql的数据表的某个字段设置了默认值为1,当向该表插入数据的时候该字段的值不是默认值,而是null. 我的错误原因: 对数据库的操作我使用了持久化工具mybatis,插入数据的时候插入的是整个实体,直接使用的是持久层的insert(实体对象)方法插入的数据 这样就会出现一个问题,当实体对象中某个属性值为空时,对应的数据库的字段就会插入null值,而默认值是插入时不指定该字段,该字段的值才会取默认值. 所以这里我是向设置了默认值的字段插入了null,才导致出现上述错误. 我的解决方法: 这…