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之后字段必须要select之后字段
     2.如果select之后的字段和group by 之后的字段不一致,则必须
       字段进行聚合处理(聚合函数)
having 语句
   作用:对查询结果进一步筛选
   注意:
      1.having语句通常和group by联合使用过滤group by语句返回的记录集
      2.where只能操作表中实际存在的字段having by可操作由聚合函数生成的显示列
distinct
   作用:不显示字段重复值
   注意:
      1.distinct和from之间所有字段都相同 才会去重
      2.distinct不能对任何字段做聚合处理
 运算符:
      +     -    *    /    %
   ## sudo apt-get install python3-pip     安装pip3
   ## sudo pip3 install pymysql                安装mysql
 
  约束:
   1.作用保证数据完整性、一致性、有效性
   2.约束分类
        1.默认约束(default)
              插入字段给该字段赋值 则使用默认值
        2.非空约束(not NULL)
             不允许该字段值有NULL记录
             sex enum(“M”,"F","S") not null defaulf "S"
索引
  定义:
    对数据库表色一列或多列的值进行排序的一种结构
    (Btree方式)
 

 
  优点:
     加快数据的检索速度
  缺点:
     1.需要占用物理存储空间
     2.当对表中数据更新时,索引需要动态维护降低
       数据维护速度 占用系统资源
运行时间检测:
   开启:set profiling=1;
   关闭:set profiling=0;
   查询MySQL变量:show variables like profiling;
   查询执行记录:show profilings;
字段创建索引:
    create index name on t1(字段名);
索引的分类:
    1.普通索引(index)
       使用规则:
            1.可设置多个字段
            2.字段值无约束
            3.key标志:MUL
       创建index
            创建表时创建
            create table(....
              ...
             index(字段名),
             index(字段名2)...)
       已有表添加index
             create index 索引名 on 表名(字段名);
       查看索引:
            1.desc 表名;   key:MUL
            2.show index from 表名
            3.show index from\G;
       删除索引:
            drop index 索引名 on 表名;
    2.唯一索引(unique)
       使用规则:
            1.可以设置多个字段
            2.约束:字段值不允许重复,但可以为NULL
            3.key标志:UNI
       创建unique:
          1.创建表时创建
             unique(字段名),..
          2.已有表
               create unique index 索引名 on 表名(字段名);
       查看、删除 和普通索引一致
          
    3.主键索引(primary key)
          自增属性(auto_increment,配合主键一起使用
       使用规则:
           1. 只能有一个主键字段
           2. 约束:不允许重复,且不能为NULL
           3.key标志:PRI
           4.通常设置记录编号字段id,能唯一锁定一条记录
       创建primary key
         创建表时:
           1.id int primary key auto_increment,
           2.起始值:表()auto_inctement=10000;
        已有表:
            alter table 表名 add primary key(id);
            添加:alter table 表名 modify id int auto_inctement;
       删除:
          1.删除自增属性(modify)
              alter table 表名 modify id int;
          2.删除主键索引
              alter table 表名 drop primary key;
 
    4.外键索引........
算法全是btree 节省时间都一样  不同的是约束不同
 
这里btree 算法 有人说btree就是btree 不是二叉树  但是我觉得就是二叉树 没什么区别
根据数据量的大小 提升速度  快能达到几百倍的提速
 
 
数据导入:
   作用:
      把文件系统的内容导入到数据库
   语法:
     load data  infile “文件名”
     into table 表名
     fields terminated by “分隔符”
     lines terminated by “\n”;
步骤:
       1.数据库创建对应
       2.把文件拷贝到数据库的默认搜索路径
          1.查看默认路径 
              show variables like “secure_file_priv”;
              /var/lib/mysql-files/
          2.拷贝文件
              sudo cp ~/scoretable.csv /var/lib/mysql-files/
       3.把表导入到数据库
数据导出:
   作用:
     数据库中表的记录导出到系统文件里
   语法:
      select ... from 表名
      into outfile “/var/lib/mysql-files/文件名”
      fields terminated by “分隔符”
      lines terminated by “\n”;
步骤:
    1.直接执行导出命令
    2.自动创建文件
    3.默认导出到默认搜索路径
 
 
  文件权限:
       rwxrw-rw- 1 tarena tarena 
                            所有者 所属组
        rwx:tarena用户
        rw-:同组其他用户
        rw-:其他组的用户(mysql)
           r:  4
           w:  2
           x:  1
           最高权限:7
     查看权限:ls -l 文件名
        修改文件权限:chmod  644 文件名
 
Excel表格如何化为CSV文件
        打开Excel文件 -> 另存为 -> CSV(逗号分隔)
更改文件编码格式
        用记事本/编辑器 打开,文件->另存为->选择编码
 
 
导入示例:

 

将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";

导出示例:

把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"; 将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"; 查询
$ sudo -i
$ cd /var/lib/mysql-files/
$ ls
$ cat sanguo.txt

Python全栈 MySQL 数据库 (索引、数据导入、导出)的更多相关文章

  1. Python全栈 MySQL 数据库 (引擎、事物、pymysql模块、orm)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     存储引擎(处理表的处理器)     基本操作:         ...

  2. Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)

    为了梦想与了信仰    开局一张图   主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用   先删库 再跑路.....                         ...

  3. Python全栈 MySQL 数据库 (简述 、安装、基本命令)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     一个月的python已经结束了  下面就是数据库了   先说M ...

  4. Python全栈 MongoDB 数据库(数据的修改)

    修改操作符的使用   $set 修改一个域的值,增加一个域   阿哲年龄修改为33 db.class1.update({name:'阿哲'},{$set:{age:33}})   如果sex域不存在则 ...

  5. Python全栈 MySQL 数据库 (SQL查询、备份、恢复、授权)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图   今天接着昨天的说   索引有4种:      普通 索引 :ind ...

  6. Python全栈 MongoDB 数据库(数据的查找)

      非关系型数据库和关系型数据库的区别? 不是以关系模型构建的,结构自由 非关系型数据库不保证数据一致性 非关系型数据库可以在处理高并发和海量数据时弥补关系数据库的不足 非关系型数据库在技术上没有关系 ...

  7. Python全栈 MySQL 数据库 (表字段增、删、改、查、函数)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图         查询SQL变量 show variables 1.表字 ...

  8. Python全栈 MongoDB 数据库(概念、安装、创建数据)

    什么是关系型数据库?           是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,             同时也是一个被组织成一组拥有正式描述性的表格( ...

  9. docker中mysql数据库的数据导入和导出

    导出数据 查看下 mysql 运行名称 docker ps 结果:  执行导出(备份)数据库命令: 由第一步的结果可知,我们的 mysql 运行在一个叫 mysql_server 的 docker ...

随机推荐

  1. fast rcnn的实例

    http://www.cnblogs.com/louyihang-loves-baiyan/p/4906690.html https://saicoco.github.io/object-detect ...

  2. 分类算法简介 基于R

    最近的关键字:分类算法,outlier detection, machine learning 简介: 此文将 k-means,decision tree,random forest,SVM(supp ...

  3. Tomcat8.0.36安装配置

    1.下载tomcat8.0.36 下载地址:http://tomcat.apache.org/download-80.cgi 2.解压 至C:\Program Files\tomcat8下 3.添加系 ...

  4. CUDA 纹理内存

    原文链接 1.概述 纹理存储器中的数据以一维.二维或者三维数组的形式存储在显存中,可以通过缓存加速访问,并且可以声明大小比常数存储器要大的多. 在kernel中访问纹理存储器的操作称为纹理拾取(tex ...

  5. ajax实现无刷新两级联动DropDownList

    ajax实现的无刷新三级联动 http://zhangyu028.cnblogs.com/articles/310568.html 本文来自小山blog:http://singlepine.cnblo ...

  6. 数据库MySQL基本介绍安装使用及文件导入导出

    1.数据库(data base) 1.1 简述 把文件存储在一台电脑上(服务器),其他电脑用户可以通过账号密码登陆,通过网络去访问这台电脑上的文件,但是由于每个人的数据是不同的,所以你只能通过自己的账 ...

  7. 【Java】数组知识回顾

    package another; import java.util.Arrays; import java.util.List; /** * 数组知识回顾 * @author ChristineBas ...

  8. java从图片中识别文字

    package com.dream.common; import java.awt.image.BufferedImage; import java.io.File; import java.io.I ...

  9. c# 解决读取Excel混合文本类型,数据读取失败的解决方法

    错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保 ...

  10. 【转载】CString,string,char*之间的转换

    本文转自 <> 这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌 ...