網站首頁 編程語言 正文
一、數據庫介紹
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` /*!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)
可以看出,創建名稱為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,達到了修改數據庫名稱的效果。
原文鏈接:https://blog.csdn.net/BROKEN__Y/article/details/128569332
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-12-15 C++同步線程實現示例詳解_C 語言
- 2021-10-13 linux環境下恢復rm誤刪的文件方法_Linux
- 2023-05-29 批標準化層?tf.keras.layers.Batchnormalization()解析_pytho
- 2022-10-10 使用Pyinstaller打包exe文件詳細圖文教程_python
- 2022-06-29 在Oracle中使用正則表達式_oracle
- 2024-01-29 Linux信號量以及基于環形隊列的生產者消費者模型
- 2022-11-05 一篇文章說清楚?go?get?使用私有庫的方法_Golang
- 2022-04-28 .net項目使用日志框架log4net_實用技巧
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支