sql语句常用命令以及举例

SQL是一种结构化查询语言,用于与关系型数据库进行交互。以下是一些基本的SQL语句,希望能帮助你入门:

1.创建表格

 CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
    ....
);

例如,创建一个名为"customers"的表格,其中包含"id"、"name"和"email"三列:

CREATE TABLE customers (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(255)
);
 

2.插入数据

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
例如,将一些客户数据插入到上面创建的"customers"表格中:

INSERT INTO customers (id, name, email)
VALUES (1, 'John Smith', 'john@example.com'),
       (2, 'Jane Doe', 'jane@example.com'),
       (3, 'Bob Johnson', 'bob@example.com');
 

3.选择数据

SELECT column1, column2, ...
FROM table_name;
例如,从"customers"表格中选择所有数据:

SELECT * FROM customers;
 

4.过滤数据

SELECT column1, column2, ...
FROM table_name
WHERE condition;
例如,从"customers"表格中选择所有名字为"John Smith"的客户:

SELECT * FROM customers WHERE name = 'John Smith';

5.更新数据

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

例如,将名字为"Bob Johnson"的客户的邮箱地址更新为"bob.johnson@example.com":

UPDATE customers
SET email = 'bob.johnson@example.com'
WHERE name = 'Bob Johnson';
 

6.删除数据

DELETE FROM table_name WHERE condition;

例如,删除名字为"Jane Doe"的客户:

DELETE FROM customers WHERE name = 'Jane Doe';

SQL是一种非常强大的语言,除了基本的查询、插入、更新和删除操作,还有许多高级的用法和语法可以学习。以下是一些SQL的高级用法和语法:

1.聚合函数

聚合函数是一组函数,用于对数据库中的数据进行聚合操作,如计算平均值、总和、最大值、最小值等。以下是一些常用的聚合函数:

  • AVG:计算某列的平均值。
  • COUNT:计算某列的行数。
  • MAX:返回某列的最大值。
  • MIN:返回某列的最小值。
  • SUM:返回某列的总和。

例如,计算"customers"表格中所有客户的平均年龄:

SELECT AVG(age) FROM customers;
 

2.JOIN

JOIN是一种SQL操作,用于将两个或多个表格中的数据连接起来。JOIN有多种类型,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。

例如,连接"orders"表格和"customers"表格,获取每个客户的订单数:

SELECT customers.name, COUNT(orders.id) as order_count
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id
GROUP BY customers.name;

3.子查询

子查询是一种查询嵌套在另一个查询内部的查询,用于检索更复杂的数据。子查询通常用于WHERE子句或HAVING子句中。

例如,从"customers"表格中选择所有没有订单的客户

SELECT *
FROM customers
WHERE id NOT IN (SELECT customer_id FROM orders);
 

4.函数窗口

窗口函数是一种用于计算排名、分组、移动平均等操作的函数。它可以根据特定的排序规则对结果进行分组,而不会修改原始数据。

例如,计算每个客户的销售额排名:

SELECT name, sales, RANK() OVER (ORDER BY sales DESC) as rank
FROM customers
ORDER BY sales DESC;
 

这只是SQL的一些高级用法和语法,还有很多其他的高级功能,如视图、存储过程、触发器等。希望这些能够帮助你更深入地学习SQL。

1.视图View

视图是一种虚拟的表格,它不包含实际的数据,而是根据已有的表格产生的一个虚拟表格。视图的作用是隐藏表格的部分数据或对表格进行特定的筛选、汇总和排序操作,使得用户可以更方便地查询和操作数据库。

视图可以被视为一个只读的表格,因为用户不能直接向视图中插入、更新或删除数据,而只能通过操作视图中的数据来修改源表格中的数据。

例如,创建一个名为"customer_orders"的视图,它将"customers"表格和"orders"表格连接起来,并只选择客户的名字和订单数量:

CREATE VIEW customer_orders AS
SELECT customers.name, COUNT(orders.id) as order_count
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id
GROUP BY customers.name;
 

2.存储过程 Stored Procedure

存储过程是一段预编译的代码,它可以接收输入参数、执行一系列的SQL操作,并返回结果。存储过程通常用于执行复杂的数据操作和业务逻辑,可以减少数据库操作的时间和复杂性,并提高数据的安全性和可维护性。

存储过程可以像SQL查询一样被调用,可以使用变量和条件语句控制存储过程的执行。存储过程可以返回单个或多个结果集,并且可以在多个数据库操作中共享和重用。

例如,创建一个名为"get_customer_orders"的存储过程,它将客户的名字作为输入参数,并返回该客户的订单数量:

CREATE PROCEDURE get_customer_orders
    @customer_name VARCHAR(50)
AS
BEGIN
    SELECT COUNT(orders.id) as order_count
    FROM customers
    LEFT JOIN orders ON customers.id = orders.customer_id
    WHERE customers.name = @customer_name;
END
 

3.触发器Trigger

触发器是一种特殊的存储过程,它可以在特定的数据库操作(如插入、更新或删除数据)之前或之后自动执行一系列的SQL语句。触发器通常用于实现数据的约束和业务逻辑的处理。

触发器可以根据特定的事件(如INSERT、UPDATE、DELETE)在特定的表格上触发,可以用来检查数据的完整性、执行复杂的业务逻辑和记录数据的变化历史。

例如,创建一个名为"update_customer_sales"的触发器,它在更新"customers"表格中的销售额时自动更新"sales"表格中的销售数据:

CREATE TRIGGER update_customer_sales
ON customers
AFTER UPDATE
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值