mysql如何从数据库处理数据_MySQL数据库的常见操作(七)

本文介绍了MySQL数据库的常见操作,包括创建数据库、处理重名数据库、设置数据库编码、修改数据库编码、删除数据库,并强调了在不同版本中设置默认编码的重要性。还特别提醒了在更改编码时避免数据丢失的风险及其解决方案。
摘要由CSDN通过智能技术生成

MySQL数据库的常见操作

1、创建数据库

2、创建重名的数据库以及如何查看警告信息

3、设置数据库的编码方式(默认为utf8)

4、修改和查看数据库的编码方式

5、删除数据库

6、6、删除已经删除了的数据库

1、创建数据库

c015c7ca04dc482e31496edd39119bd5.png

花括号代表必须是要有的,中括号代表是可有可不有,竖线是代表选择,即是从花括号里选择。

这里的查询和我们后面学习的查找,是两个截然不同的概念。

一行被影响,当我们把数据库创建成功之后,它要把我们数据库创建成功的结果,要放到系统数据库里,所以出现一行被影响。

64fb23de96cb407e02bf812803b906a5.png

121908629d1a91af30aa02f77b62c2f0.png

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+

3 rows in set (0.05 sec)

mysql> create database dajiangtai;

Query OK, 1 row affected (0.04 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| dajiangtai |

| mysql |

| test |

+--------------------+

4 rows in set (0.01 sec)

mysql>

2、创建重名的数据库以及如何查看警告信息

f17c0eabe1d59638a9bdfa5d3d732642.png

218ccf7af7ef9394e13c5cb0ce62e6fa.png

mysql> create database dajiangtai;

ERROR 1007 (HY000): Can't create database 'dajiangtai'; database exists

mysql> create database if not exists dajiangtai;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show warnings;

+-------+------+-----------------------------------------------------+

| Level | Code | Message |

+-------+------+-----------------------------------------------------+

| Note | 1007 | Can't create database 'dajiangtai'; database exists |

+-------+------+-----------------------------------------------------+

1 row in set (0.00 sec)

mysql>

我们可以看到警告级别是Note,警告信息还是我们之前看到的那个信息。

只是说,用了if not exists不会把错误信息直接反馈到客户端而已。默认的编码方式,是配置文件my.ini里的

查看某数据库的编码方式是什么?

2c507f27188848bb0f3499d3e78004dd.png

mysql> show create database dajiangtai;

+------------+-----------------------------------------------------------------

-----+

| Database | Create Database

|

+------------+-----------------------------------------------------------------

-----+

| dajiangtai | CREATE DATABASE `dajiangtai` /*!40100 DEFAULT CHARACTER SET latin

1 */ |

+------------+-----------------------------------------------------------------

-----+

1 row in set (0.00 sec)

mysql>

这条指令的意思是,数据库创建时所使用的指令是什么。可以看到数据库名称是dajiangtai,但是,编码方式是默认的latin1。

MySQL5.7版本

[client]下添加

default-character-set=utf8

[mysqld]下添加

character-set-server=utf8

如果不这样改,会导致5.7版本mysql无法打开。不信你试试

MySQL5.5版本

[client]下添加

default-character-set=utf8

[mysqld]下添加

default-character-set=utf8

MySQL5.1版本

[client]下添加

default-character-set=utf8

[mysqld]下添加

character-set-server=utf8

重启MySQL生效即可。

3、设置数据库的编码方式(默认为utf8)

de1929e42d8deed36cb0465caf525bf7.png

mysql> create database if not exists dajiangtai character set utf8;

Query OK, 1 row affected (0.05 sec)

mysql> show create database dajiangtai;

+------------+-----------------------------------------------------------------

---+

| Database | Create Database

|

+------------+-----------------------------------------------------------------

---+

| dajiangtai | CREATE DATABASE `dajiangtai` /*!40100 DEFAULT CHARACTER SET utf8

*/ |

+------------+-----------------------------------------------------------------

---+

1 row in set (0.00 sec)

mysql>

0e63d9c9a89c2e72436a3d839afaeb8f.png

mysql> create database if not exists dajiangtai2 character set gbk;

Query OK, 1 row affected (0.01 sec)

mysql> show create database dajiangtai2;

+-------------+----------------------------------------------------------------

----+

| Database | Create Database

|

+-------------+----------------------------------------------------------------

----+

| dajiangtai2 | CREATE DATABASE `dajiangtai2` /*!40100 DEFAULT CHARACTER SET gbk

*/ |

+-------------+----------------------------------------------------------------

----+

1 row in set (0.00 sec)

mysql>

这里注意,以后随着我们的业务和数据增加,比如,dajiangtai2这个数据库,在创建时编码方式没注意,比如已经是gbk编码方式了,那么,我们不要想当时删除dajiangtai2这个数据库,再来重新创建,这是一笔非常大的损失。

那么,我们如何在不丢失这些数据记录的基础上,怎么把编程方式由原来的gbk为uft8?

4、修改和查看数据库的编码方式

7ca5b92ef9c692fc0a266e09ea50922d.png

mysql> alter database dajiangtai2 character set utf8;

Query OK, 1 row affected (0.00 sec)

mysql> show create database dajiangtai2;

+-------------+-----------------------------------------------------------------

-----+

| Database | Create Database

|

+-------------+-----------------------------------------------------------------

-----+

| dajiangtai2 | CREATE DATABASE `dajiangtai2` /*!40100 DEFAULT CHARACTER SET utf

8*/ |

+-------------+-----------------------------------------------------------------

-----+

1 row in set (0.00 sec)

mysql>

5、删除数据库

cd26c1287363d4118dd4645976ef25d7.png

62c30058cf356aac6e8ddea62952ccbd.png

mysql> drop database dajiangtai;

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| dajiangtai2 |

| mysql |

| test |

+--------------------+

4 rows in set (0.00 sec)

mysql>

6、删除已经删除了的数据库

ac0d06e63e75d7b98c66eef583faffe3.png

d92de4463020c1ace5478dcda5050e1d.png

mysql> drop database dajiangtai;

ERROR 1008 (HY000): Can't drop database 'dajiangtai'; database doesn't exist

mysql> drop database if exists dajiangtai;

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值