python全栈之路06 SQL操作(索引)

1、SQL查询

2、约束
1)作用:保证数据的完整性,一致性,有效性.
2)约束分类:
默认约束(default)
插入记录,不给该字段赋值,则使用默认值
非空约束(not NULL)
不允许该字段的值有空值(NULL)
字段名 TYPE not null defalut ‘任意输出默认值’

3、索引
1)定义:
对数据库表的一列或多列的值进行排序的一种结构(Btree方式 != 二叉树)
2)优点:
加快数据检索速度
3)缺点:
占用物理存储空间
当对表中数据更新时,索引需要动态维护,降低数据维护速度

索引示例:

1)开启运行时间检测: set profiling = 1
2)执行查询语句
select name from 表名 where name = ‘查询名’;
3)查看执行时间
show profiles;
4)在name字段创建索引
create index name on 表名(name);
5)再执行查询语句
select name from 表名 where name = ‘查询名’
6)再查看执行时间进行比较

索引

1)索引的分类(约束不同)
1-普通索引(index)
可设置多个字段
字段值无约束
key标志:MUL
创建index:
创建表时
create table 表名(…
index(字段名),index(字段名))
已有表
create index 索引名 on 表名(字段名);
查看索引
decs 表名; --> KEY标志为: MUL
show index from 表名\G;
删除索引
drop index 索引名 on 表名;

2-唯一索引(unique)
基本同于普通索引
使用规则
可设置多个字段
约束: 字段值不允许重复,但可为空值
KEY标志: UNI
创建表时创建
unique(字段名),
unique(字段名)
已有表
create unique index 索引名 on 表名(字段名);
查看、删除 同 普通索引

3-主键索引(primary key)
自增长属性(auto_increment,配合主键一起使用)
使用规则:
只能有一个主键字段
约束: 不允许重复且不能为NULL
KEY标志: PRI
通常设置记录编号字段id,能唯一锁定一条记录
创建
创建表时
(id int primary key auto_increment,
)auto_increment=10000;##设置自增长起始值
已有表添加自增长属性
alter table 表名 modify 字段名 Type auto_increment;
已有表重新指定起始值
alter table 表名 auto_increment=20000
已有表
alter table 表名 add primary key(id);
删除
先删除自增长属性(modify)
alter table 表名 modify id int;
再删除主键索引
alter table 表名 drop primary key;

4-外键索引

4、数据导入

  1. 作用: 把文件系统内容导入到数据库中
  2. 语法:
    load data infile"文件名"
    into table 表名
    fields terminated by “分隔符”
    lines terminated by “\n”;
    3)将.csv文件导入到数据库中
    在数据库中创建一个对应的表
    selecte database();
    show database; # 检索目录下已有库
    create database … character set utf8; # utf8 编码格式
    create table 表名(
    字段名 类型

    );
    把文件拷贝到数据库的默认搜索路径中
    show variables like “secure_file_priv”;
    拷贝到默认路径下
    sudo cp ~/表名.csv /路径
    系统未更改时默认路径一般为 /var/lib/mysql-files/
    执行数据导入语句
    load data infile"/路径/文件.csv"
    into table 表名
    filelds terminated by “,”
    lines terminated by “\n”
    ;

文件权限:

rwx 分别为 4 2 1 根据chomd x ;

x 的值为权限和, 777 即为 -rwxrwxrwx-

Excel表格如何转化为CSV文件
打开Excel文件 -> 另存为 -> CSV(逗号分隔)
更改文件编码格式
用记事本/编辑器 打开,文件 -> 另存为 -> 选择编码格式

5、数据导出
1)作用
将数据库中表的记录导出到系统文件里
2)语法格式
select … from 表名
into outfile “/var/lib/mysql-files/文件名”
fields terminated by “分隔符”
lines terminated by “\n”;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值