新聞中心
Python數據庫簡介

創(chuàng)新互聯服務項目包括景谷網站建設、景谷網站制作、景谷網頁制作以及景谷網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,景谷網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到景谷省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
Python是一種非常流行的編程語言,廣泛用于各種任務和項目中。Python可以用來訪問和管理各種類型的數據庫,包括關系型數據庫、文檔數據庫和圖形數據庫。
在Python中,有幾種不同的數據庫訪問工具。這些工具包括Python標準庫中的sqlite3模塊,以及許多第三方模塊,如MySQLdb,psycopg2,PyMongo和py2neo等。本文將介紹如何使用Python標準庫中的sqlite3模塊以及第三方模塊PyMySQL來訪問MySQL數據庫。
Python SQLite入門指南
SQLite是一種輕量級的關系型數據庫管理系統,它是一個自包含的數據庫引擎。SQLite常常被用于移動應用和小型桌面應用中。在Python中,我們可以使用sqlite3模塊訪問SQLite數據庫。
步驟1: 安裝sqlite3
在Python標準庫中,sqlite3是內置的。因此,不需要安裝特定的軟件包。然而,為了反復練習,更好安裝SQLite本身,并通過在SQLite命令提示符下輸入以下命令來驗證其正確性:
$ sqlite3
步驟2: 連接到SQLite數據庫
使用sqlite3連接到數據庫時,首先需要創(chuàng)建一個數據庫連接對象。在這個對象中,可以設置許多不同的連接參數。例如,可以指定連接的數據庫文件名,用戶名和密碼,以及連接對管理數據庫的方式。
要連接到SQLite數據庫,使用以下Python代碼:
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
這個代碼片段定義了一個變量conn,其中存儲了數據庫的連接。我們將連接到test.db數據庫,這個數據庫可以是在同一目錄中的任何SQLite數據庫文件。
步驟3: 創(chuàng)建數據表
在SQLite中,可以使用CREATE TABLE語句來創(chuàng)建數據庫表。每個表都包含多個列,每列都具有特定的數據類型。在Python中,可以使用sqlite3模塊的execute方法執(zhí)行CREATE TABLE語句。在本文的例子中,我們將創(chuàng)建一個名為company的數據表,其中有4列:ID、NAME、AGE和ADDRESS。
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(”’CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);”’)
conn.close()
我們在test.db上執(zhí)行了CREATE TABLE語句,并在其中創(chuàng)建了一個新的名為COMPANY的數據表。注意,此語句應該是一條字符串,正如上面的代碼片段所示。
步驟4: 插入數據記錄
在SQLite數據庫中,可以使用INSERT語句將數據插入到表中。可以使用sqlite3的execute方法執(zhí)行SQL INSERT語句。下面是一個示例Python程序,用于將一些數據插入到上面定義的company數據表中:
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, ‘Paul’, 32, ‘California’, 20230.00 )”)
conn.execute(“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, ‘Allen’, 25, ‘Texas’, 15000.00 )”)
conn.execute(“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, ‘Teddy’, 23, ‘Norway’, 20230.00 )”)
conn.execute(“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, ‘Mark’, 25, ‘Rich-Mond’, 65000.00 )”)
conn.commit()
print(“Records created successfully”)
conn.close()
在這個例子中,我們?yōu)橐粋€名為COMPANY的數據表插入了4條記錄。注意,我們使用backslash字符(’\’)在我們的Python腳本中的每個INSERT語句上分割它們,以避免因語句過長而引起SyntaxError。
步驟5: 查詢數據記錄
在SQLite數據庫中,可以使用SELECT語句查詢表中的數據。在Python代碼中,可以使用sqlite3的execute方法執(zhí)行查詢。下面是一個示例Python程序,用于打印表公司中所有記錄的詳細信息:
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
cursor = conn.execute(“SELECT id, name, address, salary from COMPANY”)
for row in cursor:
print(“ID = “, row[0])
print(“NAME = “, row[1])
print(“ADDRESS = “, row[2])
print(“SALARY = “, row[3], “\n”)
print(“Operation done successfully”)
conn.close()
在這個例子中,我們查詢了名為company的數據表,然后對結果集進行迭代,并打印了每個記錄的ID、NAME、ADDRESS和SALARY。
步驟6: 更新記錄
在SQLite數據庫中,可以使用UPDATE語句更新表中的數據。在Python代碼中,可以使用sqlite3的execute方法執(zhí)行UPDATE語句。下面是一個示例Python程序,用于更新表公司中之一條記錄的薪資:
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(“UPDATE COMPANY set SALARY = 25000.00 where ID = 1”)
conn.commit()
print(“Total number of rows updated :”, conn.total_changes)
cursor = conn.execute(“SELECT id, name, address, salary from COMPANY”)
for row in cursor:
print(“ID = “, row[0])
print(“NAME = “, row[1])
print(“ADDRESS = “, row[2])
print(“SALARY = “, row[3], “\n”)
print(“Operation done successfully”)
conn.close()
在這個例子中,我們使用UPDATE語句來更新薪資,然后使用SELECT語句查詢新結果集并打印它。此后,我們關閉數據庫連接。
步驟7: 刪除記錄
在SQLite數據庫中,可以使用DELETE語句刪除表中的數據記錄。在Python代碼中,可以使用sqlite3的execute方法執(zhí)行DELETE語句。下面是一個示例Python程序,用于刪除表公司中ID為2的記錄:
import sqlite3
conn = sqlite3.connect(‘test.db’)
print(“Opened database successfully”)
conn.execute(“DELETE from COMPANY where ID = 2;”)
conn.commit()
print(“Total number of rows deleted :”, conn.total_changes)
cursor = conn.execute(“SELECT id, name, address, salary from COMPANY”)
for row in cursor:
print(“ID = “, row[0])
print(“NAME = “, row[1])
print(“ADDRESS = “, row[2])
print(“SALARY = “, row[3], “\n”)
print(“Operation done successfully”)
conn.close()
在這個例子中,我們使用DELETE語句刪除表中的行,然后使用SELECT語句查詢新結果集并打印它。此后,我們關閉數據庫連接。
Python MySQL入門指南
MySQL是一種開源的關系型數據庫管理系統,它被廣泛用于各種大小的應用程序中。Python中有許多第三方工具,可供以各種方式訪問MySQL數據庫。在本節(jié)中,我們將介紹使用PyMySQL訪問MySQL數據庫的方法。
步驟1: 安裝PyMySQL
要在Python代碼中使用PyMySQL,需要首先安裝PyMySQL庫??梢酝ㄟ^運行下面的命令來安裝PyMySQL:
pip install PyMySQL
步驟2: 連接MySQL數據庫
在Python中,PyMySQL會使用連接到MySQL數據庫。可以使用PyMySQL.connect方法創(chuàng)建一個新的數據庫連接:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
在本例中,我們連接到本地MySQL數據庫,然后創(chuàng)建一個名為cursor的新對象。
步驟3: 創(chuàng)建數據表
可以使用CREATE TABLE語句在MySQL數據庫中創(chuàng)建表。以下是一個示例Python程序,用于創(chuàng)建名為employee的數據表:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Drop table if it already exist using execute() method.
cursor.execute(“DROP TABLE IF EXISTS EMPLOYEE”)
# Create table as per requirement
sql = “””CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )”””
cursor.execute(sql)
# disconnect from server
db.close()
在本例中,我們使用了CREATE TABLE語句并定義了一個新的名為employee的表。注意,此語句應該是一條字符串。
步驟4: 插入數據記錄
可以使用INSERT語句將數據插入到MySQL數據庫表中。以下是一個示例Python程序,用于將一些數據插入名為employee的數據表中:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Prepare SQL query to INSERT a record into the database.
sql = “””INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES (‘Mac’, ‘Mohan’, 20, ‘M’, 2023)”””
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# disconnect from server
db.close()
在本例中,我們使用INSERT語句插入了一條名為員工的記錄。注意,我們在try塊中運行execute方法,并使用commit方法將更改保存到數據庫中。
步驟5: 查詢數據記錄
可以使用SELECT語句查詢MySQL數據庫表中的數據。以下是一個示例Python程序,用于查詢名為employee的數據表中的所有記錄:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Prepare SQL query to SELECT records from the database.
sql = “SELECT * FROM EMPLOYEE \
WHERE INCOME > ‘%d'” % (1000)
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# Now print fetched result
print (“fname = %s,lname = %s,age = %d,sex = %s,income = %d” % \
(fname, lname, age, sex, income ))
except:
print (“Error: unable to fetch data”)
# disconnect from server
db.close()
在本例中,我們使用SELECT語句查詢名為employee的數據表。我們可以使用fetchall方法獲取查詢結果并迭代每個行,以打印查詢結果。
步驟6: 更新記錄
可以使用UPDATE語句更新MySQL數據庫表中的數據。以下是一個示例Python程序,用于更新名為employee的數據表中的一條記錄:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Prepare SQL query to UPDATE required records
sql = “UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = ‘%c'” % (‘M’)
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# disconnect from server
db.close()
在本例中,我們使用UPDATE語句更新名為employee的數據表中的一行,使AGE增加1。我們在try塊中使用execute方法并在成功后使用commit方法,以將更改保存到數據庫中。
步驟7: 刪除記錄
可以使用DELETE語句從MySQL數據庫表中刪除數據記錄。以下是一個示例Python程序,用于刪除名為employee的數據表中的一條記錄:
import pymysql
# Open database connection
db = pymysql.connect(“l(fā)ocalhost”,”testuser”,”test123″,”TESTDB” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Prepare SQL query to DELETE required records
sql = “DELETE FROM EMPLOYEE WHERE AGE > ‘%d'” % (20)
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# disconnect from server
db.close()
在本例中,我們使用DELETE語句從名為employee的數據表中刪除一條記錄。我們在try塊中使用execute方法并在成功后使用commit方法,以將更改保存到數據庫中。
本文介紹了如何在Python中使用sqlite3和PyMySQL訪問SQLite和MySQL數據庫。我們討論了使用Python數據庫API,如連接到數據庫、創(chuàng)建數據表、插入數據記錄、查詢數據記錄、更新記錄和刪除記錄等重要任務。Python是一個非常強大的編程語言,它可以輕松地與各種類型的數據庫進行交互。在學習本文中所述的Python數據庫API時,您將了解如何使用Python編寫強大的數據驅動應用程序。
成都網站建設公司-創(chuàng)新互聯,建站經驗豐富以策略為先導10多年以來專注數字化網站建設,提供企業(yè)網站建設,高端網站設計,響應式網站制作,設計師量身打造品牌風格,熱線:028-86922220數據挖掘方向,Python中還需要學習哪些內容
python是編沖行程語言,數據配殲挖掘是一種數據處理技術,數據散賣嘩挖掘方向還是建議多學學數學和算法。老男孩的python視頻可以看一下,講的還是不錯的。
就題論題,還包括:
1. Python 數據庫連接庫,例如MySQL 連接庫的應用,這決定你的數據從哪里來。這里面涉及到sql語法和數據庫基本知識,是你在學習的時候必須一起學會的。
2. Python 做基本數據計算和預處理的庫,包括numpy ,scipy,pandas 這三個用得最多。
3. 數據分析和挖掘庫,主要是sklearn,Statodels。前者是最廣泛的機器學習庫,后者是側重于統計分析的庫。(要知道統計分析大多時候和數據挖掘都錯不能分開使用)
4. 圖形展示庫。matpotlib,這是用的最多的了。
說完題主本身 要求,樓上幾位說的對,你還需要一些關于數據挖掘算法的基本知識和認知,否則即使你調用相關庫得到結果,很可能你都不知道怎么解讀,如何優(yōu)化,甚至在什么場景下還如何選擇算法等。因此基本知識你得了解。主要包括:
1.統計學相關,看看深入淺出數據分析和漫畫統計學吧,雖然是入門的書籍,但很容易懂。
2.數據挖掘相關,看看數據挖掘導論吧,轎山這是講算法本身得書。
剩下的就是去鏈升實踐了。有項目就多參與下項目,看看真正的數據挖掘項目閉喚中是怎么開展的,流程怎樣等。沒有項目可以去參加一些數據挖掘或機器學習方面的大賽,也是增加經驗得好方法。
個人覺得數據挖掘,還是要看理論吧。
重點是算法原理,python只是實現工具而已。
Python數據分析和數據挖掘學習路線圖
假如你想成為一個數據科學家,或者已經是數據科學家的你想擴展你的技能,那么你已經來對地方了。本文的目的就是給數據分析方面的Python新手提供一個完整的學習路徑。該路徑提供了你需要學習的利用Python進行數據分析的所有步驟的完整概述。如果你已經有一些相關的背景知識,或者你不需要路徑中的所有內容,你可以告慶隨意調整你自己的學習路徑,并且讓大家知道你是如何調整的。
步驟0:熱身
開始學習旅程之前,先回答之一個問題:為什么使用Python?或者,Python如何發(fā)揮作用?
觀看DataRobot創(chuàng)始人Jeremy在PyCon Ukraine 2023上的30分鐘演講,來了解Python是多么的有用。
步驟1:設置你的機器環(huán)境
現在你已經決心要好好學習了,也是時候設置你的機器環(huán)境了。最簡單的方法就是從Continuum.io上下載分發(fā)包Anaconda。Anaconda將你以后可能會用到的大部分的東西進行了打包。采用這個方法的主要缺點是,即使可能已經有了可用的底層庫的更新,你仍然需要等待Continuum去更新Anaconda包。當然如果你是一個初學者,這應該沒什么問題。
如果你在安裝過程中遇到任喚慶何問題,你可以在這里找到不同操作系統下更詳細的安裝說明。
步驟2:學習Python語言的基礎知識
你應該先去了解Python語言的基礎知識、庫和數據結構。Codecademy上的Python課程是你更好的選擇之一。完成這個課程后,你就能輕松的利用Python寫一些小腳本,同時也能理解Python中的類和對象。
具體學習內容:列表Lists,元組Tuples,字典Dictionaries,列表推導式,字典推導式。
任務:解決HackerRank上的一些Python教程題,這些題能讓你更好的用Python腳本的方式去思考問題。
替代資源:如果你不喜歡交互編碼這種學習方式,你也可以學習PPV課訓練營課程 python入門。這課程系列不但包含前邊提到的Python知識,還包含了一些后邊將要討論的東西。
步驟3:學習Python語言中的正則表達式
你會經常用到正則表達式來進行數據清理,尤其是當你處理文本數據的時候。學習正則表達式的更好方法是參加谷歌的Python課程,它會讓你能更容易的使用正則表達式。
任務:做關于小孩名字的正則表達式練習。
如果你還需要更多的練習,你可以參與這個文本清理的教程。數據預處理中涉及到的各個處理步驟對你來說都會是不小的挑戰(zhàn)。
步驟4:學習Python中的科學庫—NumPy, SciPy, Matplotlib以及Pandas
從這步開始,學習旅程將要變得有趣了。下邊是對各個庫的簡介,你可以進行一些常用的操作:
?根據NumPy教程進行完整的練習,特別要練習數組arrays。這將會為下邊的學習旅程打好基礎。
?接下來學習Scipy教程??赐闟cipy介紹和基礎知識后,你可以根據自己的需要學習剩余的內容。
?這里并不需要學習Matplotlib教程。對于我們這里的需求來說,Matplotlib的內容過于廣泛。取而代之的是你可以學習這個筆記中前68行的內容。
?最后學習Pandas。Pandas為Python提供DataFrame功能(類似于R)。這也是你應該花更多的時間練習的地方。Pandas會成為所有中等規(guī)模數據分析的最有效的工具。作為開始,你可以先看一個關于Pandas的10分鐘簡短介紹,然后學習一個更詳細的Pandas教程。
您還可以學習兩篇博客Exploratory Data Analysis with Pandas和Data munging with Pandas中的內容。
額外資源:
?如果你需要一本關于Pandas和Numpy的書,建議Wes McKinney寫的“Python for Data Analysis”。
?在Pandas的文檔中,也有很多Pandas教程,襪鏈握你可以在這里查看。
任務:嘗試解決哈CS109課程的這個任務。
步驟5:有用的數據可視化
參加CS109的這個課程。你可以跳過前邊的2分鐘,但之后的內容都是干貨。你可以根據這個任務來完成課程的學習。
步驟6:學習Scikit-learn庫和機器學習的內容
現在,我們要開始學習整個過程的實質部分了。Scikit-learn是機器學習領域最有用的Python庫。這里是該庫的簡要概述。完成哈CS109課程的課程10到課程18,這些課程包含了機器學習的概述,同時介紹了像回歸、決策樹、整體模型等監(jiān)督算法以及聚類等非監(jiān)督算法。你可以根據各個課程的任務來完成相應的課程。
額外資源:
?如果說有那么一本書是你必讀的,推薦Programming Collective Intelligence。這本書雖然有點老,但依然是該領域更好的書之一。
?此外,你還可以參加來自Yaser Abu-Mostafa的機器學習課程,這是更好的機器學習課程之一。如果你需要更易懂的機器學習技術的解釋,你可以選擇來自Andrew Ng的機器學習課程,并且利用Python做相關的課程練習。
?Scikit-learn的教程
任務:嘗試Kaggle上的這個挑戰(zhàn)
步驟7:練習,練習,再練習
恭喜你,你已經完成了整個學習旅程。
你現在已經學會了你需要的所有技能?,F在就是如何練習的問題了,還有比通過在Kaggle上和數據科學家們進行競賽來練習更好的方式嗎?深入一個當前Kaggle上正在進行的比賽,嘗試使用你已經學過的所有知識來完成這個比賽。
步驟8:深度學習
現在你已經學習了大部分的機器學習技術,是時候關注一下深度學習了。很可能你已經知道什么是深度學習,但是如果你仍然需要一個簡短的介紹,可以看這里。
我自己也是深度學習的新手,所以請有選擇性的采納下邊的一些建議。deeplearning.net上有深度學習方面最全面的資源,在這里你會發(fā)現所有你想要的東西—講座、數據集、挑戰(zhàn)、教程等。你也可以嘗試參加Geoff Hinton的課程,來了解神經網絡的基本知識。
附言:如果你需要大數據方面的庫,可以試試Pydoop和PyMongo。大數據學習路線不是本文的范疇,是因為它自身就是一個完整的主題。
(1)更低保障書籍
無論將來做什么,熟練掌握一門編程語言,一個數據庫,數據結構,算法都是必備的。
《高性能MySQL》
《數據結構與算法分析:Java語言描述》
《算法》
(2)Python與機器學習
《集體智慧編程》
《社交網站的數據挖掘與分析》
《數據挖掘:概念與技術》
Python官方文檔
Scikit-Learn官方文檔
(3)Java相關書籍
《Java開發(fā)實戰(zhàn)經典》
《Java Web開發(fā)實戰(zhàn)經典》
《Java虛擬機規(guī)范》
Java SE
Java EE
(4)Hadoop與Spark書籍
《大數據日知錄:架構與算法》
《Hadoop權威指南》
《大數據Spark企業(yè)級實戰(zhàn)》
《Scala編程》
Hadoop官方網站
Spark官方網站
Scala官方網站
說明:認準目標,耐住性子,一步一步往前走。要把上面推薦的書籍硬著頭皮讀完,數
二. 數據挖掘進階
數據挖掘涉及多個方向,但是通常從數學統計,數據庫和數據倉庫,機器學習三個方向來進行研究。當我想學習一個方向的時候,最希望做的事情就是讓別人給我列出一個書單。因為我也會給你們列出一個書單,讓你們慢慢研究吧。
1. 數學統計
(1)理論數學:復變函數,實變函數,泛函分析,拓撲學,積分變換,微分流形,常微分方程,偏微分方程等。
(2)應用數學:離散數學(,邏輯,組合,代數,圖論,數論),具體數學,張量分析,數值計算,矩陣論,逼近論,運籌學,凸優(yōu)化,小波變換,時間序列分析等。
(3)概率:概率論,測度論,隨機過程等。
(4)統計:統計學,多元統計,貝葉斯統計,統計模擬,非參數統計,參數統計等。
2. 數據庫和數據倉庫
《數據庫系統概念》
《數據庫系統實現》
《數據倉庫》
《分布式系統:概念與設計》
3. 機器學習
通信原理;數據挖掘;機器學習;統計學習;自然語言處理;信息檢索;模式識別;人工智能;圖形圖像;機器視覺;語音識別;機器人學等。(這方面的經典書籍都可以看看,后面慢慢補充)
4. 其它書籍
(1)Linux
(2)網絡原理,編譯原理,組成原理,
(3)JVM
(4)UML
(5)軟件工程
(6)設計模式
(7)云計算與Docker
(8)并行計算
(9)需求分析
關于python數據庫入門的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都創(chuàng)新互聯科技有限公司,經過多年的不懈努力,公司現已經成為一家專業(yè)從事IT產品開發(fā)和營銷公司。廣泛應用于計算機網絡、設計、SEO優(yōu)化、關鍵詞排名等多種行業(yè)!
網頁題目:輕松學習Python數據庫:入門指南(python數據庫入門)
本文來源:http://www.5511xx.com/article/dghhgcs.html


咨詢
建站咨詢
