MySQL 索引、数据导入、数据导出

索引

1、定义:对数据库表的一列或多列的值进行排序的一种结构(Btree方式)
2、优点:加快数据检索速度
3、缺点:占用物理存储空间;当对表中数据更新时,索引需要动态维护,降低数据维护速度
4、索引示例
  1、开启运行时间检测 :set profiling=1;
  2、执行查询语句
    select name from t1 where name="lucy99999";
  3、查看执行时间
    show profiles;
  4、在name字段创建索引
    create index name on t1(name);
  5、再执行查询语句
    select name from t1 where name="lucy88888";
  6、查看执行时间
    show profiles;
5、索引
  1、普通索引(index)
    1、使用规则
      1、可设置多个字段
  2、字段值无约束
  3、key标志 :MUL
    2、创建index
      1、创建表时
        create table 表名(...
        index(字段名),index(字段名));
      2、已有表
      create index 索引名 on 表名(字段名);
      create index name on t3(name);
      3、查看索引
        1、desc 表名; --> KEY标志为:MUL
  2、show index from 表名\G;
    4、删除索引
      drop index 索引名 on 表名;
  2、唯一索引(unique)
    1、使用规则
      1、可设置多个字段
  2、约束 :字段值不允许重复,但可为 NULL
  3、KEY标志 :UNI
    2、创建
      1、创建表时创建
        unique(字段名),
        unique(字段名)
  2、已有表
    create unique index 索引名 on 表名(字段名);
    3、查看、删除 同 普通索引
  3、主键索引(primary key)
    自增长属性(auto_increment,配合主键一起使用)
    1、使用规则
      1、只能有一个主键字段
  2、约束 :不允许重复,且不能为NULL
  3、KEY标志 :PRI
  4、通常设置记录编号字段id,能唯一锁定一条记录
    2、创建
      1、创建表时
        (id int primary key auto_increment,
        )auto_increment=10000;##设置自增长起始值
        已有表添加自增长属性:
        alter table 表名 modify id int auto_increment;
        已有表重新指定起始值:
        alter table 表名 auto_increment=20000;
      2、已有表
        alter table 表名 add primary key(id);
      3、删除
        1、删除自增长属性(modify)
          alter table 表名 modify id int;
        2、删除主键索引
          alter table 表名 drop primary key;
    4、外键索引
4、数据导入
1、作用 :把文件系统的内容导入到数据库中
2、语法
  load data infile "/var/lib/mysql-files/文件名"
  into table 表名
  fields terminated by "分隔符"
  lines terminated by "\n";
3、将scoretable.csv文件导入到数据库的表中
  1、在数据库中创建对应的表
  create table scoretab(
  id int,
  name varchar(15),
  score float(5,2),
  number bigint,
  class char(7)
  );
2、把文件拷贝到数据库的默认搜索路径中
  1、查看默认搜索路径
    show variables like "secure_file_priv";
    /var/lib/mysql-files/
  2、拷贝文件
    sudo cp ~/scoretable.csv /var/lib/mysql-files/
  3、执行数据导入语句
    load data infile "/var/lib/mysql-files/scoretable.csv"
    into table scoretab
    fields terminated by ","
    lines terminated by "\n";
  4、文件权限
    rwxrw-rw- 1 tarena tarena scoretable.csv
          所有者 所属组
    rwx : tarena用户
    rw- : 同组其他用户
    rw- : 其他组的其他用户(mysql用户)

    r -> 4
    w -> 2
    x -> 1
    chmod 644 文件名 rw-r--r--
  5、Excel表格如何转化为CSV文件
    1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)
  6、更改文件编码格式
    1、用记事本/编辑器 打开,文件->另存为->选择编码
5、数据导出
1、作用
  将数据库中表的记录导出到系统文件里
2、语法格式
  select ... from 表名
  into outfile "/var/lib/mysql-files/文件名"
  fields terminated by "分隔符"
  lines terminated by "\n";
3、把MOSHOU库下的sanguo表英雄的姓名、攻击值、国家导出来,sanguo.txt
  select name,gongji,country from MOSHOU.sanguo
  into outfile "/var/lib/mysql-files/sanguo.txt"
  fields terminated by " "
  lines terminated by "\n";
  $ sudo -i
  $ cd /var/lib/mysql-files/
  $ ls
  $ cat sanguo.txt
4、将mysql库下的user表中 user、host两个字段的值导出到 user.txt
  select user,host from mysql.user
  into outfile "/var/lib/mysql-files/user.txt" fields terminated by " "
  lines terminated by "\n";

原文地址:https://www.cnblogs.com/LXP-Never/p/9404611.html

时间: 2024-10-24 01:37:39

MySQL 索引、数据导入、数据导出的相关文章

【原创】MySQL和PostgreSQL 导入数据对比

在虚拟机上测评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 因为是虚拟机上的测评,所以时间只做参考,不要太较真, 看看就好了. MySQL 工具: 1. 自带mysqlimport工具. 2. 命令行 load data infile ... 3. 利用mysql-connector-python Driver来写的脚本. PostgreSQL 工具: 1. pgloader 第三方工具. 2. 命令行 copy ... from ... 3. 利用psyco

MySQL和PostgreSQL 导入数据对照

在虚拟机上測评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 由于是虚拟机上的測评,所以时间仅仅做參考,不要太较真, 看看就好了.MySQL 工具:    1. 自带mysqlimport工具.    2. 命令行 load data infile ...    3. 利用mysql-connector-python Driver来写的脚本. PostgreSQL 工具:    1. pgloader 第三方工具.    2. 命令行 copy ... from

sqlite的数据导入与导出

数据导入的来源可以是其他应用程序的输出,也可以是指定的文本文件,这里采用指定的文本文件.   1. 首先,确定导入的数据源,这里是待导入的,按固定格式的文本文件.   2. 然后,依照导入的文件格式,确定想导入的目标数据表,这个数据表如果没有,可以依照待导入的文本文件格式,创建一个相对应的数据表.   3. 最后,执行.import命令,将文本文件中数据导入数据表中. 1. 数据源 在/home/ywx/yu/sqlite/下,创建一个名为data.txt的文本文件,并输入以下数据,数据之间采用

MySQL和PostgreSQL 导入数据对比

在虚拟机上测评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 因为是虚拟机上的测评,所以时间只做参考,不要太较真, 看看就好了.MySQL 工具:    1. 自带mysqlimport工具.    2. 命令行 load data infile ...    3. 利用mysql-connector-python Driver来写的脚本. PostgreSQL 工具:    1. pgloader 第三方工具.    2. 命令行 copy ... from

SDE与shapefile之间的数据导入与导出

一.SDE要素导出到shapefile中. 1.创建一个新的shapefile文件. private bool CreateShapefile(string filepath, string name) { bool isSuccssed = false; try { IFeatureWorkspace pFWS = null; IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass(); pFWS = pWSF.OpenFromF

memcached命令行memcached数据导入和导出PHP链接memcached memcach

memcached命令行 memcached数据导入和导出 PHP链接memcached 先安装php的memcache扩展cd /usr/local/src/wget ?http://www.apelearn.com/bbs/data/attachment/forum/memcache-2.2.3.tgz tar zxf memcache-2.2.3.tgz?cd memcache-2.2.3/usr/local/php-fpm/bin/phpize./configure --with-php

Python全栈 MySQL 数据库 (索引、数据导入、导出)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 表字段重命名(change)  alter table 表名 change 原名 新名 数据类型: SQL查询 执行顺序: 3. select ...聚合函数 from 表名 1. where ... 2. group by... 4. having... 5. order by... 6. limit... group by 语句 作用:给查询结果进行分组 注意: 1.group by之后的字段

mysql命令行导入和导出数据

MySQL中导出CSV格式数据的SQL语句样本如下: Sql代码   select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; [sql] view plain copy print? select * from test_info into outf

MySQL学习笔记十一:数据导入与导出

数据导入 1.mysqlimport命令行导入数据 在使用mysqlimport命令导入数据时,数据来源文件名要和目标表一致,不想改文件名的话,可以复制一份创建临时文件,示例如下. 建立一个文本users.txt,内容如下: 1001,张三,zhangsan@163.com 1002,李四,zhangsan@126.com 1003,王五,zhangsan@qq.com 1004,李白,zhangsan@hotmail.com 创建一个表users mysql> create table if

Talend open studio数据导入、导出、同步Mysql、oracle、sqlserver简单案例

推荐大家一个BI工具:talend open studio.我也是刚接触,懂得不多,感觉比较神奇就想大家推荐一下... 由于公司项目,接触了一下BI工具talend,感觉功能很强大, 可以同步多种数据库,同时可以清洗.筛选.java代码处理数据.数据导入导出. 甚至可以内联查询多种数据库,感觉比较神奇.当然我们可以借助sql语句和程序也可以实现,不过对于百万条的数据,安全性和可靠性...? 这个作业涉及到:excel数据导入.数据清洗.java代码数据处理.MySql同步.Mysql和Oracl