MySQL随笔记

目录

1.备份

2.重命名

3.截取

4.查询重复的数据


1.备份

  1. create table dim_vcs_tmp as select * from dim_vcs;  //将表dim_vcs表结构和数据复制到dim_vcs_tmp,自动创建表dim_vcs_tmp。
  2. create table dim_vcs_tmp like dim_vcs;  //先将表结构以及索引复制过来。
    insert into table dim_vcs_tmp select * from dim_vcs;//再将数据复制过来,改方法更规范一点。
        其他用法 insert into dim_vcs_tmp(a,b,c) select a,b,5 from dim_vcs;  //写入一列常量。
  3. 利用dump工具备份mysqldump -h127.0.0.1 -uroot -p dbname table1 table2....   > /home/test.sql

2.重命名

  1. RENAME TABLE dim_vcs_sxjcjda_1121_test to dim_vcs_sxjcjda_1121_altercoordinate;

3.截取

  1. UPDATE dim_vcs_sxjcjda_1121_1 set sbqjbh=SUBSTRING(sbqjbh,1,9);  //将sbqjbh从第一位截取到第九位,目的是清除部分整数型 数据导入数据库时产生 .0的后缀。有许多个相同功能的函数。

4.查询重复的数据

  1. 查询sbqjbh重复的98条数据中,但jd、wd不同的12条数据。
    1.先将sbqjbh, sbqyxtmc, jd, wd都相同的86个sbqjbh过滤出来SELECT sbqjbh FROM ( SELECT sbqjbh, sbqyxtmc, jd, wd FROM dim_vcs_sxjcjda_1121_1 GROUP BY sbqjbh, sbqyxtmc, jd, wd HAVING COUNT( * ) > 1 ) b;
    2.取出sbqjbh重复的98条数据SELECT sbqjbh FROM dim_vcs_sxjcjda_1121_1 GROUP BY sbqjbh HAVING COUNT( * ) > 1
    3.用not in过滤出坐标系不同的12个点位信息。
    4.将坐标系不同的12个点位信息在全表中找出来。
    SELECT  sbqjbh
            ,sbqyxtmc
            ,jd
            ,wd
    FROM    dim_vcs_sxjcjda_1121_1 a
    WHERE   a.sbqjbh IN ( SELECT sbqjbh FROM ( SELECT sbqjbh FROM dim_vcs_sxjcjda_1121_1 GROUP BY sbqjbh HAVING COUNT( * ) > 1 ) b WHERE b.sbqjbh NOT IN ( SELECT sbqjbh FROM ( SELECT sbqjbh, sbqyxtmc, jd, wd FROM dim_vcs_sxjcjda_1121_1 GROUP BY sbqjbh, sbqyxtmc, jd, wd HAVING COUNT( * ) > 1 ) b ) )
    ORDER BY sbqjbh
    ;

5.删除

  1. 当你不再需要该表时, 用 drop;
    当你仍要保留该表,但要删除所有记录时, 用 truncate;
    当你要删除部分记录时,用 delete,但总是得带上where condition;

6.多表更新,将a表某列的数据更新为b表某几行的数据


    1.UPDATE table1 a,table2 b SET a.jd=b.jd , a.wd=b.wd WHERE a.sbbm=b.sbbm;
    2.SELECT a.yxt_id,a.sbyxt_jd,a.sbyxt_wd FROM dim_yjyd a JOIN dim_vcs_sxjcjda_copy1 b on a.yxt_id=b.sbqjbh;

7.

exists的用法
select a.sbqjbh from dim_vcs_sxjcjda a where exists (select b.sbqjbh from table2 b where b.sbqjbh=a.sbqjbh);
更改表名
alter table table21 rename dim_vcs_sxjcjda;
更改字段名
alter table table2 drop column sjdrsj,drop column sjdryh;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值