mysql 导入数据 索引_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";

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值