嗨~ 今天的你过得还好吗?
知识有两种
一种是你知道的
一种是你知道在哪里能找到的
🌞
- 2023.11.17 -
对数据库进行查询和修改操作的语言叫做 SQL(Structured Query Language,结构化查询语言)。SQL 语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础。
在之前的文章中,我们已经掌握了SQL语言的基本概念以及常用的DDL(数据定义)和DML(数据操作)语句。接下来,我们将探讨如何运用这些知识进行MySQL数据库的操作。在本篇文章中,我们将详细介绍基本的增、删、改、查等操作方法。
首先我们来回顾一下标识符命名规则:
- 数据库名、表名不得超过30个字符,变量名限制为29个。
- 必须只能包含 A--Z, a--z, 0--9, _共63个字符。
- 数据库名、表名、字段名等对象名中间不要包含空格;
- 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名。
-
必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来。
-
保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。
下面我们来看数据库的基本操作。
一、创建数据库
在 MySQL 中,可以使用 CREATE DATABASE
语句创建数据库,下面我们介绍三种创建数据库的方式:
方式1:创建数据库 ( 数据库名存在时,会报错 )
ini
CREATE DATABASE 数据库名;
方式2:创建数据库并指定字符集 ( 数据库名存在时,会报错 )
sql
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
('不指定字符集会选择默认字符集')
方式3:判断数据库是否已经存在,不存在则创建数据库 (推荐)
sql
CREATE DATABASE IF NOT EXISTS 数据库名;
注意: DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成的。
编程学习,从云端源想开始,课程视频、在线书籍、在线编程、一对一咨询......你想要的全部学习资源这里都有,重点是统统免费!点这里即可查看
实例:最简单的创建MySQL数据库的语句
在 MySQL 中创建一个名为 test_db 的数据库。在 MySQL 命令行客户端输入 SQL 语句CREATE DATABASE test_db;
即可创建一个数据库,输入的 SQL 语句与执行结果如下。
"Query OK, 1 row affected (0.12 sec);"提示中,"Query OK"表示上面的命令执行成功,"1 row affected"表示操作只影响了数据库中一行的记录,"0.12 sec"则记录了操作执行的时间。
若再次输入CREATE DATABASE test_db;
语句,则系统会给出错误提示信息,如下所示:
提示不能创建"test_db"数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。
可以加上IF NOT EXISTS
从句,就可以避免类似错误,如下所示:
二、查看数据库
在 MySQL 中,可使用 SHOW DATABASES
语句来查看或显示当前用户权限范围以内的数据库。语法格式如下:
查看当前所有的数据库
bash
SHOW DATABASES; #有一个S,代表多个数据库
查看当前正在使用的数据库
csharp
SELECT DATABASE(); #使用的一个 mysql 中的全局函数
查看指定库下所有的表
sql
SHOW TABLES FROM 数据库名;
查看数据库的创建信息
sql
SHOW CREATE DATABASE 数据库名;
或者:
SHOW CREATE DATABASE 数据库名\G
注意: 要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上"数据库名."。
实例1:查看所有数据库
列出当前用户可查看的所有数据库:
可以发现,在上面的列表中有 6 个数据库,它们都是安装 MySQL 时系统自动创建的,其各自功能如下:
information_schema: 主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
mysql: MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。
performance_schema: 主要用于收集数据库服务器性能参数。
sakila: MySQL 提供的样例数据库,该数据库共有 16 张表,这些数据表都是比较常见的,在设计数据库时,可以参照这些样例数据表来快速完成所需的数据表。
sys: MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
world: world 数据库是 MySQL 自动创建的数据库,该数据库中只包括 3 张数据表,分别保存城市,国家和国家使用的语言等内容。
实例2:创建并查看数据库
先创建一个名为 test_db 的数据库:
sql
mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.12 sec)
再使用 SHOW DATABASES 语句显示权限范围内的所有数据库名,如下所示:
你看,刚才创建的数据库已经被显示出来了。
三、修改数据库
在 MySQL 数据库中只能对数据库使用的字符集和校对规则进行修改,数据库的这些特性都储存在 db.opt 文件中。下面我们来介绍一下修改数据库的基本操作。
在 MySQL 中,可以使用 ALTER DATABASE 来修改已经被创建或者存在的数据库的相关参数。修改数据库的语法格式为:
语法说明如下:
-
ALTER DATABASE 用于更改数据库的全局特性。
-
使用 ALTER DATABASE 需要获得数据库 ALTER 权限。
-
数据库名称可以忽略,此时语句对应于默认数据库。
-
CHARACTER SET 子句用于更改默认的数据库字符集。
四、删除数据库
当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。
在 MySQL 中,需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为:
sql
DROP DATABASE [ IF EXISTS ] <数据库名>
语法说明如下:
-
<数据库名>:指定要删除的数据库名。
-
IF EXISTS:用于防止当数据库不存在时发生错误。
-
DROP DATABASE:删除数据库中的所有表格并同时删除数据库。
使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。
注意: MySQL 安装后,系统会自动创建名为 information_schema 和 mysql 的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。
还有一点值得注意的是:在进行删除操作的时候一定要谨慎,在执行DROP DATABASE命令后,MySQL 不会给出任何提示确认信息。并且删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复,因此最好在删除数据库之前先将数据库进行备份。
实例 :在 MySQL 中创建一个测试数据库 test_db_del
使用命令行工具将数据库 test_db_del 从数据库列表中删除,输入的 SQL 语句与执行结果如下所示:
此时数据库 test_db_del 不存在。再次执行相同的命令,直接使用 DROP DATABASE test_db_del,系统会报错,如下所示:
如果使用IF EXISTS从句,可以防止系统报此类错误,如下所示:
五、选择数据库
在 MySQL 中就有很多系统自带的数据库,那么在操作数据库之前就必须要确定是哪一个数据库。在 MySQL 中,USE 语句用来完成一个数据库到另一个数据库的跳转。
当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要用 USE 来指定当前数据库。其语法格式为:
xml
USE <数据库名>
该语句可以通知 MySQL 把<数据库名>所指示的数据库作为当前数据库。该数据库保持为默认数据库,直到语段的结尾,或者直到遇见一个不同的 USE 语句。 只有使用 USE 语句来指定某个数据库作为当前数据库之后,才能对该数据库及其存储的数据对象执行操作。
总结:
本篇文章详细介绍了MySQL数据库的新增、查看、修改、删除和选择等操作,希望对你的数据库入门学习有那么一点点的帮助。
我们下期再见!