地 址:上海市靜安66號 電 話(huà):18094313272 網(wǎng)址:www.hunqingrc.com 郵 箱:[email protected]
MySQL數據庫簡(jiǎn)介
MySQL是據庫據??庫一個(gè)開(kāi)源的關(guān)系型數據庫管理系統,由瑞典的數l數MySQL AB公司開(kāi)發(fā),現在(′?_?`)屬于Oracle公司,據庫據庫MySQL是數l數最流行的( ?ω?)關(guān)系型數據庫管理系(xi)統之一,在WEB應用方面,??據庫據庫MySQL是??數l數最好的RDBMS(Relationa??l Database Management System:關(guān)系數據庫管理系統)應用軟件之(zhi)一。
MySQL所使用的據庫據庫SQL語(yǔ)言??是用于訪(fǎng)問(wèn)數據庫的最常用標準化語(yǔ)言,MySQヽ(′▽?zhuān)?ノL軟件采用了雙授權政(?⊿?)策,數l數分為社區版和商業(yè)版,據庫據庫由于其體積小、數l數速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小( ?ω?)型網(wǎng)站的開(kāi)發(fā)選擇MySQLヽ(′▽?zhuān)?ノ作為網(wǎng)站數據庫。
Windows系統下安裝M(???)y???SQL
1、下載My??SQL安裝包:訪(fǎng)問(wèn)MySQL(???)官網(wǎng)(https://dev.m??ysql.co(╬ ò﹏ó)m/dow??nloads??/mysql/)下載對應版本的安裝包。
2、安裝MySQL:運行下載的安裝包,按照提示進(jìn)行安裝。
3、配置環(huán)境變量:將MySQL的安裝路徑添加到系統環(huán)境變量中。
4、啟動(dòng)MySQL服務(wù):通過(guò)Windows服務(wù)管理器啟動(dòng)MySQL服務(wù)。
5、登錄MySQL:使用命令行工具或者圖形化工具登錄MySQL。
Linux系統下安裝MySQL
1、更新軟件源:執行sudo aptget(/ω\) update命令??更新軟件源。
sudo aptget(/ω\) update
2、??安裝MySQL:執行sudo aptget install mysqlserver命令安裝MySQL。
sudo aptget install mysqlserver
3、啟動(dòng)MySQL服務(wù):執行sudo systemctl start mysql命令啟動(dòng)MySQL服務(wù)(wu)。
sudo systemctl start mysql
4、登錄MySQL:使用命令行工具或者圖形???化工具登錄MySQL。
創(chuàng )建數據庫
使用ヾ(′▽?zhuān)??CREATE DATABASE語(yǔ)句創(chuàng )建數據庫:
CREATE DATABASE
CR(′ω`)EATE DATABASE 數據庫名;
使用DROP DATABASE語(yǔ)句刪除數據庫:
DROP DATABASE
DROP DATABASE 數據庫名;
顯示所有數據庫
使用SHOW DATABASES語(yǔ)句顯示所有數據庫:
SHOW DATABASES
SHOW DATABASES;
選擇數據庫
使用USE語(yǔ)句選擇數據庫:
USE
USE 數據庫名;
創(chuàng )建數據表
使用CREATE TABLE語(yǔ)句創(chuàng )建數據表:
CREATE TABLE
CREATE TABLE 表名 ( 列名1 數據類(lèi)型, 列名2 數據類(lèi)型, ..., PRIMARY KEY (主鍵列名));
刪除數據表
使用DROP TABLE語(yǔ)句刪除數據表:
DROP TABLE
DROP TABLE 表名;
顯示所有數據表
使用SHOW TABLES語(yǔ)句顯示所有數據表:
SHOW TABLES
SHOW TABL(′;д;`)ES??;
插入數據
使用INSERT IN(′?`*)TO語(yǔ)句插入數據:
INSERT IN(′?`*)TO
INSERT INTO 表名 (列??名1, 列名2, ...??) VALUES (值1, 值2, ...);
查詢(xún)數據
使用SELECT語(yǔ)句查詢(xún)數據:
SELECT
SELECT 列名1, 列名2, ... FRO??M 表名;
更新數據
使用U(′?`)PDATE語(yǔ)句更新數據(ju):
U(′?`)PDATE
UPDATE 表名 SET 列名1=值1, 列名2ヽ(′ー`)ノ=值2, ... WHERE 條件;
刪除數據
使用DELETE語(yǔ)句刪除數據:
DELETE
DELETE FROM 表名 WHERE 條件;
Python操作MySQL數據庫
要使用Pytヽ(′ー`)ノhon操作MySQL(′?_?`)數據庫,需要先安裝pymysql庫(′?_?`),可以使用以下命令安裝:
pymysql
pip install pymysql
可以使用以下代碼連接MySQL??數據庫并執行SQL語(yǔ)句:
“pythonimport pymysqlconn = pymysql.connect(host=ヽ(′▽?zhuān)?ノ'localhost', user='root', password='your_password', database='your_database', charset='utf8')cursor = conn.cursor()# SQL語(yǔ)句cursor.execute(&quo??t;SEL(′_ゝ`)ECT * FROM your_table")# 獲取查詢(xún)結果result = cursor.fetchall()# 打印??查詢(xún)結果for row in?? result:print(row)# 關(guān)閉游標和連接curs(°□°)or.close()co??nn.close()“
pythonimport pymysqlconn = pymysql.connect(host=ヽ(′▽?zhuān)?ノ'localhost', user='root', password='your_password', database='your_database', charset='utf8')cursor = conn.cursor()# SQL語(yǔ)句cursor.execute(&quo??t;SEL(′_ゝ`)ECT * FROM your_table")# 獲取查詢(xún)結果result = cursor.fetchall()# 打印??查詢(xún)結果for row in?? result:print(row)# 關(guān)閉游標和連接curs(°□°)or.close()co??nn.close()
FAQs相關(guān)問(wèn)答問(wèn)題1:如何在Linux系(′?_?`)統下卸載MySQL?答案:在Linux系統下卸載(zai)MySQL,可以執行以下命令:1.停止MySQL服務(wù):sudo systemctl stop mysqld2.卸載MySQL軟件包:sudo aptget remove purge mysqlserver3.刪除MySQL配置ヾ(′?`)?文件和數據目錄:sudo rm rf /etc/mysql /var/lib/mysql問(wèn)題2:如何在Python中使(shi)用參數化(??-)?查詢(xún)防止SQL注入?(?????)答案:在Python中??使用參數化查詢(xún),可以使用占位符(?)代替直接拼接SQL語(yǔ)句中的變量,使用pymysqlヽ(′ー`)ノ庫執行參數(shu)化查詢(xún)的代碼如下:import pymysqlconn = pymysql.connect(host=’localhost’, user=’root’, password=’your( ?ヮ?)_password’, database=’your_database’, cha(′?`*)rset(?????)=’utf8′)cursor = conn.cursor()# SQL語(yǔ)??句,使用%s作為占位符user_id = ‘some_user_id’cursor.execute((???)"SELECT * FROM your_table WHERE user_id = %s", (user_id,))# 獲取查詢(xún)結果result = cursor.fetchall()# 打印查詢(xún)結果for row in result:print(row)# 關(guān)閉游標和連接cursor.close()conn.close()這樣,即使用戶(hù)輸入包含特殊字符的數據,也(′?`)不會(huì )導致SQL注入問(wèn)題。
下面是一個(gè)關(guān)于Python 3 和 MySQL 數據庫的基礎信息介紹,該介紹包括了連接MySQL數據庫時(shí)常用的Python庫、代碼示例和簡(jiǎn)要說(shuō)明。
import pymysqlconn = pymysql.connec??t(host='localhost', user='root', password='root', database='test')
import mysql.connectorcnx = mysql.connector.connect(′ω`)(user='root', password='root', host='127.0.0.1', database='test')
from sqlalchemy import create??_en(╬?益?)gineengine = create_engine('mysql+pymysql://root:root@localhost:3306/test')
from pym??ysqlcluster import Clustercluster = Cluster("192.(′?_?`)168.1.1",?? 1186, ["192.1??68.1.2", "192.168.1.3"], user='root', pas??sword='root')
import MySQLdbdb = MySQLdb.connect(host='localhost', user="root", passw??d='root', db="test")
import pymysql連接到數據庫conn = pymysql.connect(host='localhost', user='root(′?_?`)', password??='root', database='test')try:(′?ω?`) with conn.cu??rsor() as cursor: # 創(chuàng )建表 create_table_??query = "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL)" cursor.execute(create_table_query) # 插入數據 insert_query = "??INSERT INTO users (username) VALUES (%s)" cu??rsor.execute(insert_query, ('user1',)) # 更新數據 update_qu(?Д?)ery = "UPDATE users SET username = %s WHERE id = %s" cursor.execute??(update_query, ('user2', 1)) # 查詢(xún)數據 select_quer??y = "SELECT id, username FROM users" cursor.e(????)xecute(select_query) result = cursor.fetchall() print(result) # 刪除數據 delete_query = "DELETE FROM users WHERE id = %s" cursor.execute(delete_query, (1,)) # 提交事務(wù) conn.commit()except pymysql.MySQLError as e: print("MySQL Error:", e) # 回滾事務(wù) conn.rollback()finally: # 關(guān)閉連接 conn.close()
請注意,在使用以上代碼之前,請確保已經(jīng)安裝了相應的Python庫,如pymysql,可以通過(guò)p??ip install pymysql命令進(jìn)行安裝,在連接到MySQL數據庫時(shí),確保使用正確的用戶(hù)名、密碼、主機名和數據庫名。
p??ip install pymysql