网站的定位分析,旅游网站建设项目报告论文,关键词排名优化网站建设公司哪家好,响应式网站代理学习 SQL#xff08;Structured Query Language#xff09;语法是数据库开发的基础#xff0c;主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作#xff0c;涵盖数据查询、插入、更新、删除等。
1. 数据库基础
数据库#xff1a;存储表和数据的集合。表Structured Query Language语法是数据库开发的基础主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作涵盖数据查询、插入、更新、删除等。
1. 数据库基础
数据库存储表和数据的集合。表由行记录和列字段组成。字段表中的列表示数据属性。记录表中的行表示具体的数据项。
2. SQL 基本操作
SQL 分为四种主要操作类型
数据查询语言 (DQL)用于查询数据如 SELECT。数据操作语言 (DML)用于修改数据如 INSERT、UPDATE、DELETE。数据定义语言 (DDL)用于定义和修改数据库结构如 CREATE、ALTER、DROP。数据控制语言 (DCL)用于权限控制如 GRANT、REVOKE。
3. 常用 SQL 语法
3.1. 创建数据库和表
-- 创建数据库
CREATE DATABASE my_database;-- 使用数据库
USE my_database;-- 创建表
CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),email VARCHAR(100),age INT
);CREATE DATABASE创建一个新数据库。CREATE TABLE创建一个新表定义字段及其数据类型。
3.2. 插入数据
-- 向表中插入数据
INSERT INTO users (name, email, age)
VALUES (Alice, aliceexample.com, 25);-- 插入多行数据
INSERT INTO users (name, email, age)
VALUES
(Bob, bobexample.com, 30),
(Charlie, charlieexample.com, 22);INSERT INTO插入新记录到表中。
3.3. 查询数据
-- 查询所有数据
SELECT * FROM users;-- 查询特定列的数据
SELECT name, email FROM users;-- 查询带条件的数据
SELECT * FROM users WHERE age 25;-- 使用别名Alias查询
SELECT name AS User Name, email AS Email Address FROM users;-- 排序查询结果
SELECT * FROM users ORDER BY age DESC;-- 限制查询结果
SELECT * FROM users LIMIT 5;SELECT从表中查询数据。WHERE条件查询。ORDER BY排序查询结果ASC 为升序DESC 为降序。LIMIT限制查询返回的记录数。
3.4. 更新数据
-- 更新数据
UPDATE users
SET age 28
WHERE name Alice;UPDATE修改表中的记录通常配合 WHERE 条件使用。
3.5. 删除数据
-- 删除记录
DELETE FROM users WHERE name Charlie;-- 删除表中的所有记录
DELETE FROM users;DELETE删除表中的数据。注意如果不加 WHERE 条件会删除所有记录。
4. 复杂查询
4.1. 聚合函数
-- 统计记录总数
SELECT COUNT(*) FROM users;-- 求平均年龄
SELECT AVG(age) FROM users;-- 查询最大和最小年龄
SELECT MAX(age), MIN(age) FROM users;COUNT计数。AVG求平均值。MAX 和 MIN求最大值和最小值。
4.2. 分组查询GROUP BY
-- 按年龄分组统计人数
SELECT age, COUNT(*) FROM users
GROUP BY age;GROUP BY用于将查询结果按某列分组通常与聚合函数一起使用。
4.3. 联合查询JOIN
-- 创建 orders 表
CREATE TABLE orders (order_id INT PRIMARY KEY AUTO_INCREMENT,user_id INT,product_name VARCHAR(100),amount DECIMAL(10, 2)
);-- 插入数据
INSERT INTO orders (user_id, product_name, amount)
VALUES (1, Laptop, 1000.00), (2, Phone, 500.00), (1, Tablet, 300.00);-- 联合查询查询用户及其订单
SELECT users.name, orders.product_name, orders.amount
FROM users
JOIN orders ON users.id orders.user_id;JOIN用于关联两个或多个表。 INNER JOIN默认的 JOIN 类型返回两张表中满足条件的记录。LEFT JOIN返回左表中的所有记录即使右表中没有匹配。RIGHT JOIN返回右表中的所有记录即使左表中没有匹配。
4.4. 子查询
-- 查询年龄最大的用户
SELECT * FROM users
WHERE age (SELECT MAX(age) FROM users);子查询在查询中嵌套其他查询。
5. 数据库的修改和删除
5.1. 修改表结构
-- 添加新列
ALTER TABLE users ADD phone VARCHAR(20);-- 修改列的数据类型
ALTER TABLE users MODIFY age SMALLINT;-- 删除列
ALTER TABLE users DROP COLUMN phone;ALTER TABLE修改表的结构如添加、修改或删除列。
5.2. 删除表和数据库
-- 删除表
DROP TABLE users;-- 删除数据库
DROP DATABASE my_database;DROP用于删除表或数据库删除操作不可恢复。
6. 事务Transaction
事务确保一组 SQL 操作要么全部执行成功要么全部回滚。
-- 开启事务
START TRANSACTION;-- 插入和更新操作
INSERT INTO users (name, email, age) VALUES (Dave, daveexample.com, 40);
UPDATE users SET age 41 WHERE name Dave;-- 提交事务
COMMIT;-- 如果出现错误回滚事务
ROLLBACK;START TRANSACTION开始事务。COMMIT提交事务使修改生效。ROLLBACK回滚事务撤销未提交的修改。
7. 总结
SQL 是管理和操作关系型数据库的关键工具掌握 SQL 基本语法和查询技巧可以高效地与数据库交互。通过学习创建、查询、更新、删除数据以及如何执行复杂查询和事务操作你可以有效地管理数据库中的数据。