关于人工智能:81-SQL基础

51次阅读

共计 1992 个字符,预计需要花费 5 分钟才能阅读完成。

在本章节中,咱们将探讨 Python 数据库操作的基础知识,重点关注 SQL(Structured Query Language,结构化查询语言)。SQL 是用于治理关系型数据库的规范编程语言,能够用来执行数据定义、数据操作和数据管制等工作。

8.1 SQL 根底

SQL 次要分为以下几类操作:

  1. 数据定义语言(DDL,Data Definition Language):用于定义数据库构造的操作,如创立、批改、删除表构造等。罕用语句包含 CREATEALTERDROP 等。
  2. 数据操作语言(DML,Data Manipulation Language):用于操作数据库中的数据,如插入、更新、删除数据等。罕用语句包含 INSERTUPDATEDELETE 等。
  3. 数据查询语言(DQL,Data Query Language):用于查询数据库中的数据。罕用语句为 SELECT
  4. 数据管制语言(DCL,Data Control Language):用于管制数据库拜访权限和事务处理,如受权、撤销权限等。罕用语句包含 GRANTREVOKECOMMITROLLBACK 等。

接下来,咱们将学习 SQL 的根本语法和操作。

8.1.1 数据库和表的创立

创立一个数据库:

CREATE DATABASE mydb;

创立一个表:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL,
    email VARCHAR(100)
);

8.1.2 数据的插入、查问、更新和删除

插入数据:

INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');

查问数据:

SELECT * FROM users; -- 查问所有数据
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; -- 按年龄分组,统计每个年龄段的用户数量
SELECT AVG(age) FROM users; -- 计算平均年龄 

更新数据:

UPDATE users SET age = 31 WHERE name = 'Alice'; -- 将名为 Alice 的用户年龄更新为 31

删除数据:

DELETE FROM users WHERE id = 1; -- 删除 id 为 1 的用户 

8.1.3 索引、连贯和子查问

创立索引:

CREATE INDEX idx_users_email ON users (email); -- 为 email 列创立索引 

连贯表(以 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); -- 查问年龄大于平均年龄的用户 

8.1.4 Python 中的数据库操作

为了在 Python 中操作数据库,咱们须要应用相应的数据库适配器。以 MySQL 为例,咱们能够应用 mysql-connector-python 库。首先,装置该库:

pip install mysql-connector-python

而后,你能够应用以下代码连贯到 MySQL 数据库并执行 SQL 语句:

import mysql.connector

# 连贯数据库
cnx = mysql.connector.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='mydb'
)

# 创立游标
cursor = cnx.cursor()

# 执行 SQL 语句
cursor.execute('SELECT * FROM users')

# 获取查问后果
result = cursor.fetchall()
for row in result:
    print(row)

# 敞开游标和连贯
cursor.close()
cnx.close()

以上就是 Python 数据库操作及 SQL 根底的相干内容。为了更好地学习和了解这些知识点,倡议你在理论我的项目中亲自动手操作,逐步积攒教训。
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

正文完
 0