mysql笔记(持续更新)

#查看任务情况

show full processlist

##查看表结构

desc test.pes_id

##创建普通索引

CREATE  INDEX conpany_id ON zgai_db.AI_pes_id(conpany_id);

##创建唯一索引

CREATE UNIQUE INDEX age ON mytable(age);

##查看/删除表索引

show index from test.pes_id

drop index leader_name on test.pes_id ;

##复制/备份数据库

##命令行执行:

mysqldump zgai_db -uroot -p密码 --add-drop-table | mysql zgai_db_bak -u root -p密码;

##跨服务器复制/备份库:

mysqldump jydb -uroot -p密码 --add-drop-table | mysql -h 192.168.7.245 -P 23306 test1 -u root -p密码;

##跨服务器复制/备份表

mysqldump jydb -uroot -p密码 --tables LC_COConcept --add-drop-table | mysql -h 192.168.7.245 -P 23306 test1 -u root -p密码;

##远程备份

mysqldump -h ip -u用户 -p密码 test1   --skip-lock-tables > /home/testbackup.sql

##查看触发器

show triggers like '表名’;

##ANY_VALUE

##条件插入

update jydb.com_id a, jydb.LC_StockArchives b 

 set a.jy_id=b.CompanyCode 

where a.company_name=b.ChiName;

#合并多个字段成一个字段,有一个字段为null,结果为null

select concat (id, name, score) as info from tt2;

select concat (id, ’,’ , name, ’,’ ,score) as info from tt2;

select concat_ws (‘,’ , id, name, score) as info from tt2;

#IFNULL(字段名,0)函数可以让null值字段返回0

将group by产生的同一个分组中的值连接起来,返回一个字符串结果

Select name , group_concat(id) from tt2 group by name ;

把id聚合后,按照id大小排序,并以’_’分割

Select name , group_concat(id order by id desc separator '_') from tt2 group by name ;

concat和group_concat可以组合使用

https://blog.csdn.net/mary19920410/article/details/76545053

#统计同名人数

select LeaderName,count(*) as count from jydb.LC_LeaderPosition group by LeaderName having count>1;

#统计返回条数

SELECT count(*) FROM (select LeaderName,count(*) as count from jydb.LC_LeaderPosition group by LeaderName having count>1) a;

没有用 括号的情况下, and优先 where a>b or a>c and a>d 等价于 where a>b or (a>c and a>d) 如果想要先计算or where (a>b or a>c) and a>d

#给某个字段值固定,可以是不存在的新字段

select 1 as id,StrVal from 表

#迁移数据

表结构会变:

create table zgai_db.AI_com_id select * from test.AI_com_id;    

表结构不变:

CREATE TABLE zgai_db.AI_leader_info SELECT * FROM test.AI_leader_info WHERE 1=2 

INSERT INTO zgai_db.AI_leader_info SELECT * FROM test.AI_leader_info

#两个表取差集

SELECT mailbox_id FROM `co_user` left join

(select mailbox_id as i from core_mailbox) as t1

on co_user.mailbox_id= t1.i where t1.i is NULL;

#公司名称去除引号

update zgai_db.AI_conpany_augment set new_company_name=REPLACE(new_company_name,'\'','\\\'') where com_status=0;  

字段补位补0

update Tushare.bar a set a.code=LPAD(code, 6, 0)

猜你喜欢

转载自blog.csdn.net/xiaoyu_BD/article/details/81700041