• MySql排序,去重,表复制,数据导入导出


    序列:

    MySQL 序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。

    Create table insect(ID int UNSIGNED NOT AUTO_INCREMENT) #engine=innodb auto_increment=100 charset=utf8;  

    table中就会生成一自增的列 id   默认是从1开始自增, 也可以设置起始值,

    数据去重

    可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。

    如果我们设置了唯一索引,那么在插入重复数据时,SQL 语句将无法执行成功,并抛出错

    INSERT IGNORE INTO 与 INSERT INTO 的区别就是 INSERT IGNORE 会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。 INSERT IGNORE INTO,执行后不会出错,也不会向数据表中插入重复数据:

    统计重复SELECT COUNT(*) as repetitions, last_name, first_name #选择可能会重复的列

    -> FROM person_tbl
        -> GROUP BY last_name, first_name
        -> HAVING repetitions > 1;   #重复一次以上的数据

    过滤重复的数据:
    SELECT DISTINCT last_name, first_name
    FROM person_tbl;

    删除重复数据
    CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl  GROUP BY (last_name, first_name, sex);
    DROP TABLE person_tbl;
    ALTER TABLE tmp RENAME TO person_tbl;
    先讲person_tab 排序去重后复制给tmp 然后删除person_tab 然后将tmp改名


    复制整张表
    复制MySQL的数据表,包括表的结构,索引,默认值等
    • 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
    • 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
    • 如果你想复制表的内容,你就可以使用 INSERT INTO ... SELECT 语句来实现。
    MySql数据导出  以逗号隔开  双引号标值  (CSV格式)
    SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '
    ';
    导出数据作为原始数据
    mysqldump -u root -p --no-create-info 
                --tab=/tmp RUNOOB runoob_tbl   #--tab  是用来指定导出文件的目录
    password ******

    将数据库备份到其它主机库中
    mysqldump -u root -p database_name table_name > dump.txt   #将数据库导入到到dump.txt文件中
    mysql -u root -p database_name < dump.txt         #将备份的数据库文件导入到目标主机上
     
    在目标主机上执行mysql -uroot -p123456 < runoob.sql 
     
     
















  • 相关阅读:
    JS实现双击内容变为可编辑状态
    DataTables 1.10.x与1.9.x参数名对照表
    div里 datapicker显示异常的情况之一
    javascript 添加行,删除行,datepicker获取当前日期和上一个月日期并设置格式,笔记
    jQuery 实现添加表格行,删除行,调用日期控件
    c# webbrowser控件内核版本强制修改
    【.net】获取网页CDM的下载链接的地址
    MySQL 密码增强插件
    跟我一起学extjs5(42--单个模块的数据新增方式)
    给 Android 开发人员的 RxJava 具体解释
  • 原文地址:https://www.cnblogs.com/1026164853qqcom/p/11127229.html
Copyright © 2020-2023  润新知