数据库入门:掌握MySQL数据库的五大基本操作,轻松驾驭数据世界!

YunDuanCode · · 1471 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

对数据库进行查询和修改操作的语言叫做 SQL(Structured Query Language,结构化查询语言)。SQL 语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础。 在之前的文章中,我们已经掌握了SQL语言的基本概念以及常用的DDL(数据定义)和DML(数据操作)语句。接下来,我们将探讨如何运用这些知识进行MySQL数据库的操作。在本篇文章中,我们将详细介绍基本的增、删、改、查等操作方法。 ![image.png](https://static.golangjob.cn/231118/9f9f39ab6d46175ad82903d8b502ef13.png) 首先我们来回顾一下标识符命名规则: - 数据库名、表名不得超过30个字符,变量名限制为29个。 - 必须只能包含 A–Z, a–z, 0–9, _共63个字符。 - 数据库名、表名、字段名等对象名中间不要包含空格; - 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名。 - 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来。 - 保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。 下面我们来看数据库的基本操作。 ### 一、创建数据库 在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,下面我们介绍三种创建数据库的方式: 方式1:创建数据库 ( 数据库名存在时,会报错 ) ``` CREATE DATABASE 数据库名; ``` 方式2:创建数据库并指定字符集 ( 数据库名存在时,会报错 ) ``` CREATE DATABASE 数据库名 CHARACTER SET 字符集; ('不指定字符集会选择默认字符集') ``` 方式3:判断数据库是否已经存在,不存在则创建数据库 (推荐) ``` CREATE DATABASE IF NOT EXISTS 数据库名; ``` 注意: DATABASE 不能改名。一些可视化工具可以改名,它是建新库,把所有表复制到新库,再删旧库完成的。 >编程学习,从[云端源想](https://ydcode.cn/memberIndex?sourceId=276)开始,课程视频、在线书籍、在线编程、一对一咨询……你想要的全部学习资源这里都有,重点是统统免费![点这里即可查看](https://ydcode.cn/memberIndex?sourceId=276)) **实例:最简单的创建MySQL数据库的语句** 在 MySQL 中创建一个名为 test_db 的数据库。在 MySQL 命令行客户端输入 SQL 语句 ``` CREATE DATABASE test_db; ``` 即可创建一个数据库,输入的 SQL 语句与执行结果如下。 ![image.png](https://static.golangjob.cn/231118/7c0846c1f49e6ce1d1ae7b1fb0140594.png) “Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令执行成功,“1 row affected”表示操作只影响了数据库中一行的记录,“0.12 sec”则记录了操作执行的时间。 若再次输入CREATE DATABASE test_db;语句,则系统会给出错误提示信息,如下所示: ![image.png](https://static.golangjob.cn/231118/374ec6b784968d690dfac114aca360a5.png) 提示不能创建“test_db”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。 可以加上IF NOT EXISTS从句,就可以避免类似错误,如下所示: ![image.png](https://static.golangjob.cn/231118/6ffdc5f6c0fbdaf03c2acf931eefc076.png) ### 二、查看数据库 在 MySQL 中,可使用 SHOW DATABASES 语句来查看或显示当前用户权限范围以内的数据库。语法格式如下: 查看当前所有的数据库 ``` SHOW DATABASES; #有一个S,代表多个数据库 ``` 查看当前正在使用的数据库 ``` SELECT DATABASE(); #使用的一个 mysql 中的全局函数 ``` 查看指定库下所有的表 ``` SHOW TABLES FROM 数据库名; ``` 查看数据库的创建信息 ``` SHOW CREATE DATABASE 数据库名; 或者: SHOW CREATE DATABASE 数据库名\G ``` **注意:** 要操作表格和数据之前必须先说明是对哪个数据库进行操作,否则就要对所有对象加上“数据库名.”。 **实例1:查看所有数据库** 列出当前用户可查看的所有数据库: ![image.png](https://static.golangjob.cn/231118/2331e6e518fe9e98285041e2a51fb981.png) 可以发现,在上面的列表中有 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 的数据库: ``` CREATE DATABASE test_db; Query OK, 1 row affected (0.12 sec) ``` 再使用 SHOW DATABASES 语句显示权限范围内的所有数据库名,如下所示: ![image.png](https://static.golangjob.cn/231118/cc9465bb7faf390a36041155b21ecd72.png) 你看,刚才创建的数据库已经被显示出来了。 ### 三、修改数据库 在 MySQL 数据库中只能对数据库使用的字符集和校对规则进行修改,数据库的这些特性都储存在 db.opt 文件中。下面我们来介绍一下修改数据库的基本操作。 在 MySQL 中,可以使用 ALTER DATABASE 来修改已经被创建或者存在的数据库的相关参数。修改数据库的语法格式为: ![image.png](https://static.golangjob.cn/231118/9070245492da56ad0980778bf6e70d02.png) 语法说明如下: - ALTER DATABASE 用于更改数据库的全局特性。 - 使用 ALTER DATABASE 需要获得数据库 ALTER 权限。 - 数据库名称可以忽略,此时语句对应于默认数据库。 - CHARACTER SET 子句用于更改默认的数据库字符集。 ### 四、删除数据库 当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。 在 MySQL 中,需要删除已创建的数据库时,可以使用DROP DATABASE 语句。其语法格式为: ``` DROP DATABASE [ IF EXISTS ] <数据库名> ``` 语法说明如下: - <数据库名>:指定要删除的数据库名。 - IF EXISTS:用于防止当数据库不存在时发生错误。 - DROP DATABASE:删除数据库中的所有表格并同时删除数据库。 **使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。** **注意:** MySQL 安装后,系统会自动创建名为 information_schema 和 mysql 的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。 还有一点值得注意的是: 在进行删除操作的时候一定要谨慎,在执行DROP DATABASE命令后,MySQL 不会给出任何提示确认信息。并且删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复,因此最好在删除数据库之前先将数据库进行备份。 **实例 :在 MySQL 中创建一个测试数据库 test_db_del** ![image.png](https://static.golangjob.cn/231118/2f1aa04a9c372efd3828988bccbe5650.png) 使用命令行工具将数据库 test_db_del 从数据库列表中删除,输入的 SQL 语句与执行结果如下所示: ![image.png](https://static.golangjob.cn/231118/5034a9bcd24f683eb5b5d8db4158d80e.png) 此时数据库 test_db_del 不存在。再次执行相同的命令,直接使用 DROP DATABASE test_db_del,系统会报错,如下所示: ![image.png](https://static.golangjob.cn/231118/e3a4b01ef940307bbfe63706576d4e5a.png) 如果使用IF EXISTS从句,可以防止系统报此类错误,如下所示: ![image.png](https://static.golangjob.cn/231118/e18eff8bbb384b113f73fa3cac1b6dad.png) ### 五、选择数据库 在 MySQL 中就有很多系统自带的数据库,那么在操作数据库之前就必须要确定是哪一个数据库。在 MySQL 中,USE 语句用来完成一个数据库到另一个数据库的跳转。 当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要用 USE 来指定当前数据库。其语法格式为: ``` USE <数据库名> ``` 该语句可以通知 MySQL 把<数据库名>所指示的数据库作为当前数据库。该数据库保持为默认数据库,直到语段的结尾,或者直到遇见一个不同的 USE 语句。 只有使用 USE 语句来指定某个数据库作为当前数据库之后,才能对该数据库及其存储的数据对象执行操作。 #### 总结: 本篇文章详细介绍了MySQL数据库的新增、查看、修改、删除和选择等操作,希望对你的数据库入门学习有那么一点点的帮助。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1471 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传