mysql相关知识

  更改数据库密码,触发器,数据插入,备份数据等

更改数据库密码

1
2
update mysql.user set password=password('123456');
flush privileges;

触发器

MYSQL触发器自己更新自己错误

一个表的数据插入另一个表

mysql从一个表中查数据,插入另一个表
1、 数据一致,想全部插入:
  INSERT INTO 目标表 SELECT * FROM 来源表 ;
2、 导入部分数据:
  INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表 ;
  insert into local_image(createdDate, data) SELECT '2016-10-10' createdDate,data FROM local_image;

其他知识

1
`SELECT * FROM information_schema.`PROCESSLIST` t WHERE t.`COMMAND` != 'Sleep';

show processlist结果筛选 https://www.2cto.com/database/201309/246586.html

导出库

1、导出结构不导出数据
  mysqldump -d 数据库名 -uroot -p > xxx.sql
2、导出数据不导出结构
  mysqldump -t 数据库名 -uroot -p > xxx.sql
3、导出数据和表结构
  mysqldump 数据库名 -uroot -p > xxx.sql
4、导出特定表的结构
  mysqldump -u root -p 数据库名 –table 表名 > xxx.sql

mysqldump参数

1、备份出test库表中表的结构和数据(除了image表)

1
D:\mysql\bin>mysqldump --single-transaction --ignore-table=test.image -u root -p test > bak.sql

2、备份出test库表中表image的结构和数据(数据的条件是id > 2)
  mysqldump -u用户名 -p密码 数据库名 表名 –where=”筛选条件” > 导出文件路径

1
D:\mysql\bin>mysqldump -u root -p test image --where=" id > 2 " > image.sql

具体参数详情:MYSQL使用mysqldump导出某个表的部分数据

导入数据

mysql 数据库名 < 文件名
source /tmp/xxx.sql

group_concat

MySQL中group_concat函数,连接字段,多个值显示为一行

事务

truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
SQL中truncate table和delete的区别

文章目录
  1. 1. 更改数据库密码
  2. 2. 触发器
  3. 3. 一个表的数据插入另一个表
  4. 4. 其他知识
  5. 5. 导出库
    1. 5.1. mysqldump参数
  6. 6. 导入数据
  7. 7. group_concat
  8. 8. 事务
|