MySQL数据库的使用(一)-数据库的增删改查

初学数据库的基本概念

前言

通过之前安装好的数据库,我们可以用来学习SQL语句的一些用法,本文主要讲解增删改查数据库的一些使用的方法及格式。
注:SQL语句的格式实际上还是比较容易理解的,它的语句完全就是由描述性很强的英语单词组成,一起来看下。

一. 数据库的信息

first 让我们先登录到数据库管理系统

1.1 登录数据库

在服务器中直接使用-u-p参数即可登录数据库

mysql -u用户 -p密码

在这里插入图片描述
图中的意思是:

commands end with ;or \g 表示命令结尾需要加上;或者是\g。
version:数据库的版本信息是8.0.30
同时有显示一些帮助信息的查询:help ,\h等 ,当有语句写出来发现写错了,还可以使用\c使它不执行。

也可以使用SQL语句显示版本信息

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.30    |
+-----------+
1 row in set (0.00 sec)

1.2 显示数据库字符集信息

MySQL8.0默认是支持utf-8的字符集,若使用的是MySQL5.0左右的数据库,需要在数据库中设置utf-8格式才可以显示中文的内容。

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.23 sec)

如果在MySQL5.0左右的版本,可以在创建数据库的时候就设置utf-8的字符集。

create database (数据库名) character set utf8 collate utf8_bin;

1.3 显示数据库的存储引擎

mysql8.0以上默认使用的是innodb存储引擎

mysql> show global variables like '%storage_engine%';
+---------------------------------+-----------+
| Variable_name                   | Value     |
+---------------------------------+-----------+
| default_storage_engine          | InnoDB    |
| default_tmp_storage_engine      | InnoDB    |
| disabled_storage_engines        |           |
| internal_tmp_mem_storage_engine | TempTable |
+---------------------------------+-----------+
4 rows in set (0.02 sec)

当然还可以查看mysql数据库支持哪些存储引擎

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

二. 数据库SQL语句

2.1 显示数据库信息

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

这几个数据库默认是安装好之后自带的库文件,一起来看下它们的具体作用

  • information_schema主要是用来提供访问数据库元数据的方式,元数据是关于数据的数据,如数据库名和表名,列的数据类型或访问权限。这里保存着mysql管理系统中所有其他数据库的信息。
  • performance_schema用于监控MySQL server在一个较低级别的运行过程中的资源消耗,资源等待等情况,可以看做是一个存储引擎。
  • sys:视图,帮助开发,监控MySQL性能。
  • mysql:主要用来存储MySQL用户账号,权限,存储的过程,事务的定义等信息。

还记得最开始说的,语句最后可以加分号,也可以加\g,来看下\g的效果是咋样的。

mysql> show databases \g
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

和分号显示的效果一样,那么换成\G再看看

mysql> show databases \G
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: mysql
*************************** 3. row ***************************
Database: performance_schema
*************************** 4. row ***************************
Database: sys
4 rows in set (0.00 sec)

换成G显示的结果并没有前面的框框,而是以一行一行的横线形式显示的。

一般如果我们创建好数据库的时候,可以使用这条语法显示数据库的信息。
命令语法

show create database 数据库名称

实例:

mysql> show create database book;
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| book     | CREATE DATABASE `book` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

能看到的信息有数据库的名称,字符集信息,或者是否要加密等等的一些信息。

2.2 创建数据库

创建数据库的语法

create database 数据库名;

实例

mysql> create database book;
Query OK, 1 row affected (0.00 sec)

输出Query OK.1 row affected(0.00 sec)表示是创建成功

假设要创建一个create数据库 ,是否能创建成功

mysql> create database create;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create' at line 1

可以看到无法创建成功,这个是因为create是数据库中的保留字,因此若需要创建成功,需要加反引号``,继续来看下。

mysql> create database `create`;
Query OK, 1 row affected (0.01 sec)

创建数据库时有包含一些特殊字符的缘故,也会出现创建失败;

mysql> create database student!;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' at line 1
mysql> create database `student!`;
Query OK, 1 row affected (0.07 sec)

同理解决方法一样是加上反引号就可以创建成功。

2.3 删除数据库

删除数据库的语法

drop database 数据库名称

实例:

mysql> drop database book;
Query OK, 3 rows affected (0.05 sec)

由于删除数据库是一件特别严重的事情,建议非必要情况下请勿执行此操作。

总结

以上的内容就是这么多了,预告下一篇内容讲数据库表的SQL语句,若觉得内容还行的,可以点赞支持一下!在这里插入图片描述

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux学习中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值