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

posted @ 2020-03-05 17:13  野生的Lemon柠檬  阅读(177)  评论(0编辑  收藏  举报

呱呱呱呱呱🐸