文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python中对数据库的操作方法是什么

2023-07-05 04:07

关注

今天小编给大家分享一下Python中对数据库的操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、数据库介绍

1、为什么要学习数据库

通常,我们存储数据,直接用本地文件即可,但是,本地文件不利于存放海量数据,也不利于用程序对文件的数据进行查询与管理,那么为了解决这些弊端,才有数据库的出现,那么数据库也是每个程序员比须掌握的计数。

2、数据库的介绍

定义

数据库(database)简称DB,是加上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库膳食按照特定的格式吧数据存储起来,用户可以对存储的数据进行增删改查操作

存储数据特点

持久化存储

读写速度极高

保证数据的优先性

对程序支持非常好,容易扩展

数据库的分类

关系型数据库:可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位,主流关系型数据库:MySQL,Oracle,SQLServer等

非关系数据库:通常用来解决某些特定的需求,比如高并发访问,主流非关系型数据库:Redis,Mongodb,memacache等

二、MySQL介绍

MySQL 是最流行的 RDBMS,即关系数据库管理系统,在 Web 方面应用广泛。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。对于用户来说,我们可以把数据库当作一个黑盒子,使用 RDBMS 听得懂的语言(也就是 SQL)进行交流,即可对数据库进行增删改查(CRUD)操作。

同时,作为一款广泛应用的数据库产品,除了直接使用 SQL 进行操作之外,MySQL 还为广大用户提供了 C、C++、Python、Java、php、C# 等等多种编程语言的操作接口。下面我们就来看看如何通过 Python3 对 MySQL 数据库进行操作。

安装MySQL

大家可能在 Python2.x 中用的是 mysqldb,但是在 Python3.x 中已经不支持这个组件了,取而代之的是 pymysql。

pip install PyMySQL

使用数据库

1、语法格式

创建数据库的语法格式如下:

CREATE DATABASE database_name
2、简单示例

首先,在CentOS 6.8服务器上登录MySQL。

[root@binghe150 ~]# mysql -uroot -p
  Enter password: 
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 13
  Server version: 8.0.18 binghe edition
  Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
  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>

接下来,在MySQL命令行中查看当前MySQL中存在的数据库。

mysql> SHOW DATABASES;  +--------------------+  | Database           |  +--------------------+  | information_schema |  | mysql              |  | performance_schema |  | sys                |  +--------------------+  4 rows in set (0.04 sec)

可以看到,此时只有4个MySQL自带的数据库,分别是information_schema、mysql、performance_schema和sys。

在MySQL命令行中使用CREATE DATABASE database_name语句创建名称为goods的商品数据库。

mysql> CREATE DATABASE goods;  Query OK, 1 row affected (0.02 sec)

从MySQL输出的结果信息中可以看出,名称为goods的商品数据库创建成功。

此时,查看MySQL中存在的数据库。

mysql> SHOW DATABASES;  +--------------------+  | Database           |  +--------------------+  | goods              |  | information_schema |  | mysql              |  | performance_schema |  | sys                |  +--------------------+  5 rows in set (0.00 sec)

可以看到,此时MySQL中多了名称为goods的数据库。

三、查看数据库

在MySQL中查看数据库包含:查看MySQL中存在的数据库、查看MySQL当前命令行所在的数据库、查看MySQL中具体某个数据库的创建信息等。

查看MySQL中存在的数据库

在MySQL命令行输入如下命令:

mysql> SELECT DATABASE();  +------------+  | DATABASE() |  +------------+  | goods      |  +------------+  1 row in set (0.00 sec)

MySQL命令行当前所在的数据库为goods。接下来将MySQL命令行所在的数据库切换为mysql。

mysql> USE mysql;  Database changed

再次查看MySQL命令行所在的数据库。

mysql> SELECT DATABASE();  +------------+  | DATABASE() |  +------------+  | mysql      |  +------------+  1 row in set (0.00 sec)

此时MySQL命令行所在的数据库变为mysql。

四、简单示例

查看goods数据库的创建信息。

mysql> SHOW CREATE DATABASE goods;  +-------+----------------------------------------------------------------------------------------+  |Database|Create Database                                                                         |  +-------+----------------------------------------------------------------------------------------+  | goods  | CREATE DATABASE `goods`                                                  |  +-------+----------------------------------------------------------------------------------------+  1 row in set (0.00 sec)

或者:

mysql> SHOW CREATE DATABASE goods \G  *************************** 1. row ***************************         Database: goods  Create Database: CREATE DATABASE `goods`    1 row in set (0.00 sec)

可以看出,创建名称为goods的数据库时,使用的字符编码为utf8mb4,使用的校对规则为utf8mb4_0900_ai_ci,DEFAULT ENCRYPTION='N'表示默认没有使用MySQL的加密技术。

修改数据库名称

在MySQL 5.1.7版本中提供了修改数据库名称的SQL语句,语法格式如下:

RENAME DATABASE db_name TO new_db_name

但是从MySQL 5.1.23版本之后,就将此SQL语句去掉了,原因是此SQL语句可能会造成数据丢失。

虽然MySQL没有直接提供修改数据库名称的SQL语句,但是,可以通过其他方式达到修改MySQL数据库名称的效果。

通过重命名数据表修改数据库名称

(1)在MySQL中创建数据库test_old,并在test数据库中创建名称为table_test的数据表。

mysql> CREATE DATABASE IF NOT EXISTS test_old;  Query OK, 1 row affected (0.01 sec)  mysql> USE test_old;  Database changed  mysql> CREATE TABLE IF NOT EXISTS table_test(id int);     Query OK, 0 rows affected (0.01 sec)

注意:有关数据表和存储引擎的知识,在后续章节中会详细介绍,这里为了演示修改数据库的操作,先简单创建一个测试表。

(2)查看名称为test_old数据库下的数据表。

mysql> SHOW TABLES;  +--------------------+  | Tables_in_test_old |  +--------------------+  | table_test         |  +--------------------+  1 row in set (0.00 sec)

可以看到,test_old数据库下存在table_test数据表,说明table_test数据表创建成功。

(3)在MySQL命令行创建test_new数据库。

mysql> CREATE DATABASE IF NOT EXISTS test_new;  Query OK, 1 row affected (0.01 sec)

(4)重命名数据表。将test_old数据库下的数据表重命名到test_new数据库下。

mysql> RENAME TABLE test_old.table_test TO test_new.table_test;  Query OK, 0 rows affected (0.00 sec)

(5)删除test_old数据库。

mysql> DROP TABLE IF EXISTS test_old;  Query OK, 0 rows affected, 1 warning (0.00 sec)

(6)查看test_new数据库下存在的数据表。

mysql> USE test_new;  Database changed  mysql> SHOW TABLES;  +--------------------+  | Tables_in_test_new |  +--------------------+  | table_test         |  +--------------------+  1 row in set (0.00 sec)

可以看到,table_test数据表所在的数据库由原来的test_old变成了test_new,达到了修改数据库名称的效果。

以上就是“Python中对数据库的操作方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯