MySQL:库和表的具体操作和细节

Begin:

在上一篇博客中,介绍了数据库的基本操作,这一篇就来说说库和表的一些具体操作。

一、操作数据库

1、显示数据库的创建语句:

语法格式:show  create  database  库名;

mysql> show create database hello_sql;

回车之后,会出现我们创建这个数据库的语句,如图:

说明:

1)第一列是数据库名。这里是我们创建的hello_sql数据库。

2)第二列是创建数据库的语句,但这里用单引号括起来的原因是:防止库名与关键字冲突。

3)被/* ......*/包起来的内容不是注释,表示当前版本大于4.01就执行这句话。

4)CHARACTER  SET  utf8:表示这个库的默认编码格式为utf8。

2、修改数据库的编码格式(字符集)

语法格式:alter  database  库名  charset=字符集名;

mysql> alter database hello_sql charset=gbk;

更改之后可以查看一下进行验证,如图:

可以看到,字符集已经变成了gbk;

3、数据库的备份

语法格式:mysql  -u  root  -p  库名 > 数据库备份存储的文件路径

F:\>mysqldump -u root -p  hello_sql> ./hello.sql

然后打开这个.sql文件,你会发现将整个创建数据库、建表、导入数据的语句都装载在这个文件当中。

4、数据库删除:

语法格式:drop  database  数据库名;

mysql> drop database hello_sql;

删除之前:

删除之后:

可以发现在删除之后,数据库系统中没有了"hello_sql"这个库。

5、数据库恢复

语法格式:source + 路径

 首先这里我们得先建立一个库,然后使用这个库来接收导入的这个库。

mysql> create database hello_sql;
Query OK, 1 row affected (0.03 sec)

mysql> use hello_sql;
Database changed

我们这里创建了一个hello_sql库,用来接收将要导入的库。

*****这里需要注意的是,必须要有“use + 数据库名”的操作,不然脚本是不知道要往哪个库导入。

mysql> source F:/hello.sql;

导入后,我们可以验证一下:

可以发现,与我们之前创建的一模一样的。

6、查看链接情况

共享性是数据库的一大特点,大家可以连接到同一个数据库下进行数据共享。所以我们也有相应的查看数据库链接的指令:

语法规则:show  processlist;

mysql> show processlist;

二、表操作

1、创建表

语法规则:create table 表名(列名1  列名1类型,列名2  列名2类型......)character set 字符集 collate 校验规则 engine  存储引擎;

说明:不同的存储引擎,创建表的文件不一样。当我们指定的引擎是MyISAM时,对应的有三个文件:.frm表结构、.MYD表数据和.MYI表索引。

2、查看表结构

在上篇博客中说了这个语法格式,在这里重点说表结构中各部分都代表什么。

3、修改表

1)在表中添加字段:

语法规则:alter table 表明 add 字段名字段类型;

mysql> alter table student add sex varchar(5) comment '性别' after name;

首先解释一下这句话:在“name”字段后面加上“sex”字段,备注为“性别”,类型为“varchar”。备注和类型在后面还会说到。

可以查看一下有没有按照我们的要求进行添加:

2)修改name字段类型的长度:

语法规则:alter table 表名 modify 字段名 字段类型(修改后长度)

mysql> alter table student modify name varchar(60);

3)删除列

语法规则:alter table 表名 drop 列名;

mysql> alter table student drop id;

可以看到,删除之后“id”列在表中消失。但是需要注意的是:删除之前需要考虑该列还有没有数据?数据还有没有用?需不需要备份?备份了吗?以为一旦删除列之后,该列的所有数据都被删除了。

其实不管是删除表,还是删除库,我们都得问自己“备注了吗?”,要做到心中有数。

4)修改表名

语法规则:alter table 表名 rename to 新表名;

mysql> alter table student rename to child;

5)修改字符集

语法规则:alter table 表名 charset=字符集名;

mysql> alter table child charset=gbk;

6)修改列明

语法规则:alter table 表名 change 列名 新列名 列名类型;

mysql> alter table child change name 姓名 varchar(60);

可以验证一下我们所修改的对不对:

完!

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_41890097/article/details/82149214
今日推荐