最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中對數(shù)據(jù)庫的操作詳解

 更新時間:2023年02月20日 15:07:18   作者:愛吃餅干的小白鼠  
今天簡單說說MySQL,我們存儲數(shù)據(jù),直接用本地文件即可,但是,本地文件不利于存放海量數(shù)據(jù),也不利于用程序?qū)ξ募臄?shù)據(jù)進行查詢與管理,我們可以使用數(shù)據(jù)庫

一、數(shù)據(jù)庫介紹

1、為什么要學習數(shù)據(jù)庫

通常,我們存儲數(shù)據(jù),直接用本地文件即可,但是,本地文件不利于存放海量數(shù)據(jù),也不利于用程序?qū)ξ募臄?shù)據(jù)進行查詢與管理,那么為了解決這些弊端,才有數(shù)據(jù)庫的出現(xiàn),那么數(shù)據(jù)庫也是每個程序員比須掌握的計數(shù)。

2、數(shù)據(jù)庫的介紹

定義

數(shù)據(jù)庫(database)簡稱DB,是加上就是一個文件集合,是一個存儲數(shù)據(jù)的倉庫,本質(zhì)就是一個文件系統(tǒng),數(shù)據(jù)庫膳食按照特定的格式吧數(shù)據(jù)存儲起來,用戶可以對存儲的數(shù)據(jù)進行增刪改查操作

存儲數(shù)據(jù)特點

持久化存儲

讀寫速度極高

保證數(shù)據(jù)的優(yōu)先性

對程序支持非常好,容易擴展

數(shù)據(jù)庫的分類

關(guān)系型數(shù)據(jù)庫:可以保存現(xiàn)實生活中的各種關(guān)系數(shù)據(jù),數(shù)據(jù)庫中存儲數(shù)據(jù)以表為單位,主流關(guān)系型數(shù)據(jù)庫:MySQL,Oracle,SQLServer等

非關(guān)系數(shù)據(jù)庫:通常用來解決某些特定的需求,比如高并發(fā)訪問,主流非關(guān)系型數(shù)據(jù)庫:Redis,Mongodb,memacache等

二、MySQL介紹

MySQL 是最流行的 RDBMS,即關(guān)系數(shù)據(jù)庫管理系統(tǒng),在 Web 方面應用廣泛。數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,每個數(shù)據(jù)庫都有一個或多個不同的 API 用于創(chuàng)建,訪問,管理,搜索和復制所保存的數(shù)據(jù)。對于用戶來說,我們可以把數(shù)據(jù)庫當作一個黑盒子,使用 RDBMS 聽得懂的語言(也就是 SQL)進行交流,即可對數(shù)據(jù)庫進行增刪改查(CRUD)操作。

同時,作為一款廣泛應用的數(shù)據(jù)庫產(chǎn)品,除了直接使用 SQL 進行操作之外,MySQL 還為廣大用戶提供了 C、C++、Python、Java、php、C# 等等多種編程語言的操作接口。下面我們就來看看如何通過 Python3 對 MySQL 數(shù)據(jù)庫進行操作。

安裝MySQL

大家可能在 Python2.x 中用的是 mysqldb,但是在 Python3.x 中已經(jīng)不支持這個組件了,取而代之的是 pymysql。

pip install PyMySQL

使用數(shù)據(jù)庫

1、語法格式

創(chuàng)建數(shù)據(jù)庫的語法格式如下:

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中存在的數(shù)據(jù)庫。

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

可以看到,此時只有4個MySQL自帶的數(shù)據(jù)庫,分別是information_schema、mysql、performance_schema和sys。

在MySQL命令行中使用CREATE DATABASE database_name語句創(chuàng)建名稱為goods的商品數(shù)據(jù)庫。

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

從MySQL輸出的結(jié)果信息中可以看出,名稱為goods的商品數(shù)據(jù)庫創(chuàng)建成功。

此時,查看MySQL中存在的數(shù)據(jù)庫。

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

可以看到,此時MySQL中多了名稱為goods的數(shù)據(jù)庫。

三、查看數(shù)據(jù)庫

在MySQL中查看數(shù)據(jù)庫包含:查看MySQL中存在的數(shù)據(jù)庫、查看MySQL當前命令行所在的數(shù)據(jù)庫、查看MySQL中具體某個數(shù)據(jù)庫的創(chuàng)建信息等。

查看MySQL中存在的數(shù)據(jù)庫

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

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

MySQL命令行當前所在的數(shù)據(jù)庫為goods。接下來將MySQL命令行所在的數(shù)據(jù)庫切換為mysql。

mysql> USE mysql;
  Database changed

再次查看MySQL命令行所在的數(shù)據(jù)庫。

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

此時MySQL命令行所在的數(shù)據(jù)庫變?yōu)閙ysql。

四、簡單示例

查看goods數(shù)據(jù)庫的創(chuàng)建信息。

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

或者:

mysql> SHOW CREATE DATABASE goods \G
  *************************** 1. row ***************************
         Database: goods
  Create Database: CREATE DATABASE `goods` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_
  0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
  1 row in set (0.00 sec)

可以看出,創(chuàng)建名稱為goods的數(shù)據(jù)庫時,使用的字符編碼為utf8mb4,使用的校對規(guī)則為utf8mb4_0900_ai_ci,DEFAULT ENCRYPTION='N'表示默認沒有使用MySQL的加密技術(shù)。

修改數(shù)據(jù)庫名稱

在MySQL 5.1.7版本中提供了修改數(shù)據(jù)庫名稱的SQL語句,語法格式如下:

RENAME DATABASE db_name TO new_db_name 

但是從MySQL 5.1.23版本之后,就將此SQL語句去掉了,原因是此SQL語句可能會造成數(shù)據(jù)丟失。

雖然MySQL沒有直接提供修改數(shù)據(jù)庫名稱的SQL語句,但是,可以通過其他方式達到修改MySQL數(shù)據(jù)庫名稱的效果。

通過重命名數(shù)據(jù)表修改數(shù)據(jù)庫名稱

(1)在MySQL中創(chuàng)建數(shù)據(jù)庫test_old,并在test數(shù)據(jù)庫中創(chuàng)建名稱為table_test的數(shù)據(jù)表。

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)

注意:有關(guān)數(shù)據(jù)表和存儲引擎的知識,在后續(xù)章節(jié)中會詳細介紹,這里為了演示修改數(shù)據(jù)庫的操作,先簡單創(chuàng)建一個測試表。

(2)查看名稱為test_old數(shù)據(jù)庫下的數(shù)據(jù)表。

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

可以看到,test_old數(shù)據(jù)庫下存在table_test數(shù)據(jù)表,說明table_test數(shù)據(jù)表創(chuàng)建成功。

(3)在MySQL命令行創(chuàng)建test_new數(shù)據(jù)庫。

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

(4)重命名數(shù)據(jù)表。將test_old數(shù)據(jù)庫下的數(shù)據(jù)表重命名到test_new數(shù)據(jù)庫下。

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

(5)刪除test_old數(shù)據(jù)庫。

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

(6)查看test_new數(shù)據(jù)庫下存在的數(shù)據(jù)表。

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

可以看到,table_test數(shù)據(jù)表所在的數(shù)據(jù)庫由原來的test_old變成了test_new,達到了修改數(shù)據(jù)庫名稱的效果。

到此這篇關(guān)于Python中對數(shù)據(jù)庫的操作詳解的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Python爬取2022春節(jié)檔電影信息

    用Python爬取2022春節(jié)檔電影信息

    大家好,本篇文章主要講的是用Python爬取2022春節(jié)檔電影信息,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python獲取多進程執(zhí)行的返回值實現(xiàn)

    Python獲取多進程執(zhí)行的返回值實現(xiàn)

    本文主要介紹了Python獲取多進程執(zhí)行的返回值實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • tensorflow模型轉(zhuǎn)ncnn的操作方式

    tensorflow模型轉(zhuǎn)ncnn的操作方式

    這篇文章主要介紹了tensorflow模型轉(zhuǎn)ncnn的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python實例方法的使用注意及代碼實例

    python實例方法的使用注意及代碼實例

    在本篇文章里小編給大家總結(jié)的是關(guān)于python實例方法的使用注意及代碼實例內(nèi)容,對此有興趣的朋友們可以參考下。
    2022-11-11
  • Python3 pywin32模塊安裝的詳細步驟

    Python3 pywin32模塊安裝的詳細步驟

    這篇文章主要介紹了Python3 pywin32模塊安裝的詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • 全面了解django的緩存機制及使用方法

    全面了解django的緩存機制及使用方法

    這篇文章主要介紹了全面了解django的緩存機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)Canny及Hough算法代碼實例解析

    Python實現(xiàn)Canny及Hough算法代碼實例解析

    這篇文章主要介紹了Python實現(xiàn)Canny與Hough算法代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 利用python庫matplotlib繪制不同的圖表

    利用python庫matplotlib繪制不同的圖表

    這篇文章主要介紹了利用python庫matplotlib繪制不同的圖表,使用python中的matplotlib繪制圖表,主要分享繪制簡單的曲線圖、單條曲線圖、多條曲線圖、直方圖以及散點圖的思路和用法,需要的朋友可以參考一下
    2022-03-03
  • python靜態(tài)方法實例

    python靜態(tài)方法實例

    這篇文章主要介紹了python靜態(tài)方法,實例分析了python靜態(tài)方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • 詳解python做UI界面的方法

    詳解python做UI界面的方法

    在本文里我們給大家整理了關(guān)于python做UI界面的方法和具體步驟,對此有需要的朋友們可以跟著學習參考下。
    2019-02-02

最新評論

教育| 湟源县| 深圳市| 马公市| 武定县| 九江县| 楚雄市| 三亚市| 墨竹工卡县| 瓦房店市| 峡江县| 宁德市| 峡江县| 达拉特旗| 保亭| 泸西县| 成武县| 蚌埠市| 军事| 衡东县| 乌兰浩特市| 成都市| 塔河县| 江达县| 屏边| 德阳市| 西城区| 肥西县| 五河县| 颍上县| 右玉县| 闵行区| 广平县| 襄垣县| 洪湖市| 龙岩市| 教育| 陆川县| 蒲江县| 高邮市| 盘山县|