• MySQL Day4


    MySQL学习

    目录


    表的重命名

    • 重命名一张表有多种形式
    
    1. rename table <原来的表名> to <新的表名>;
    
    2. alter table <原来的表名> rename <新的表名>;
    
    3. alter table <原来的表名> rename to <新的表名>;
    
    

    表的添加

    • alter table <表的名字> add column <新列名字> <数据类型> <约束>;
    • alter table <表的名字> add <新列的名字> <数据类型> <约束>;

    如果想要添加到某一列的后面,那么使用关键字after

    比如:alter table <表的名字> add <新列的名字> <数据类型> <约束> after <原有列的名字>;

    如果需要添加到第一位,那么使用first关键字

    alter table <表的名字> add <新列的名字> <数据类型> <约束> first;

    表的删除

    • alter table <表的名字> drop <列的名字>;
    • alter table <表的名字> drop column <列的名字>;

    表中的列的删除与添加比较类似,关键字不一样。

    删除一张表可以使用drop table <表名>;

    表的一列重命名

    alter table <表的名字> change <原列名字> <新列名字> <数据类型> <约束>;

    请注意,这条语句中的数据类型不能丢失,否则是失效的。

    这条语句不仅仅是更改名字,还可以更改这一列的数据类型以及约束

    表中列更改数据类型

    • alter table <表的名字> change <原来列的名字> <列新的名字> <数据类型> <约束条件>
    • alter table <表的名字> modify <列的名字> <新的数据类型>

    请注意,更改数据类型的时候,可能会导致值丢失

    某个值的修改

    update <表的名字> set <列1>=<值1>,<列2>=<值2>... where <条件>;

    如果除去了where后面的条件,那么修改的是这一列全部的值

    通过这条命令,便可以进行修改了。

    删除一行记录

    • delete from <表的名字> where <条件>;

    如果除去了where后面的条件,那么删除的是全部的值,置为空表

    索引

    解释: 索引是一种与表有关的结构,他的作用相当于书的目录,可以根据书的内容从而快速寻找到相对应的页码。建立索引可以加快查询的速度。

    当含有大量的数据的时候,没有索引的情况下,是进行全表搜索。将所有的记录取出,然后一一匹对,再然后返回满足的记录。但是有一个缺点,会大量消耗磁盘的I/O操作,
    并花费大量的数据库系统的时间。

    建立索引的方法

    • alter table <表的名字> add index <索引名> <(列名)>;
    • create index <索引名> on <表名字> <(列名)>;

    可以使用语句show index from <表名>;来查看新建立的索引。

    有一些字段不适合创建索引,比如存在大量的重复记录的列,因为存在着大量的重复记录,所以无法享受索引带来的速度加成,不利于数据库的搜查。

    当使用where关键时,会自动搜索是否有可用的索引信息可供查询,如果有索引信息,那么会自动调用索引信息进行查询。有索引信息进行查询的时候,速度比没有索引信息的快。

    视图

    create view <视图名称><(列1,列2,列3...)> as select <列1,列2,列3...> from <表名>;

    查看视图可以使用select * from <列表名字>

    语句中,select后面部分属于select查询语句,可以使用子查询或者连接查询

    视图只是虚拟的表

    • 数据库中只存放视图的定义,并没有存放视图中的数据,视图中的数据是存放在原来的表中。视图只是把原来的数据拿过来用。
    • 查询视图的时候,只是把原来的数据拿过来用。
    • 视图中的数据会依赖原来的数据,如果原来的数据发生改变,那么视图中的数据会发生改变
    • 使用视图时,可以把他当成一张表

    导入

    show variables like '%secure%'

    使用上面的这一句语句,可以清楚那个文件是适合导入的,然后把相对应的文件放到该对应的文件夹中,从而使用load语句进行导入。

    load data infile '<文件路径>' into table <表的名字>;

    使用这句语句可以从文件中导入数据。因为导入数据属于敏感内容,因此必须得放文件在其相对应的路径上才能进行数据导入。

    在windows中,可以通过修改mysql中的配置文件,从而修改其保护目录。在输入目录中,必须使用\双斜杠,否则会出错。

    导出

    有导入语句自然有导出语句。导出是从表中导出文件到磁盘下。

    select <列1>,<列2>... into outfile '<文件目录名称>' from <表的名字>;

    请注意,文件如果有相同的名字,是不能够导出的,导出的必须是在其目录下并且不能与其有的名字相同。

    备份

    数据库中的数据通常情况下是十分重要的,因此我们需要备份其中的数据内容

    我们进行数据库的备份,是使用mysqldump实用程序,这个程序的使用并非是在mysql终端下进行操作的,如果是Linux系统,则是在其终端下进行操作,如果是windows系统,则是在cmd(命令提示符)下进行操作。

    
    mysqldump -u root <数据库名> > <备份文件名>;#备份整个数据库
    
    mysqldump -u root <数据库名> <数据库中的表的名> > <备份文件名>; #这是备份数据库中的一份表
    
    

    恢复

    数据库的恢复本质是重新导入备份出来的东西。

    sourse <目录+文件>

    上面是在mysql终端下进行操作的

    还有一种方式

    
    mysql -u root
    
    create database <数据库名字>;
    
    mysql -u root <刚刚创建的数据库名字> < <备份文件>
    
    

    所有的<>应该去掉,保留里面部分内容。

    Day4 Over

    这是小睿的博客,如果需要转载,请标注出处啦~ヾ(≧▽≦*)o谢谢。
  • 相关阅读:
    New Concept English Two 20 52
    timer Compliant Controller project (3)--bom and sch
    New Concept English Two 19 49
    CAM350对比两个gerber之间的差异
    New Concept English Two 18 46
    timer Compliant Controller project (2)--Project Demonstration
    New Concept English Two 17 43
    第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍
    第15.6节 PyQt5安装与配置
    第15.5节 PyQt的历史沿革介绍
  • 原文地址:https://www.cnblogs.com/Yunrui-blogs/p/12421319.html
Copyright © 2020-2023  润新知