1、数据库的登录及退出
root@server \~# systemctl start mysqld
必须先启动服务否则报错,如下所述报错信息:
root@server \~# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
登陆格式
mysql -u 用户名 -h 服务器的主机地址 -p密码
2、查看数据库
代码格式:
sql
mysql> show databases [like 条件];
+--------------------+
| Database
|
+--------------------+
| information_schema |
| mysql
|
| performance_schema |
| sys
# 注意有s
|
+--------------------+
4 rows in set (0.00 sec)
-
MySQL自带数据库
-
Information_schema: 主要存储了系统中的一些数据库对象信息,如:用户表信息、列信息、权限信息、字符集信息、分区信息等。(数据字典表)
-
performance_schema:主要存储数据库服务器的性能参数
-
mysql: 存储了系统的用户权限信息及帮助信息
-
sys: 5.7新增,之前版本需要手工导入。这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据
-
使用条件查询:
sql
mysql> show databases like 'sys';
+----------------+
| Database (sys) |
+----------------+
| sys |
+----------------+
1 row in set (0.00 sec)
-
带有通配符的条件
-
%:匹配任意零个或多个字符
-
_ :匹配任意单个字符
-
sql
mysql> show databases like 's%';
+---------------+
| Database (s%) |
+---------------+
| sys |
+---------------+
1 row in set (0.00 sec)
mysql> show databases like '__sql';
+------------------+
| Database (__sql) |
+------------------+
| mysql |
+------------------+
- 查看数据库当前时间
sql
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2023-02-10 09:39:14 |
+---------------------+
1 row in set (0.00 sec)
- 显示数据库版本
sql
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.37 |
+-----------+
1 row in set (0.00 sec)
- 查看当前登录的用户及主机名
sql
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
3、创建数据库
- 格式:
sql
create database 数据库名
-
查看创建数据库的语句
-
格式:
sqlshow create database 数据库名
示例:
sql
mysql> show create database testdb \G
*************************** 1. row ***************************
Database: testdb
Create Database: CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
# 分析:
# 上述显示创建数据库语句的内容可看做3段内容
# CREATE DATABASE `testdb` :表示创建数据库testdb
# /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ :表示注释内容,显示字符集采用utf8mb4方案,一个字符需要 1 ~ 4 个字节。可以存储一些 emoji 表情; utf8mb4_0900_ai_ci表示字符比较规则即ai为不区分重音,ci为不区分大小写
# /*!80016 DEFAULT ENCRYPTION='N' */ 表示数据库未加密
4、切换数据库
-
查看当前使用的数据库
-
格式:
sql
select database();
-
选择数据库
-
格式:
sql
use 数据库名
5、删除数据库
- 格式:
sql
drop database 数据库名
6、小结
sql
# 新建数据库
create database 数据库名;
# 设为当前数据库
use 数据库名;
# 查看当前使用的数据库
select database();
# 显示所有数据库
show databases;
# 删除数据库
drop database 数据库名;