国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

TDSOL是騰訊云自家研發(fā)的超級(jí)厲害的云原生關(guān)系型數(shù)據(jù)庫!它將傳統(tǒng)數(shù)據(jù)庫、云計(jì)算和最新的硬件技術(shù)融合在一起,完美兼容MySQL,并為用戶提供了絕對(duì)牛逼的彈性、高性能、高可用、高可靠和安全的數(shù)據(jù)庫服務(wù)。你絕對(duì)想不到,它的吞吐量可以達(dá)到超過百萬次查詢每秒!而且還支持海量數(shù)據(jù)的分布式智能存儲(chǔ),就像PB級(jí)別的大海一樣。天啊,還有Serverless秒級(jí)伸縮,企業(yè)要加速數(shù)字化轉(zhuǎn)型簡直不要太方便!

說到Serverless服務(wù),你絕對(duì)沒見過騰訊云自家的TDSQL-C無服務(wù)器架構(gòu)版!這個(gè)可是全球首款全Serverless架構(gòu)的云原生數(shù)據(jù)庫哦!說白了,就是使用Serverless服務(wù),你只需按實(shí)際使用的計(jì)算和存儲(chǔ)資源付費(fèi),不用的時(shí)候完全不用擔(dān)心花冤枉錢!這種云原生技術(shù)真是超級(jí)貼心,誰用誰知道!現(xiàn)在,騰訊云的云優(yōu)勢將普惠到更多的用戶,就像演唱會(huì)門票一樣搶手!

操作步驟

準(zhǔn)備工作

申請TDSQL-C數(shù)據(jù)庫:

1. 點(diǎn)擊登錄騰訊云

騰訊云登錄:https://cloud.tencent.com/

2.選中產(chǎn)品,搜索“tdsql”,選擇TDSQL-C,如下圖所示:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

3.點(diǎn)擊立即選購

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

4.選購頁面中的數(shù)據(jù)庫配置選項(xiàng)如下

**注意 **:這里的實(shí)例形態(tài)我們選擇Serverless

 - 實(shí)例形態(tài)   **(Serverless)**
 -  數(shù)據(jù)庫引擎 **(MYSQL)**
 - 地域  **(北京)**  *地域這里根據(jù)自己的實(shí)際情況選擇即可* 
 - 主可用區(qū) **(北京三區(qū))**   *主可用區(qū)這里根據(jù)自己的實(shí)際情況選擇即可* 
 - 多可用區(qū)部署 **()**
 - 傳輸鏈路 
 - 網(wǎng)絡(luò)
 - 數(shù)據(jù)庫版本 **(MySQL5.7)**
 - 算力配置 **最小(0.25) , 最大(0.5)**
 - 自動(dòng)暫停 **根據(jù)自己需求配置即可**
 - 計(jì)算計(jì)費(fèi)模式 **(按量計(jì)費(fèi))**
 - 存儲(chǔ)計(jì)費(fèi)模式 **(按量計(jì)費(fèi))**

配置截圖如下:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

5.點(diǎn)擊下一步,配置基礎(chǔ)信息

此處需要注意:表名大小寫選擇不敏感即可,另外設(shè)置自己的數(shù)據(jù)庫密碼,其他的按照默認(rèn)值即可。>

我的配置截圖如下:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

6.點(diǎn)擊立即購買,彈窗選擇立即購買,進(jìn)行開通

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

7.此時(shí)已經(jīng)開通成功了,點(diǎn)擊前往管理頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

注意??!讀寫示例這里,需要點(diǎn)擊開啟外網(wǎng)訪問
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
點(diǎn)擊確定即可。

稍等片刻,就會(huì)出現(xiàn)可以外網(wǎng)訪問的host和端口了,請記好你的地址和端口,后續(xù)會(huì)用到。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
至此,準(zhǔn)備工作結(jié)束!

現(xiàn)在正式開始搭建項(xiàng)目。

線上圖書管理系統(tǒng)項(xiàng)目搭建

項(xiàng)目目標(biāo):

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

此項(xiàng)目僅為demo,供娛樂學(xué)習(xí)使用,本項(xiàng)目主要用python flask來搭建,用pymysql庫來連接TDSQL-C產(chǎn)品進(jìn)行操作數(shù)據(jù)庫,麻雀雖小五臟俱全!
接下來就讓我們一步步來實(shí)現(xiàn)!

創(chuàng)建項(xiàng)目

項(xiàng)目文件目錄如下:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
其中app.py為服務(wù)端文件,
templates文件夾中的html文件都是前端頁面模板文件,供flask調(diào)用的。
結(jié)構(gòu)比較簡單,項(xiàng)目主要文件就是這幾個(gè)。

前端頁面搭建

由于是用python flask框架搭建,所以需要在項(xiàng)目下面創(chuàng)建一個(gè)templates文件夾,將對(duì)應(yīng)的模板html文件放入到其中,方便進(jìn)行調(diào)用。

前端頁面的邏輯都比較簡單,就不詳細(xì)展開講了,我會(huì)將講解的重點(diǎn)放在后端連接數(shù)據(jù)庫以及對(duì)數(shù)據(jù)庫的操作上。

這幾個(gè)html頁面的代碼以及運(yùn)行后的效果分別截圖如下:

index.html頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
代碼:

<!DOCTYPE html>
<html>
<head>
    <title>圖書管理系統(tǒng)</title>
</head>
<body>
    <h1>圖書管理系統(tǒng)</h1>
    <ul>
        <li><a href="/show_books">顯示圖書</a></li>
        <li><a href="/add_book">添加圖書</a></li>
        <li><a href="/lend_book">借閱圖書</a></li>
        <li><a href="/return_book">歸還圖書</a></li>
    </ul>
</body>
</html>
add_books.html頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
代碼:

<!DOCTYPE html>
<html>
<head>
    <title>添加圖書</title>
</head>
<body>
    <h1>添加圖書</h1>
    <form method="POST" action="/add_book">
        <label for="name">書名:</label>
        <input type="text" id="name" name="name"><br><br>
        <label for="author">作者:</label>
        <input type="text" id="author" name="author"><br><br>
        <label for="comment">評(píng)論:</label>
        <textarea id="comment" name="comment"></textarea><br><br>
        <input type="submit" value="添加">
    </form>
</body>
</html>
lend_books.html頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
代碼:

<!DOCTYPE html>
<html>
<head>
    <title>借閱圖書</title>
</head>
<body>
    <h1>借閱圖書</h1>
    <form method="POST" action="/lend_book">
        <label for="name">書名:</label>
        <input type="text" id="name" name="name"><br><br>
        <input type="submit" value="借閱">
    </form>
</body>
</html>
return_books.html頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
代碼:

<!DOCTYPE html>
<html>
<head>
    <title>歸還圖書</title>
</head>
<body>
    <h1>歸還圖書</h1>
    <form method="POST" action="/return_book">
        <label for="name">書名:</label>
        <input type="text" id="name" name="name"><br><br>
        <input type="submit" value="歸還">
    </form>
</body>
</html>
show_books.html頁面

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

代碼:

<!DOCTYPE html>
<html>
<head>
    <title>圖書列表</title>
</head>
<body>
    <h1>圖書列表</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>書名</th>
            <th>作者</th>
            <th>評(píng)論</th>
            <th>狀態(tài)</th>
        </tr>
        {% for book in books %}
        <tr>
            <td>{{ book[0] }}</td>
            <td>{{ book[1] }}</td>
            <td>{{ book[2] }}</td>
            <td>{{ book[3] }}</td>
            <td>{% if book[4] == 1 %}已借出{% else %}未借出{% endif %}</td>
        </tr>
        {% endfor %}
    </table>
</body>
</html>

服務(wù)端接口搭建

由于是用python flask框架來寫服務(wù)端接口,使用pymysql包來進(jìn)行連接數(shù)據(jù)庫(也就是今天的主角!咱們今天開通的TDSQL-C)

本次實(shí)現(xiàn)的功能中,前端需要調(diào)用的接口有:

  • 展示書籍 show_books()
  • 添加書籍 add_book()
  • 借閱書籍 lend_book()
  • 歸還書籍 return_book()

由于是從數(shù)據(jù)庫中進(jìn)行書籍的讀取和寫入以及修改,所以還需要連接到數(shù)據(jù)庫。
那么如何連接到數(shù)據(jù)庫(TDSQL-C)呢?
使用pymysql庫即可用python方便的連接到mysql數(shù)據(jù)庫,當(dāng)然也可以連接到TDSQL-C啦!
接下來就一步一步帶著你來進(jìn)行代碼實(shí)現(xiàn):
咱們這個(gè)項(xiàng)目是使用Flask框架來創(chuàng)建一個(gè)簡單的圖書館管理系統(tǒng)。下面我們一步一步來實(shí)現(xiàn)功能:

1. 導(dǎo)入所需的庫:
from flask import Flask, render_template, request
import pymysql
  • 導(dǎo)入Flask庫來創(chuàng)建Web應(yīng)用程序。
  • 導(dǎo)入render_template方法用于渲染HTML模板。
  • 導(dǎo)入pymysql庫用于連接和操作MySQL數(shù)據(jù)庫。
2. 創(chuàng)建Flask應(yīng)用程序?qū)嵗?/h5>
app = Flask(__name__)
  • 創(chuàng)建一個(gè)名為’app’的Flask應(yīng)用程序?qū)嵗?/li>
3. 配置MySQL數(shù)據(jù)庫連接信息:
db_config = {
    'host': "XXXXXX",  # 此處填寫你自己的TDSQL-C的外網(wǎng)host
    'port': xxxx,   # 此處填寫你自己的TDSQL-C的外網(wǎng)端口號(hào)
    'user': "root",  # 你申請時(shí)候設(shè)置的用戶名,默認(rèn)是root
    'password': "",  # 密碼就是你自己創(chuàng)建實(shí)例時(shí)的密碼
    'database': 'library', # 這里需要在自己的TDSQL-C中創(chuàng)建一個(gè)數(shù)據(jù)庫,名字為:"library" , 
}

# 檢查數(shù)據(jù)庫中是否存在 'books' 表格,如果不存在則創(chuàng)建它
connection = pymysql.connect(**db_config)
with connection.cursor() as cursor:
    cursor.execute("SHOW TABLES LIKE 'books'")
    result = cursor.fetchone()

    if not result:
        cursor.execute(
            """
            CREATE TABLE books (
                id INT AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(255) NOT NULL,
                author VARCHAR(255) NOT NULL,
                comment TEXT,
                state INT DEFAULT 0
            )
            """
        )
        connection.commit()

connection.close()
  • 設(shè)置MySQL數(shù)據(jù)庫的主機(jī)、用戶名、密碼、數(shù)據(jù)庫名和端口號(hào)等連接信息。

需要在自己申請的TDSQL-C實(shí)例中新建一個(gè)數(shù)據(jù)庫,具體操作見下圖:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
這樣就創(chuàng)建好了library數(shù)據(jù)庫,后續(xù)我們增加的圖書,都會(huì)在這個(gè)庫里的books表里。(代碼中有創(chuàng)建books表的邏輯,無需手動(dòng)創(chuàng)建,如果創(chuàng)建了也不影響,做了兼容,但是名字必須叫books。)

4. 定義首頁路由處理函數(shù):
@app.route("/")
def index():
    return render_template("index.html")
  • 使用@app.route("/")修飾器設(shè)置URL路徑為根路徑’/'的路由。
  • 定義了一個(gè)名為’index’的函數(shù),當(dāng)用戶訪問根路徑時(shí),返回渲染后的index.html模板。
5. 定義展示書籍頁面的路由處理函數(shù):
@app.route("/show_books")
def show_books():
    connection = pymysql.connect(**db_config)
    with connection.cursor() as cursor:
        cursor.execute("SELECT * FROM books")
        books = cursor.fetchall()
    connection.close()
    return render_template("show_books.html", books=books)
  • 同樣使用@app.route()修飾器,設(shè)置URL路徑為’/show_books’的路由。
  • 在函數(shù)中首先連接到MySQL數(shù)據(jù)庫。
  • 使用cursor對(duì)象執(zhí)行SQL查詢語句"SELECT * FROM books",獲取所有書籍的數(shù)據(jù)。
  • 將連接關(guān)閉后,將書籍?dāng)?shù)據(jù)傳遞給show_books.html模板進(jìn)行渲染。
6. 定義添加書籍頁面的路由處理函數(shù):
@app.route("/add_book", methods=["GET", "POST"])
def add_book():
    if request.method == "POST":
        name = request.form["name"]
        author = request.form["author"]
        comment = request.form["comment"]
        connection = pymysql.connect(**db_config)
        with connection.cursor() as cursor:
            cursor.execute("INSERT INTO books (name, author, comment) VALUES (%s, %s, %s)", (name, author, comment))
            connection.commit()
        connection.close()
        return "書籍添加成功!"
    return render_template("add_book.html")
  • 同樣使用@app.route()修飾器,設(shè)置URL路徑為’/add_book’的路由,同時(shí)指定支持GET和POST請求方法。
  • 通過判斷請求方法,當(dāng)為POST方法時(shí),從表單中獲取書籍的名稱、作者和備注信息。
  • 連接到MySQL數(shù)據(jù)庫,并使用cursor對(duì)象執(zhí)行SQL插入語句將書籍信息插入到books表中,然后提交更改。
  • 關(guān)閉數(shù)據(jù)庫連接并返回一個(gè)成功添加書籍的消息。
  • 當(dāng)請求方法為GET時(shí),返回渲染后的add_book.html模板。
7. 定義借閱書籍頁面的路由處理函數(shù):
@app.route("/lend_book", methods=["GET", "POST"])
def lend_book():
    if request.method == "POST":
        name = request.form["name"]

        connection = pymysql.connect(**db_config)

        with connection.cursor() as cursor:
            # 檢查圖書是否存在
            cursor.execute("SELECT * FROM books WHERE name = %s", [name])
            result = cursor.fetchone()

            if not result:
                connection.close()
                return "圖書不存在!"

            # 檢查圖書是否已被借閱
            state = result[4]  # 獲取狀態(tài)值的索引為4
            if state == 1:
                connection.close()
                return "圖書已被借閱!"

            # 更新圖書狀態(tài)為已借閱
            cursor.execute("UPDATE books SET state = 1 WHERE name = %s", [name])
            connection.commit()

        connection.close()

        return "借閱成功!借了不看會(huì)變胖噢~"

    return render_template("lend_book.html")
  • 同樣使用@app.route()修飾器,設(shè)置URL路徑為’/lend_book’的路由,同時(shí)指定支持GET和POST請求方法。
  • 通過判斷請求方法,當(dāng)為POST方法時(shí),從表單中獲取要借閱書籍的名稱。
  • 連接到MySQL數(shù)據(jù)庫,并使用cursor對(duì)象執(zhí)行SQL更新語句將該書籍的狀態(tài)設(shè)置為已借閱(state = 1),然后提交更改。
  • 關(guān)閉數(shù)據(jù)庫連接并返回一個(gè)借閱成功的消息。
  • 增加了一些容錯(cuò)處理,比如圖書不存在的或者已被借出去的情況。
  • 當(dāng)請求方法為GET時(shí),返回渲染后的lend_book.html模板。
8. 定義歸還書籍頁面的路由處理函數(shù):
@app.route("/return_book", methods=["GET", "POST"])
def return_book():
    if request.method == "POST":
        name = request.form["name"]
        connection = pymysql.connect(**db_config)
        with connection.cursor() as cursor:
            cursor.execute("UPDATE books SET state = 0 WHERE name = %s", [name])
            connection.commit()
        connection.close()
        return "歸還成功!"
    return render_template("return_book.html")
  • 同樣使用@app.route()修飾器,設(shè)置URL路徑為’/return_book’的路由,同時(shí)指定支持GET和POST請求方法。
  • 通過判斷請求方法,當(dāng)為POST方法時(shí),從表單中獲取要?dú)w還書籍的名稱。
  • 連接到MySQL數(shù)據(jù)庫,并使用cursor對(duì)象執(zhí)行SQL更新語句將該書籍的狀態(tài)設(shè)置為未借閱(state = 0),然后提交更改。
  • 關(guān)閉數(shù)據(jù)庫連接并返回一個(gè)歸還成功的消息。
  • 當(dāng)請求方法為GET時(shí),返回渲染后的return_book.html模板。
9. 啟動(dòng)Flask應(yīng)用程序:
if __name__ == "__main__":
    app.run()
10.服務(wù)端完整代碼:
from flask import Flask, render_template, request
import pymysql

app = Flask(__name__)
# 配置 MySQL 數(shù)據(jù)庫連接
db_config = {
    'host': "XXXXXX",  # 此處填寫你自己的TDSQL-C的外網(wǎng)host
    'port': xxxx,   # 此處填寫你自己的TDSQL-C的外網(wǎng)端口號(hào)
    'user': "root",  # 你申請時(shí)候設(shè)置的用戶名,默認(rèn)是root
    'password': "",  # 密碼就是你自己創(chuàng)建實(shí)例時(shí)的密碼
    'database': 'library', # 這里需要在自己的TDSQL-C中創(chuàng)建一個(gè)數(shù)據(jù)庫,名字為:"library" , 
}


# 檢查數(shù)據(jù)庫中是否存在 'books' 表格,如果不存在則創(chuàng)建它
connection = pymysql.connect(**db_config)
with connection.cursor() as cursor:
    cursor.execute("SHOW TABLES LIKE 'books'")
    result = cursor.fetchone()

    if not result:
        cursor.execute(
            """
            CREATE TABLE books (
                id INT AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(255) NOT NULL,
                author VARCHAR(255) NOT NULL,
                comment TEXT,
                state INT DEFAULT 0
            )
            """
        )
        connection.commit()

connection.close()

@app.route("/")
def index():
    return render_template("index.html")


@app.route("/show_books")
def show_books():
    connection = pymysql.connect(**db_config)
    with connection.cursor() as cursor:
        cursor.execute("SELECT * FROM books")
        books = cursor.fetchall()

    connection.close()

    return render_template("show_books.html", books=books)


@app.route("/add_book", methods=["GET", "POST"])
def add_book():
    if request.method == "POST":
        name = request.form["name"]
        author = request.form["author"]
        comment = request.form["comment"]

        connection = pymysql.connect(**db_config)
        with connection.cursor() as cursor:
            cursor.execute("INSERT INTO books (name, author, comment) VALUES (%s, %s, %s)", (name, author, comment))
            connection.commit()

        connection.close()

        return "書籍添加成功!"
    return render_template("add_book.html")


@app.route("/lend_book", methods=["GET", "POST"])
def lend_book():
    if request.method == "POST":
        name = request.form["name"]

        connection = pymysql.connect(**db_config)

        with connection.cursor() as cursor:
            # 檢查圖書是否存在
            cursor.execute("SELECT * FROM books WHERE name = %s", [name])
            result = cursor.fetchone()

            if not result:
                connection.close()
                return "圖書不存在!"

            # 檢查圖書是否已被借閱
            state = result[4]  # 獲取狀態(tài)值的索引為4
            if state == 1:
                connection.close()
                return "圖書已被借閱!"

            # 更新圖書狀態(tài)為已借閱
            cursor.execute("UPDATE books SET state = 1 WHERE name = %s", [name])
            connection.commit()

        connection.close()

        return "借閱成功!借了不看會(huì)變胖噢~"

    return render_template("lend_book.html")


@app.route("/return_book", methods=["GET", "POST"])
def return_book():
    if request.method == "POST":
        name = request.form["name"]

        connection = pymysql.connect(**db_config)

        with connection.cursor() as cursor:
            cursor.execute("UPDATE books SET state = 0 WHERE name = %s", [name])
            connection.commit()

        connection.close()

        return "歸還成功!"
    return render_template("return_book.html")


if __name__ == "__main__":
    app.run()

注意:
數(shù)據(jù)庫相關(guān)的配置,需要修改為自己申請TDSQL-C時(shí)候的相關(guān)參數(shù)。

運(yùn)行項(xiàng)目

將前后端代碼都準(zhǔn)備好,并且確認(rèn)項(xiàng)目目錄結(jié)構(gòu)沒問題之后,直接運(yùn)行app.py即可成功運(yùn)行項(xiàng)目,運(yùn)行效果圖見下方:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
剛進(jìn)來之后,是沒有圖書的,所以顯示圖書的時(shí)候,是空的。

添加圖書效果

點(diǎn)擊添加圖書,然后新增三個(gè)圖書,看看TDSQL-C中是否增加了相關(guān)數(shù)據(jù)。
圖書數(shù)據(jù):

書名:'惶然錄',作者:'費(fèi)爾南多·佩索阿',描述:'一個(gè)迷失方向且瀕于崩潰的靈魂的自我啟示,一首對(duì)默默無聞、失敗、智慧、困難和沉默的贊美詩。'

書名:'以箭為翅',作者:'簡媜',描述:'調(diào)和空靈文風(fēng)與禪宗境界,刻畫人間之緣起緣滅。像一條柔韌的繩子,情這個(gè)字,不知勒痛多少人的心肉。'

書名:'心是孤獨(dú)的獵手',作者:'卡森·麥卡勒斯',描述:'我們渴望傾訴,卻從未傾聽。女孩、黑人、啞巴、醉鬼、鰥夫的孤獨(dú)形態(tài)各異,卻從未退場。'

如果會(huì)使用本地工具連接mysql的同學(xué),可以自己連接進(jìn)行查看數(shù)據(jù),比如我用的Navicat,效果如下:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

如果不會(huì)用的小伙伴也不用驚慌,TDSQL-C貼心準(zhǔn)備了線上工具,可以直接在網(wǎng)頁上就能查看,具體操作如下:
點(diǎn)擊登錄【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
輸入自己設(shè)置的用戶名和密碼進(jìn)行登錄:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
登錄成功后:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
選擇library數(shù)據(jù)庫
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
可以看到下面有books表,然后雙擊這個(gè)表即可查看其中的信息:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
關(guān)閉右邊的彈窗,即可看出我們剛剛添加的數(shù)據(jù):
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
可以看到,添加書籍OK了。

展示圖書

這時(shí)候我們點(diǎn)擊瀏覽器的后退鍵,或者再次訪問項(xiàng)目的本地地址:http://127.0.0.1:5000,進(jìn)入到主菜單,選擇顯示圖書,就可以看到剛剛添加的圖書。效果圖:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

借閱圖書

接下來我們借閱一本《以箭為翅》,然后再查看一下數(shù)據(jù)。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
提示借閱成功了,我們看看數(shù)據(jù)庫的數(shù)據(jù)是否改變了。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
可以看到,數(shù)據(jù)已經(jīng)修改了,以箭為翅的 state 修改為了1

0代表未借出,1代表已借出.

歸還圖書

接下來我們把剛借閱的《以箭為翅》進(jìn)行歸還,然后再查看一下數(shù)據(jù)。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
歸還成功了,這時(shí)候看一下數(shù)據(jù)庫數(shù)據(jù)是否改變了。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
可以看到,數(shù)據(jù)已經(jīng)更新了。

注意:在數(shù)據(jù)庫中查看數(shù)據(jù)的時(shí)候,最好先刷新一下,然后再查看,才能保障看到的是最新數(shù)據(jù)。

至此,項(xiàng)目已經(jīng)完整的搭建完畢,并且驗(yàn)證完畢了,撒花~

刪除TDSQL

如果只是想體驗(yàn)一下的小伙伴,體驗(yàn)完成之后,為了避免不必要的扣費(fèi)風(fēng)險(xiǎn),可以將這個(gè)實(shí)例進(jìn)行刪除。
如果有的小伙伴覺得用的還不錯(cuò),可能會(huì)長期使用,那就直接忽略這步。

點(diǎn)擊“銷毀、退款”
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

看清楚彈窗的提示,然后勾選同意協(xié)議,點(diǎn)擊確定。【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python

然后實(shí)例狀態(tài)變?yōu)檫@樣:
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng),騰訊云,serverless,python
等待一會(huì)兒即可銷毀成功了。

總結(jié)與分析

本項(xiàng)目只是讓大家可以對(duì)TDSQL-C有一個(gè)基本的認(rèn)識(shí),它使用起來基本上沒有什么門檻,和本地的mysql幾乎一樣,但是它是基于云服務(wù)的,可以讓你的很多夢想得以實(shí)現(xiàn)。使用它,你可以隨時(shí)隨地連接自己的數(shù)據(jù)庫,激發(fā)自己更多的靈感和使用場景!

當(dāng)然,TDSQL-C的功能絕不止這么簡單,它除了功能使用上沒有門檻之外,性能也非常強(qiáng)勁,而且配備了齊全的異常監(jiān)控系統(tǒng),容災(zāi)備份功能,讓你無論想怎么用都沒辦法拒絕它!

體驗(yàn)了一把TDSQL-C,簡單的分析一下它的優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

  1. 靈活的計(jì)費(fèi)模式:TDSQL-C采用Serverless架構(gòu),按量付費(fèi),避免了中小公司承擔(dān)過多的人力成本和運(yùn)維成本。這意味著你可以根據(jù)實(shí)際使用的資源進(jìn)行付費(fèi),降低了成本,同時(shí)在空閑時(shí)還可以自動(dòng)休眠,減少不必要的費(fèi)用。就像是一個(gè)聰明的小助手,幫你合理控制開支。
  2. 高性能和海量存儲(chǔ):TDSQL-C不僅表現(xiàn)出色的高性能,而且還提供海量存儲(chǔ)空間。這意味著它可以處理各種大流量場景,讓你不再為數(shù)據(jù)庫的性能和存儲(chǔ)容量而擔(dān)心。它就像是一個(gè)強(qiáng)壯的運(yùn)動(dòng)員,能夠應(yīng)對(duì)各種挑戰(zhàn)。
  3. 完備的產(chǎn)品和智能工具:TDSQL-C不僅僅是提供數(shù)據(jù)庫服務(wù),還提供了豐富的可視化管理工具和輔助工具。無需下載數(shù)據(jù)庫管理客戶端,你可以直接進(jìn)行庫表級(jí)操作、實(shí)時(shí)監(jiān)控、實(shí)例會(huì)話管理等操作。此外,智能監(jiān)控和健康管理分析等功能也能幫助你更好地管理數(shù)據(jù)庫。就像是一個(gè)細(xì)心周到的管家,讓你的數(shù)據(jù)管理變得更加輕松愉快。

缺點(diǎn):

盡管TDSQL-C具有許多優(yōu)點(diǎn),但也存在一些缺點(diǎn)需要考慮:

  1. 依賴云服務(wù):TDSQL-C是騰訊云提供的數(shù)據(jù)庫解決方案,因此它對(duì)于想要使用它的用戶來說,他們必須依賴于騰訊云的平臺(tái)和服務(wù)。這可能會(huì)限制了用戶對(duì)數(shù)據(jù)庫的控制權(quán)和自由度,以及對(duì)基礎(chǔ)設(shè)施的選擇。
  2. 可能出現(xiàn)延遲:由于TDSQL-C是基于云服務(wù)的,因此在訪問和處理數(shù)據(jù)時(shí)可能會(huì)受到網(wǎng)絡(luò)延遲的影響。特別是對(duì)于一些對(duì)實(shí)時(shí)性要求較高的應(yīng)用場景來說,延遲可能成為一個(gè)問題,并且可能會(huì)影響系統(tǒng)的響應(yīng)速度和用戶體驗(yàn)。
  3. 安全性風(fēng)險(xiǎn):使用云服務(wù)意味著將數(shù)據(jù)存儲(chǔ)在第三方的服務(wù)器上,在數(shù)據(jù)傳輸和存儲(chǔ)過程中可能涉及到一些安全性風(fēng)險(xiǎn)。雖然騰訊云采取了各種安全措施,但仍然無法完全消除潛在的數(shù)據(jù)泄露或攻擊風(fēng)險(xiǎn)。因此,對(duì)于安全性要求較高的企業(yè)或應(yīng)用來說,可能需要做出額外的安全措施和評(píng)估。

這些是TDSQL-C的一些缺點(diǎn),需要在選擇和使用時(shí)予以考慮。綜合考慮其優(yōu)點(diǎn)和缺點(diǎn),根據(jù)具體需求做出權(quán)衡和決策。文章來源地址http://www.zghlxwxcb.cn/news/detail-685783.html

到了這里,關(guān)于【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】 使用 Python 和 TDSQL-C 實(shí)現(xiàn)一個(gè)線上圖書管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless最佳實(shí)踐

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless最佳實(shí)踐

    隨著云計(jì)算技術(shù)的不斷發(fā)展,越來越多的企業(yè)開始選擇將自己的數(shù)據(jù)庫部署在云上,以更好了的支持企業(yè)數(shù)字化轉(zhuǎn)型以及業(yè)務(wù)創(chuàng)新,在這個(gè)過程中,很多客戶會(huì)遇到這樣一個(gè)問題,業(yè)務(wù)會(huì)存在高峰期和低谷期,同樣數(shù)據(jù)庫的訪問量也是會(huì)存在相應(yīng)的高峰期和低谷期。 序號(hào) 業(yè)

    2024年02月07日
    瀏覽(38)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless實(shí)踐之路

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless實(shí)踐之路

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless實(shí)踐之路 騰訊云TDSQL-C聯(lián)合CSDN推出了一款云數(shù)據(jù)庫產(chǎn)品測評(píng)活動(dòng),讓我們一起來體驗(yàn)一下。 云數(shù)據(jù)庫是指被優(yōu)化或部署到一個(gè)虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫,可以實(shí)現(xiàn)按需付費(fèi)、按需擴(kuò)展、高可用性以及存儲(chǔ)整合等優(yōu)勢。 云數(shù)

    2024年02月08日
    瀏覽(27)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】飲水機(jī)式使用云數(shù)據(jù)庫

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】飲水機(jī)式使用云數(shù)據(jù)庫

    云計(jì)算的發(fā)展從IaaS,PaaS,SaaS,到最新的BaaS,F(xiàn)asS,在這個(gè)趨勢中serverless(去服務(wù)器化) 計(jì)算資源發(fā)展Physical - Virtualisation - Cloud Compute - Container - Serverless。 TDSQL-C 是騰訊云自研的新一代云原生關(guān)系型數(shù)據(jù)庫。融合了傳統(tǒng)數(shù)據(jù)庫、云計(jì)算與新硬件技術(shù)的優(yōu)勢,100%兼容 MySQL,為用

    2024年02月07日
    瀏覽(18)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C MySQL Serverless的性能測試

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C MySQL Serverless的性能測試

    可以幫助發(fā)現(xiàn)性能瓶頸,并及時(shí)采取措施來優(yōu)化數(shù)據(jù)庫性能。 序號(hào) 測試方法 描述 1 基準(zhǔn)測試(Benchmark Testing) ①. 通過運(yùn)行預(yù)定義的測試項(xiàng)目來測量數(shù)據(jù)庫性能的方法 ②. 基準(zhǔn)測試適用于比較不同數(shù)據(jù)庫系統(tǒng)或不同硬件配置的性能 ③. 建議根據(jù)實(shí)際使用場景來選擇最適合的基

    2024年02月08日
    瀏覽(24)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】| 實(shí)戰(zhàn)分享

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】| 實(shí)戰(zhàn)分享

    在當(dāng)今云計(jì)算時(shí)代,不同類型的業(yè)務(wù)對(duì)高彈性、高可用性和可擴(kuò)展性的需求越來越強(qiáng)烈,按需使用資源成為企業(yè)所需要的關(guān)鍵功能。為了滿足這些需求,云原生數(shù)據(jù)庫的Serverless化已經(jīng)成為云數(shù)據(jù)庫發(fā)展的重要方向之一。 過去,云數(shù)據(jù)庫的發(fā)展經(jīng)歷了幾個(gè)時(shí)代。在1.0時(shí)代, 主

    2024年02月11日
    瀏覽(22)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless“隨心所欲”的彈性計(jì)費(fèi)

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless“隨心所欲”的彈性計(jì)費(fèi)

    數(shù)據(jù)庫作為公司軟件業(yè)務(wù)應(yīng)用中最重要的基礎(chǔ)軟件之一,在整個(gè)IT生態(tài)體系中具有舉足輕重的作用,隨著業(yè)務(wù)數(shù)據(jù)量的增大和算力的限制,單臺(tái)MySQL實(shí)例越來越滿足不了需求,騰訊云 TDSQL-C Serverless是騰訊云自研的云原生關(guān)系型數(shù)據(jù)庫 TDSQL-C MySQL版的無服務(wù)器架構(gòu)版。按實(shí)際計(jì)算

    2024年02月08日
    瀏覽(20)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C Serverless最佳實(shí)踐助力企業(yè)降本增效

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C Serverless最佳實(shí)踐助力企業(yè)降本增效

    隨著公司的業(yè)務(wù)快速發(fā)展,數(shù)據(jù)庫中的數(shù)據(jù)量猛增,訪問性能也變慢了,單臺(tái)MySQL實(shí)例無法應(yīng)對(duì)和滿足大規(guī)模數(shù)據(jù)管理和請求訪問,導(dǎo)致數(shù)據(jù)庫性能下降,成為瓶頸。 關(guān)系型數(shù)據(jù)本身就比較容易形成系統(tǒng)瓶頸,無論是從單機(jī)存儲(chǔ)容量、連接數(shù)、處理能力都有限。 當(dāng)單表的數(shù)據(jù)

    2024年02月08日
    瀏覽(22)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless云數(shù)據(jù)庫化繁為簡

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless云數(shù)據(jù)庫化繁為簡

    隨著互聯(lián)網(wǎng)的發(fā)展,企業(yè)的規(guī)模也在不斷的發(fā)展,企業(yè)內(nèi)部的在線業(yè)務(wù)量也隨之驟增,海量的數(shù)據(jù)訪問和存儲(chǔ)壓力已經(jīng)日益不滿足公司業(yè)務(wù)的需求了,而且搭建傳統(tǒng)集中式數(shù)據(jù)庫也增加運(yùn)維工作量和公司軟硬件成本,對(duì)于突發(fā)的業(yè)務(wù),無法滿足更快更穩(wěn)定的業(yè)務(wù)性能。 企業(yè)級(jí)

    2024年02月08日
    瀏覽(27)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless助力企業(yè)降本增效直播讀后感

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】TDSQL-C MySQL Serverless助力企業(yè)降本增效直播讀后感

    本人接觸互聯(lián)網(wǎng)也有差不多10個(gè)年頭,從個(gè)人的博客、商城、電商、教育、淘寶客等,手里大大小小的項(xiàng)目也不在少數(shù),接觸過的技術(shù)棧也是比較多,從.net、php、java、go、python等都有涉獵,接觸的規(guī)模也是逐漸由小到大,從簡單的單機(jī)應(yīng)用部署到SOA架構(gòu),再到目前公司業(yè)務(wù)的

    2024年02月07日
    瀏覽(29)
  • 【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C 存儲(chǔ)爬取的QQ音樂歌單數(shù)據(jù)

    【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗(yàn)】基于TDSQL-C 存儲(chǔ)爬取的QQ音樂歌單數(shù)據(jù)

    最近有幸參與了騰訊云舉辦的 騰訊云 TDSQL-C 產(chǎn)品體驗(yàn)活動(dòng)。在這個(gè)過程中,通過了解 TDSQL-C 的產(chǎn)品和實(shí)踐,讓我受益非淺,原來數(shù)據(jù)庫還能這么玩! 也讓我真正體會(huì)到了降本增效這個(gè)詞的意義。 在看到活動(dòng)的介紹和微信群的講解后,我馬不停蹄地開始了自己摸索。首先是跟

    2024年02月12日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包