事物的难度远远低于对事物的恐惧
数据库的内部存储结构主要分为数据库、数据表和数据,本文主要说明对数据库的指令操作。使用的数据库版本是8.0.23.
1.登录数据库
登录数据库使用下面的指令:
mysql -h服务器地址 -u用户名 -p(回车后输入密码)
D:\software\mysql-8.0.23-winx64\bin>mysql -hlocalhost -uroot -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2.查询当前所有的数据库
指令如下:
show databases;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
这里显示的是默认的数据库。
3.创建新的数据库
指令如下:
create database 新的数据库名称 编码;
其中编码可不写,那么就是默认的编码格式。先看不带编码得创建新的数据库指令:
mysql> create database student;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
+--------------------+
5 rows in set (0.00 sec)
带编码的创建新数据库指令:
mysql> create database person character set gbk;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| person |
| student |
| sys |
+--------------------+
6 rows in set (0.00 sec)
4.查看数据库的编码格式
指令如下:
show create database 数据库名称;
mysql> show create database student;
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| student | CREATE DATABASE `student` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show create database person;
+----------+---------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------------------------------------+
| person | CREATE DATABASE `person` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
其中student数据库是采用默认的编码格式,person数据库是采用gbk的编码格式。
5.修改数据库的编码格式
指令如下:
alter database 数据库名称 character set 编码格式;
mysql> alter database person character set utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> show create database person;
+----------+----------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------------------------------------------+
| person | CREATE DATABASE `person` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
上面的代码将person数据的编码格式由原来的gbk改成了utf8格式的。
6.删除数据库
指令如下:
drop database 数据库名称;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| person |
| student |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> drop database person;
Query OK, 0 rows affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
+--------------------+
5 rows in set (0.00 sec)
上面的代码成功将person数据库删除了。
7.修改数据库的名称
经过测试下面的代码在新的数据中无法使用,在5.1.23版本之前可以正常的使用。
rename database 数据库的旧名称 to 数据库的新名称;
但这个方式存在丢失数据的风险,高版本数据库可以参考这位博主的文章 MySQL数据库改名的三种方法
8.切换数据库
指令如下:
use 数据库名称;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| person |
| student |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> use student;
Database changed
9.查看当前使用的数据库名称
指令如下:
mysql> select database();
+------------+
| database() |
+------------+
| student |
+------------+
1 row in set (0.00 sec)
结语:
本文主要是针对数据库的一些基础指令操作,后续将进行说明针对于数据表和数据等指令操作。
可以参考下方列出的我的其他MySQL文章: