【SQL】基础知识及基本应用

以下是关于SQL(结构化查询语言)的一些关键知识点和概念:

 

1. SQL的基本语法

基本的SELECT语句:

SELECT column1, column2, ...

FROM table_name;

条件过滤:

SELECT * FROM employees WHERE salary > 50000;

排序结果(ASC升序,DESC降序):

SELECT name, salary FROM employees ORDER BY salary DESC;

 

2. 数据库操作

创建表:

CREATE TABLE table_name (

    column1 datatype,

    column2 datatype,

    ...

);

例如:

CREATE TABLE customers (

    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(50),

    email VARCHAR(50)

);

插入数据:

INSERT INTO table_name (column1, column2, ...)

VALUES (value1, value2, ...), (...);

例如:

INSERT INTO customers (name, email) VALUES ('John Doe', 'john@example.com');

更新数据:

UPDATE table_name SET column1 = new_value1, column2 = new_value2 WHERE condition;

例如:

UPDATE customers SET name = 'Jane Smith' WHERE id = 1;

删除数据:

DELETE FROM table_name WHERE condition;

例如:

DELETE FROM customers WHERE email = 'john@example.com';

 

3. 查询操作

连接JOIN操作:

SELECT column_list

FROM table1 

INNER JOIN table2 ON table1.id = table2.customer_id;

其他类型的连接包括LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。

使用子查询:

SELECT *

FROM employees

WHERE department IN (SELECT id FROM departments WHERE location = 'New York');

 

4. 函数与聚合

聚合函数(GROUP BY):

SELECT department_id, COUNT(*) as num_employees

FROM employees

GROUP BY department_id;

高级聚合函数示例:

SELECT department_id,

       MAX(salary) AS max_salary,

       MIN(salary) AS min_salary,

       AVG(salary) AS avg_salary,

       SUM(salary) AS total_salary

FROM employees

GROUP BY department_id;

 

5. 数据类型和约束

常见数据类型:

INT (整型)

VARCHAR(n) 或 TEXT (字符型)

DATE, DATETIME (日期时间型)

约束(Constraints):

CREATE TABLE employees (

    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(50),

    email VARCHAR(50) UNIQUE,

    age INT CHECK(age > 18 AND age < 65)

);

 

6. 视图与存储过程

创建视图:

CREATE VIEW employee_info AS 

SELECT id, name, email FROM employees;

使用视图:

SELECT * FROM employee_info WHERE name LIKE 'J%';

存储过程:

定义:

DELIMITER //

CREATE PROCEDURE insert_customer(IN customer_name VARCHAR(50), IN customer_email VARCHAR(50))

BEGIN

    INSERT INTO customers (name, email) VALUES (customer_name, customer_email);

END//

DELIMITER ;

调用存储过程:

CALL insert_customer('Alice Johnson', 'alice@example.com');

 

7. 事务处理

开始、提交和回滚事务:

START TRANSACTION;

-- 执行一些操作,例如插入或更新记录

COMMIT;

-- 或者在错误发生时回滚

ROLLBACK;

 

总结

以上是SQL的一些基本知识点与高级应用。掌握了这些内容之后,你将能够高效地进行数据库的设计、创建以及查询等操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值