Python?數(shù)據庫操作SQL基礎
SQL 基礎
SQL 主要分為以下幾類操作:
- 數(shù)據定義語言(DDL,Data Definition Language):用于定義數(shù)據庫結構的操作,如創(chuàng)建、修改、刪除表結構等。常用語句包括
CREATE
、ALTER
、DROP
等。 - 數(shù)據操作語言(DML,Data Manipulation Language):用于操作數(shù)據庫中的數(shù)據,如插入、更新、刪除數(shù)據等。常用語句包括
INSERT
、UPDATE
、DELETE
等。 - 數(shù)據查詢語言(DQL,Data Query Language):用于查詢數(shù)據庫中的數(shù)據。常用語句為
SELECT
。 - 數(shù)據控制語言(DCL,Data Control Language):用于控制數(shù)據庫訪問權限和事務處理,如授權、撤銷權限等。常用語句包括
GRANT
、REVOKE
、COMMIT
、ROLLBACK
等。
接下來,我們將學習 SQL 的基本語法和操作。
數(shù)據庫和表的創(chuàng)建
創(chuàng)建一個數(shù)據庫:
CREATE DATABASE mydb;
創(chuàng)建一個表:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT NOT NULL, email VARCHAR(100) );
數(shù)據的插入、查詢、更新和刪除
插入數(shù)據:
INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');
查詢數(shù)據:
SELECT * FROM users; -- 查詢所有數(shù)據 SELECT * FROM users WHERE age > 25; -- 查詢年齡大于 25 的用戶 SELECT name, email FROM users; -- 只查詢用戶名和電子郵件
排序、分組和聚合:
SELECT * FROM users ORDER BY age DESC; -- 按年齡降序排序 SELECT age, COUNT(*) FROM users GROUP BY age; -- 按年齡分組,統(tǒng)計每個年齡段的用戶數(shù)量 SELECT AVG(age) FROM users; -- 計算平均年齡
更新數(shù)據:
UPDATE users SET age = 31 WHERE name = 'Alice'; -- 將名為 Alice 的用戶年齡更新為 31
刪除數(shù)據:
DELETE FROM users WHERE id = 1; -- 刪除 id 為 1 的用戶
索引、連接和子查詢
創(chuàng)建索引:
CREATE INDEX idx_users_email ON users (email); -- 為 email 列創(chuàng)建索引
連接表(以 INNER JOIN 為例):
-- 假設有另一個表 orders,包含 user_id 和 order_date 列 SELECT users.name, orders.order_date FROM users INNER JOIN orders ON users.id = orders.user_id;
子查詢:
SELECT * FROM users WHERE age > (SELECT AVG(age) FROM users); -- 查詢年齡大于平均年齡的用戶
Python 中的數(shù)據庫操作
為了在 Python 中操作數(shù)據庫,我們需要使用相應的數(shù)據庫適配器。以 MySQL 為例,我們可以使用 mysql-connector-python
庫。首先,安裝該庫:
pip install mysql-connector-python
然后,你可以使用以下代碼連接到 MySQL 數(shù)據庫并執(zhí)行 SQL 語句:
import mysql.connector # 連接數(shù)據庫 cnx = mysql.connector.connect( host='localhost', user='your_username', password='your_password', database='mydb' ) # 創(chuàng)建游標 cursor = cnx.cursor() # 執(zhí)行 SQL 語句 cursor.execute('SELECT * FROM users') # 獲取查詢結果 result = cursor.fetchall() for row in result: print(row) # 關閉游標和連接 cursor.close() cnx.close()
以上就是 Python 數(shù)據庫操作及 SQL 基礎的相關內容。為了更好地學習和理解這些知識點,建議你在實際項目中親自動手操作,逐漸積累經驗
更多關于Python操作SQL的資料請關注腳本之家其它相關文章!
相關文章
Python基于字典實現(xiàn)switch case函數(shù)調用
這篇文章主要介紹了Python基于字典實現(xiàn)switch case函數(shù)調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07基于SQLAlchemy實現(xiàn)操作MySQL并執(zhí)行原生sql語句
這篇文章主要介紹了基于SQLAlchemy實現(xiàn)操作MySQL并執(zhí)行原生sql語句,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06